linux - 如何告诉ffmpeg按顺序遍历目录中的所有文件

标签 linux bash loops ffmpeg

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 文件

所以基本上我想要一个循环,每次上一个结束时将输入更改为下一个文件。

最佳答案

也许您可以使用 findxargs 来帮助您为 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/

相关文章:

python - CentOS 6.6 默认使用 Python 2.6,运行 Swift 命令时会抛出语法错误

excel - 循环内的运行时错误 91(对象变量或未设置 block 变量),但代码在其外工作

python - 如果用户输入他们想再次玩,我如何才能在 python 中选择你自己的冒险故事来重新开始?

r - 在r中重命名列的循环

linux - 如何使用我的 debian 软件包安装软件包?

linux - lfd (csf) - 防止来自某些用户的 SSH 登录警报

linux - 如何使用 grep 只获取没有路径的文件名

Linux bash 脚本基础知识条件语句

bash - 如何编写一个 shell 脚本来重复 java 程序特定次数?

linux - Linux gcc 支持 coreleft 函数吗?