RTSP录像的几种方式

这里介绍几种保存RTSP视频流的几种方式,欢迎补充。首先介绍下环境:操作系统是64位的CentOS 6.2 ,服务器采用的是Darwin Streaming Server 6.0.3 ,摄像头数据源用FFMPEG 0.6进行采集。

下面我以H.264编码为例进行介绍,其他编码格式读者参考相关文档进行扩展。

一、服务端数据采集

ffmpeg编码H.264数据流

ffmpeg -f video4linux2 -r 30 -i /dev/video0 -vcodec libx264 -subq 5 -g 250 -qmin 10 -qmax 51 -i_qfactor 0.71 -f rtp rtp://172.16.1.100:20000 > 1.sdp

DSS进行直播:将这里的1.sdp文件复制到 /usr/local/movies 目录,删除第一行(否则DSS无法识别,如果用ffplay播放的话一定要用第一行的声明)。

rtsp访问地址 : rtsp://172.16.1.100/1.sdp

二、RTSP录像

1、ffmpeg 录像

这里要注意的是参数和编码端的要一致,否则无法进行,录像命令如下:

ffmpeg -loglevel debug -i "rtsp://172.16.1.100/1.sdp" -vcodec libx264 -subq 5 -g 250 -qmin 10 -qmax 51 -i_qfactor 0.71 out.mp4

这里的录像文件为out.mp4可以用vlc电影播放机等进行播放

2openRTSP录像

openRTSP -t rtsp://172.16.1.100/1.sdp

或者设定时间(比如60秒):

openRTSP -t -d 60 rtsp://172.16.1.100/1.sdp

默认输出文件为video-H264-1,录像文件可以用电影播放机等工具播放。我这里只是做个demo,用到的朋友可以参考相关文档进行订制。

3VLC录像

这里以windows下vlc2.0.3,边播放边录像的命令如下:

vlc -vv rtsp://172.16.1.100/1.sdp :sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{dst=C:\\\\Users\\\\admin\\\\Desktop\\\\4.mp4}} :sout-keep

录像文件可以VLC进行播放

当然也可以借助图像界面进行操作,这个就不介绍了。

posted on 2012-07-24 22:09  Mike_Zhang  阅读(12341)  评论(4编辑  收藏  举报