我使用ffmpeg
来生成用于 HLS 的片段文件。这是在实时视频流上完成的,我ffmpeg
在收到 H264 帧时将其传输到 。帧速率约为 10fps,我希望每个片段为 1 秒的视频。这可行,只是在我开始发送帧的时间ffmpeg
和创建第一个片段文件的时间之间有大约 10 秒的延迟。当我看到创建的第一个片段文件时,我已经将大约 120 帧写入ffmpeg
。这是我正在运行的命令:
ffmpeg -report -r 10.3 -i pipe:0 -c:v h264 -flags +cgop -g 10 -hls_time 1 out.m3u8
我是 的新手用户,ffmpeg
所以我想知道我是否做错了什么。有没有办法让它在获得所需的帧后立即创建段文件?
输出-report
如下:https://drive.google.com/file/d/1HqKG8sA3fLk_DwKUv323ybNHA6QKRhJm/view?usp=sharing
更新:我能够通过使用-probesize
较小的值(我尝试了 5000)来降低延迟。现在,在发送大约 40 帧后,我可以看到第一个文件。