ffmpeg - 使用 ffmpeg 流式传输单个(持续更新的)图像文件
问题描述
我正在尝试将图像文件流式传输到 twitch - 这个想法是文件不断更新。
使用
ffmpeg \
-re \
-framerate 10 \
-loop 1 \
-f image2 \
-i "/path/to/file.png" \
-c:v libx264 \
-preset superfast \
-tune zerolatency \
-pix_fmt yuv420p \
-s 1000x1000 \
-r 25 \
-f flv rtmp://asdf.twitch.tv/app/asdf
流最初可以工作,但在修改并重新保存文件后,twitch 显示错误(There was a network error. Please try again. (Error #2000)
),而 ffmpeg 继续运行而没有任何错误。
然后,当我再次重新保存文件时, ffmpeg 停止,
[flv @ 0x7faa6201c200] Failed to update header with correct duration. 71.0kbits/s speed=0.659x
[flv @ 0x7faa6201c200] Failed to update header with correct filesize.
任何想法这里出了什么问题?
编辑:
-stream_loop -1
似乎没有帮助,因为我现在得到了这个:
解决方案
如果读取和写入不是原子的,则可能发生读取错误,image2 解复用器中止。替换-loop 1
为-stream_loop -1
使用将在失败时继续重试的通用循环代码。
推荐阅读
- r - 使用 geom_smooth() 绘图时使用 Theil-Sen 方法
- django - 创建将更改模型中的 BooleanField 的 Django HTML 按钮
- python - Django和docker中.env文件中的环境变量
- algorithm - N个移动点之间的最短距离
- java - 如何在java中创建具有不同语言名称的目录?
- html - 文章与部分。在这种情况下应该使用哪一个?
- reactjs - Reactjs路由css问题
- azure - 带有两个 csv 文件的 Azure terraform 参数不起作用
- python - 在没有库的情况下计算 ROC 的不同阈值
- excel - 将 excel 中的名称与中间名和额外空格匹配