Video 来自静态图像和音频的ffmpeg实时流
我正在尝试使用静态图像和音频文件通过ffmpeg实现livestream。ffmpeg命令如下所示 ffmpeg-re-loop 1-f image2-i'/tmp/11.jpg'-f lavfi-i amovie=/tmp/5117.mp3:loop=999-video_size 600x480-c:v libx264-x264参数keyint=60-bufsize 500k-c:aac-ar 44100-b:a 128k-r30-g60-pix_fmt yuv420p-f flv“rtmp://” /tmp/11.jpg由另一个进程生成,并每秒更新两次。ffmpeg命令看起来不正确,首先,它显示如下状态 帧=85 fps=9.4 q=29.0大小=2261kB时间=00:02:24.19比特率=128.4kbits/s速度=16x 正如您所看到的,16x不好,1x是livestream的正确值。然后,过了一会儿,它显示了许多类似这样的警告日志 [flv@0x322bd60]输出流中的非单调DTS 0:1;以前的:335993,现在的:297752;改为335993。这可能会导致输出文件中的时间戳不正确Video 来自静态图像和音频的ffmpeg实时流,video,ffmpeg,streaming,live-streaming,Video,Ffmpeg,Streaming,Live Streaming,我正在尝试使用静态图像和音频文件通过ffmpeg实现livestream。ffmpeg命令如下所示 ffmpeg-re-loop 1-f image2-i'/tmp/11.jpg'-f lavfi-i amovie=/tmp/5117.mp3:loop=999-video_size 600x480-c:v libx264-x264参数keyint=60-bufsize 500k-c:aac-ar 44100-b:a 128k-r30-g60-pix_fmt yuv420p-f flv“rtmp:
请帮助修复。电影过滤器不会重置时间戳,这是FLV muxer发出DTS警告的原因。您可以使用实时过滤器减慢输出视频处理速度
ffmpeg -loop 1 -f image2 -i '/tmp/11.jpg'
-f lavfi -i amovie=/tmp/5117.mp3:loop=999,asetpts=N/SR/TB
-vf realtime,scale=600:480,format=yuv420p
-r 30 -g 60 -c:v libx264 -x264-params keyint=60 -bufsize 500k
-c:a aac -ar 44100 -b:a 128k -f flv "rtmp://"
太奇怪了。请在此处检查ffmpeg输出:首先,它显示速度=xx<1x->视频可以播放。然后速度增加到18.5倍,如图所示。红线,我想是因为我每0.5秒更新一次图像。你能帮我把它修好吗ffmpeg-loop 1-f image2-i'/github.png'-f lavfi-vf realtime,scale=1280:720,format=yuv420p-r 30-g 60-c:v libx264-x264-params keyint=60-bufsize 2500k-c:aac-ar 44100-b:a 128k-f flv“rtmp://push.youstreamer.com/in/19908?8daa05f46cb19c9a358ca69ccb4ab839"