我想从一些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?
答案 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