0

我需要帮助来创建 cron 作业脚本。基本上,我想抓取下一个预定项目并通过 ffmpeg 运行它以进行流式传输。这将是 mysql 查询(我使用 PHP 变量来指示应该去那里 - 我实际上并不知道变量在 cron 作业中是如何工作的):

SELECT show.file FROM show, schedule
WHERE channel = 1 AND start_time <= $current_time;

这将是 ffmpeg 命令:

ffmpeg -re -i $file http://127.0.0.1:8090/feed.ffm

我将如何创建一个 cron 作业来执行这些命令?

4

1 回答 1

1

首先恕我直言,您不需要将当前时间传递给您的选择语句,只需使用CURRENT_TIME

SELECT `show.file` 
  FROM show, schedule 
 WHERE channel = 1 AND start_time <= CURRENT_TIME;

根据您实际表的 DDL ,您可能需要进行一些转换才能正确比较时间值。

假设您的查询正确并仅返回一个文件名,您可以使用 mysql 执行查询,将结果输出到预定义文件并使用&&链接ffmpeg命令

mysql -u user -ppassword dbname -sN -e \
 "SELECT show.file \
 FROM show, schedule \
 WHERE channel = 1 AND start_time <= CURRENT_TIME" > /tmp/cur_show_file && \
 ffmpeg -re -i /tmp/cur_show_file http://127.0.0.1:8090/feed.ffm
于 2013-03-09T06:29:35.213 回答