Ffmpeg 如何使hls直播具有低延迟和高质量

Ffmpeg 如何使hls直播具有低延迟和高质量,ffmpeg,live-streaming,http-live-streaming,Ffmpeg,Live Streaming,Http Live Streaming,我使用以下代码从mp4文件创建实时流: ffmpeg -re -i input.mp4 -c:a aac -c:v libx264 -s uhd2160 -f hls -hls_list_size 0 2160p/out.m3u8 -c:a aac -c:v libx264 -s 2560x1440 -f hls -hls_list_size 0 1440p/out.m3u8 -c:a aac -c:v libx264 -s hd1080 -f hls -hls_list_size 0

我使用以下代码从mp4文件创建实时流:

ffmpeg -re -i input.mp4 
-c:a aac -c:v libx264 -s uhd2160 -f hls -hls_list_size 0 2160p/out.m3u8  
-c:a aac -c:v libx264 -s 2560x1440 -f hls -hls_list_size 0 1440p/out.m3u8  
-c:a aac -c:v libx264 -s hd1080 -f hls -hls_list_size 0 1080p/out.m3u8  
-c:a aac -c:v libx264 -s hd720 -f hls -hls_list_size 0 720p/out.m3u8  
-c:a aac -c:v libx264 -s hd480 -f hls -hls_list_size 0 480p/out.m3u8  
-c:a aac -c:v libx264 -s nhd  -f hls -hls_list_size 0 360p/out.m3u8 
-c:a aac -c:v libx264 -s cga  -f hls -hls_list_size 0 200p/out.m3u8
但在流媒体时间中,存在非常大的延迟。
这种延迟似乎存在于质量非常高的流式视频上,就像我在livestream中使用的视频(4k)一样。
我如何减少延迟减少内存使用

如何使hls直播具有低延迟和高质量

你不能

HLS本质上是分段的。。。在那一点上有相对较大的部分。你越是努力减少,你的开销就变得越极端。即使这样,在7秒或8秒以下也非常困难

您可以切换到面向低延迟的技术,如WebRTC,但也存在质量权衡。在低延迟的情况下,编解码器以这样一种方式进行优化,即他们更喜欢延迟而不是质量。。。质量受到影响。我不知道“高质量”对你来说是什么,但你必须决定在你的应用程序中什么对你真正重要


没有神奇的视频技术可以提供低延迟、高质量、高兼容性和易扩展性。这根本不起作用。放弃这一点,考虑对你来说真正重要的事情,为你的方案选择正确的折衷方案,如果你需要正确的技术,就需要一个新的问题。在我的测试中,每次至少延迟5秒。@Hokusai,你能告诉我你的建议吗?你可以使用对所有输出只编码一次音频,而不是对同一个流单独编码七次,从而使编码更有效。