ffmpeg 接收第一帧之前有很长的延迟(5-8 秒)

问题描述 投票:0回答:3

发送视频文件并接收。我发现在收到第一帧之前有很长的延迟,大约 5-8 秒:

::sender.bat
ffmpeg -re -i sample.mp4 -vcodec h264 -tune fastdecode -tune zerolatency -f mpegts udp://127.0.0.1:1234

::receiver.bat
ffmpeg -i udp://127.0.0.1:1234 -y output.mp4

ffmpeg
3个回答
2
投票

这是因为默认的 x264 关键帧间隔很长 - 250 帧。

保持低调。添加

-g 25
以获得 25 帧间隔。

此外,它有助于在发送者之前启动接收者。


1
投票

我找到了答案,有一个

-analyzeduration 
参数控制识别流类型所需的时间。默认是5秒,当我把它减少到1秒时(
-analyzeduration 1000000
),电影开始得更快了


0
投票

尝试使用最少的

-probesize 32
。这对我有用。

probesize 整数(输入)
设置探测大小(以字节为单位),即要分析以获取流信息的数据大小。较高的值将能够检测到更多信息(以防信息分散到流中),但会增加延迟。必须是不小于32的整数。默认为5000000。

© www.soinside.com 2019 - 2024. All rights reserved.