我想从FFmpeg获得帧。
我为视频和音频转换尝试了不同的编解码器和选项,但这是一个简单的例子:
ffmpeg -i rtmp://输入-vn -c:一个libmp3lame -f mp3 -reservoir 0 http://127.0.0.1:7885
并且localhost上还有一个http服务器,它获取数据并在连续的块之间输出时序。
它似乎是批量获取(当调用ffmpeg.c中的transcode_step - > reap_filters - > do_video_out / do_audio_out时),并且其间有0.5-1.5秒的暂停。
不同的选项,如-maxrate,-bufsize,-g,-muxdelay,-tune zerolatency似乎没有任何区别。
修改
似乎设置-re(以本机帧速率读取输入)消除了这个问题,但是它说'不应该用于实际的抓取设备或实时输入流(它可能导致数据包丢失)。'。