有没有办法使用 ffmpeg 将图像(如视频)流式传输到 rtmp 服务器。但不同之处在于它应该播放特定的时长。
例如,在 rtmp 服务器(youtube)上显示图像约 2 分钟。然后停止流式传输?
答案1
在 ffmpeg 命令行中使用-re -t 120
,120 秒后停止编码。
另一种解决方案是从脚本启动命令并在两分钟后终止进程。这可以通过异步启动进程、记住进程 ID 并在休眠两分钟后终止它来实现。或者使用timeout
公用事业来自 GNU coreutils。
注意: -re
当您想要直接流式传输到 RTMP 或 UDP 时,是必需的。因为如果没有此标志,ffmpeg 将尽可能快地渲染输出,从而提前停止流。当您想从图片创建输出视频文件时,-re
和 一起-t 120
意味着编码在 120 秒后停止。