mysql - 使用数据库结果的 Cron 作业

标签 mysql variables ffmpeg cron

我需要帮助来创建 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 作业来执行这些命令?

最佳答案

首先,恕我直言,您不需要将当前时间传递给 select 语句,只需使用 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

关于mysql - 使用数据库结果的 Cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15307313/

相关文章:

mysql - 如何选择不属于用户组的用户结果集

arrays - Powershell 范围 : variable array within loop not populating when adding to second array

video - 如何在 ffmpeg windows 中启用 libvorbis 编解码器?以及如何从 .mov 转换为 .webm

mysql - 检查其他列中的匹配项

php - 每个查询有两个循环

mysql - 将数据字段拆分为两列并将其插入现有表(MYSQL)

python - 变量名称给出语法错误(Python)

C++。可以做到这一点而不会出现错误 : 'was not declared in this scope'

image - 上传图片生成特效视频

video - 缩小视频大小