ffmpeg 对此有 concat 选项,但所有流在流式传输一天后开始工作非常糟糕并且声音中断。
我尝试查看循环,但我无法弄清楚如何使用 ffmpeg 命令执行循环,以便它转码 1 个目录中的所有文件
/lely/ffmpeg -y -re -i/home/ftp/kid1.mp4 -vcodec copy -acodec copy -dts_delta_threshold 1000 -ar 44100 -ab 32k -f flv rtmp://10.0.0.17:1935/live/ child
在文件夹/home/ftp/中有文件 kid1、kid2、kid3 - 所有 *.mp4 文件
所以基本上我想要一个循环,每次上一个结束时将输入更改为下一个文件。
最佳答案
也许您可以使用 find
和 xargs
来帮助您为 ffmpeg
提供文件:
find /home/ftp -name "*.mp4" | xargs -I $ /lely/ffmpeg -y -re -i $ -vcodec copy -acodec copy -dts_delta_threshold 1000 -ar 44100 -ab 32k -f flv rtmp://10.0.0.17:1935/live/kid
在这里,您首先要求find
查找/home/ftp 中的所有mp3 文件。
然后将结果提供给 xargs
。对于 xargs,您告诉它用 ffmpeg
字符串中的标记 $
替换它接收到的输入。
关于linux - 如何告诉ffmpeg按顺序遍历目录中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320187/