发送视频文件并接收。我发现在收到第一帧之前有很长的延迟,大约 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
这是因为默认的 x264 关键帧间隔很长 - 250 帧。
保持低调。添加
-g 25
以获得 25 帧间隔。
此外,它有助于在发送者之前启动接收者。
我找到了答案,有一个
-analyzeduration
参数控制识别流类型所需的时间。默认是5秒,当我把它减少到1秒时(-analyzeduration 1000000
),电影开始得更快了
尝试使用最少的
-probesize 32
。这对我有用。
probesize 整数(输入)
设置探测大小(以字节为单位),即要分析以获取流信息的数据大小。较高的值将能够检测到更多信息(以防信息分散到流中),但会增加延迟。必须是不小于32的整数。默认为5000000。