openRTSP默认25fps编码(不是24)

时间:2015-10-23 04:49:59

标签: linux encoding rtsp frame-rate avconv

我想从一些IP摄像头捕获RTSP流,在环顾四周后,我发现了两个很棒的工具:avconv和openRTSP

openRTSP -u user password rtsp://10.48.34.125/axis-media/media.amp
avconv -i "rtsp://user:password@10.48.34.125/axis-media/media.amp" -vcodec copy -f mp4 10.48.34.125.mp4

但是出于某种伏都教的原因,我需要使用没有特定扩展名的网址,例如:

rtsp://user:password@10.48.34.46/

avconv返回401 Unauthorized

所以我现在仍然坚持使用openRTSP ......

事实上,与avconv不同,openRTSP输出一个编码为25fps的原始文件,这使得我的一些视频看起来像是快进的地方。我找到了一种(cpu昂贵的)方法来将文件重新编码为更接近我所需的帧速率:

avconv -r 7 -i video-H264-1 -r 24 -f mp4 10.48.34.28.mp4

(在这个例子中,我强制原始文件的帧速率为7,输出文件的帧速率为24.我尝试使用openRTSP内置标志,但输出文件仍然有一个帧率25:openRTSP -f 7 -u user password rtsp://10.48.34.145/mpeg4/media.3gp

可悲的是,视频在某些点看起来很奇怪,这是因为原始流有时具有可变的帧速率(例如在晚上)。

我的问题是,是否有某种方法可以将此默认encondig设置为25fps?

为什么25?我的意思是,不是常态24?

1 个答案:

答案 0 :(得分:0)

尝试:

avconv -rtsp_transport tcp -i rtsp://server -an -vcodec copy -f mp4 10.48.34.28.mp4

如果您想将原始视频速率更改为24,则必须对其进行转码:

avconv -rtsp_transport tcp -i rtsp://server -an -vcodec libx264 -r 24 -f mp4 10.48.34.28.mp4