我有一个视频流,我想通过RTMP播放。
我使用ffmpeg这样做,并使用以下命令:
ffmpeg -i http://192.168.1.77:18000/stream.flv -c copy -f flv rtmp://localhost/myapp/mystream据我所知,将视频流转码会带来一些延迟。因此,我的问题是:我是否可能使用这个ffmpeg命令(copy)在输出流中引入延迟?
附带注意:我正在尝试将我的实时视频流重定向到一个nginx服务器,以便通过RTMP为几个jwplayers播放它。到目前为止,我得到了1秒的延迟和一些帧,我想知道是否有可能减少它。
发布于 2014-03-24 11:11:44
我解决了我的问题!
最后,我尝试使用不同的播放器和不同的设置,并设法获得了一些帧延迟(或者根本没有延迟),所以我想这个ffmpeg命令根本没有引入延迟。
为了记录在案,我使用了以下设置的flowplayer:
$f("streams", "http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf", {
clip: {
url: 'mystream',
provider: 'rtmp',
live: true,
bufferLength: 0,
bufferTime: 0,
},
plugins: {
rtmp: {
url: 'flowplayer.rtmp-3.2.3.swf',
netConnectionUrl: 'rtmp://192.168.1.196:1935/myapp'
}
}
});发布于 2014-03-20 16:18:22
每件事都会带来一些延迟。没有什么是免费的,时间在继续前进。1秒对rtmp真的很好。为了减少延迟,您需要减少摄入和传递之间的步骤。最好的方法是使用检测到的服务器产品,如wowza或FMS。
https://stackoverflow.com/questions/22535827
复制相似问题