【发布时间】:2017-10-31 13:27:23
【问题描述】:
输入文件
- 由 Python 脚本每 5 秒更新一次的叠加图像
- 一个小的 MP4 文件,将由 concat 输入循环
- 作为音频源的 MP3 文件
命令(更新)
这是我目前用来组合和流式传输输入的命令。
ffmpeg -re -i music.mp3 -f concat -i videoincludes.txt
-r 1 -loop 1 -f image2 -i overlay.png
-c:v libx264 -c:a aac -shortest -crf 23 -pix_fmt yuv420p
-maxrate 2500k -bufsize 2500k -preset ultrafast -r 30 -g 60 -b:v 2000k -b:a 192k -ar 44100
-filter_complex "[1:v][2:v] overlay=0:0" -map 0:a -strict -2
-f flv rtmp://a.rtmp.youtube.com/live2/{key}
Als 尝试使用 -framerate 1 而不是 -r 1
问题
所以问题是图像并不总是更新。有时它会在开始时每隔几秒钟更新一次,但它会在 10-20 秒后停止更新,而日志输出没有任何差异,有时它只是不更新。
然而,我可以确认图像正在由 Python 脚本更新,但 FFmpeg 只是没有接收到它。
我阅读了将图像的输入格式设置为image2 应该允许它更新所以我不确定什么是错误的或者我可以做些什么来改进它。
【问题讨论】:
-
不在我现在可以测试的 comp 上,但尝试将
-r 1更改为-framerate 1并在其旁边添加-re。 -
尝试了这两个标志,但似乎都没有解决问题:(
-
@Mulvya 所以我做了一些测试,似乎问题是图像文件与前一个文件的差异不足以触发 ffmpeg 更新文件输入,任何想法这个?
-
我在这里测试一下。
标签: ffmpeg stream video-streaming video-encoding