我正在尝试在网络上传输静态图像。到目前为止我尝试过的一切都失败了: 例子:
ffmpeg -y -stream_loop -1 -r 1 -i text2.png -vcodec libx264 -crf 17 -pix_fmt yuv420p -f mpegts udp://239.1.250.12:1234
文件已生成,但无法通过 VLC 或任何其他支持 TS 的设备播放。 ffplay 抱怨输入帧错误,但几秒钟后仍然生成图片。
尝试过使用 YouTube 解决方案以及本地文件。 ffmpeg -f image2 -loop 1 -i text1.jpg -re -f lavfi -i anullsrc -vf format=yuv420p -c:v libx264 -b:v 2000k -maxrate 2000k -bufsize 4000k -g 50 -c:a aac test_flt .mkv
警告,编解码器选项 b 未用于任何流:看起来它们不是来自 image2 解复用器的流。
问题: 有人成功地实现了这一目标吗? 如果可以的话对输入图片有什么具体要求吗?
要使用 ffmpeg 流式传输静态图像,您需要确保图像被连续读取为帧,然后编码为可流式传输格式。
这是我的方法(在mpv播放器上测试):
ffmpeg -loop 1 -framerate 1 -i text2.png -vf "format=yuv420p" -c:v libx264 -tune stillimage -crf 17 -f mpegts udp://239.1.250.12:1234