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,电影播放机等进行播放。
2、openRTSP录像
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,用到的朋友可以参考相关文档进行订制。
3、VLC录像
这里以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进行播放。
当然也可以借助图像界面进行操作,这个就不介绍了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)