使用FFMPEG / nginx到浏览器的RTP直播

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

我有一个流式转码器,它将高带宽光纤流转换为多播RTP流。我希望能够在浏览器中将此流显示给客户端。如果我理解正确,有2个问题:

  1. 客户端很可能不支持通过其网络进行多播
  2. 无法在浏览器中播放RTP,因此需要将其转换为另一种格式

我到目前为止所做的(使用FFMPEG):

方法1:不进行流复制就将流复制到.m3u8,然后将其托管到Web服务器(Nginx)ffmpeg -protocol_whitelist file,udp,rtp -i ./stream.sdp -c:v copy -c:a copy -bufsize 50k -flags -global_header -hls_time 1 -f hls -hls_playlist_type event -hls_list_size 3 ./video/stream.m3u8

方法2:在Nginx上启用HLS并将流转换为RTMPffmpeg -protocol_whitelist file,udp,rtp -i ./stream.sdp -vcodec libx264 -vprofile baseline -acodec aac -strict -2 -f flv rtmp://localhost/show/stream

这两种方法都可以正常播放直播,但延迟仍然保持在5秒左右。

有什么方法可以使直播速度更快?多点广播直播流最大延迟约1秒。

nginx ffmpeg live-streaming
1个回答
0
投票

Both of these methods result in a working livestream, but the delay remains around 5 seconds.

对于HLS,这实际上真的很不错。是的,有一些方法可以使Luke WebRTC和CTE更快。但是没有什么标准,您必须自己开发播放器和大量基础结构。

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