使用树莓派专用摄像头实现rtsp流的方法总结
来源:互联网 发布:网络交友的利与弊400 编辑:程序博客网 时间:2024/04/27 17:38
对于树莓派专用摄像头,由于可以直接使用工具raspivid方便地对视频流进行获取,并支持多种输入输出格式,所以可以方便地实现摄像头实时rtsp流。
参考文章: 树莓派摄像头视频直播技术汇总
对于有效实现的方法总结如下
环境:树莓派3B+RaspiCam(排线连接)
1.raspivid获取+vlc实现rtsp服务器
实现rtsp流:
树莓派端:
raspivid -o - -t 0 |cvlc -v stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264解释如下: raspivid 采集视频流后 -o <option> 写入到输出,当<option>为 - 时表示输出到标准输出(stdout).再通过管道命令,cvlc从标准输入得到数据,并启动rtsp服务。
播放端:
使用vlc ,quickplay 等打开rtsp流:rtsp://IP_of_Raspi:8554/
此工具亦可实现http流传输:
客户端
raspivid -o - -t 0 |cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8554}' :demux=h264播放端: http://IP_of_Raspi:8554/
测试效果: 差 实现难度:低
2.rapivid获取+gstream转发+gst-rtsp实现rtsp服务
树莓派端:
step1. 安装 gstream 1.0
sudo apt-get updatesudo apt-get install gstreamer1.0step2.安装gst-rtsp需要的库文件
sudo apt-get install libgstreamer*sudo apt-get install gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-uglystep3.编译安装gst-rtsp
wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2bzip2 -d gst-rtsp-0.10.8.tar.bz2tar -xvf gst-rtsp-0.10.8.tarcd gst-rtsp-0.10.8/./configuresudo makestep4.获取视频流并输出到gstreamer
raspivid -t 0 -w 800 -h 600 -fps 25 -g 5 -b 4000000 -vf -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! tcpserversink host=127.0.0.1 port=5000在另一终端打开gst-rtsp服务,先进入:gst-rtsp-0.10.8/exemples/
./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! rtph264pay name=pay0 pt=96 )"
客户端播放:
vlc或其他播放器打开 rtsp流: rtsp://IP_of_Raspi:8554/test
测试效果: 差,会出现图像模糊 实现难度:中 gstreamer安装与gst-rtsp安装可能出现库缺失问题
3.调用v4l2接口捕获视频+live555实现rtsp服务
树莓派端:
step1. 安装live555
获取live555最新源码wget http://live555.com/liveMedia/public/live555-latest.tar.gz解压编译安装tar -zxvf live555-latest.tar.gzcd livesudo ./genMakefiles linuxsudo makesudo make installstep2. 安装库文件
sudo apt-get updatesudo apt-get install libavcodec54 sudo apt-get install libswscale2sudo apt-get install libx264-142step3. 编译执行工具
下载源码 copy到/opt/vc/src/hello_pi/
根据/hello_pi/下的README编译安装iclient库
cd live_camera_linuxsudo makesudo make installsudo ./zk_v4l2_x264_source若出现
[2464] WebcamOndemandMediaSubsession .... callingusing url "rtsp://192.168.1.102:9554/webcam"则成功实现
播放端:
使用vlc等工具播放rtsp流: rtsp://IP_of_Raspi:9554/webcam
测试效果:好,延迟与画面都尚可 实现难度: 可能遇到各种包缺失,且难以检查出错位置
0 0
- 使用树莓派专用摄像头实现rtsp流的方法总结
- 使用树莓派专用摄像头实现rtsp流的方法总结
- 使用树莓派专用摄像头实现rtsp流的方法
- 树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像
- 树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像
- FFmpeg+Qt实现摄像头(rtsp)实时显示
- qt使用libvlc库的方法,RTSP播放器的实现(windows、Linux)
- Python的专用方法
- 各主流摄像头的rtsp地址格式
- FFmpeg实现监控摄像头的RTSP协议转RTMP协议直播
- FFmpeg实现监控摄像头的RTSP协议转RTMP协议直播
- FFmpeg实现监控摄像头的RTSP协议转RTMP协议直播
- [good]ffmpeg直接获取rtsp监控摄像头流信息实现远程监控
- ECB:在固态硬盘通过使用专用闪存控制器实现一种有效的Copy-Back操作策略 阅读总结
- ffmpeg源码修改以适应海康摄像头rtsp流的aac音频
- 使用vlc进行摄像头捕获、RTSP串流、播放
- IOS开发之使用RTSP协议读取海康摄像头
- 使用VLC产生一个RTSP源的方法
- ubuntu安装uvlayout
- 白话快速排序
- raw_input() 与 input() 区别 -- Python
- js中的定时器
- 脚本与脚本之间的调用
- 使用树莓派专用摄像头实现rtsp流的方法总结
- Android开发——selector文件属性的用法。
- Tomcat之——SSI的配置
- 第一章-网络工程概述
- rect类
- 重构-改善既有代码的设计读书笔记(四)
- git rm如何删除中文文件名的文件
- linux清空文件的几种常见方法
- UINavigationController 背景图片穿透导航栏以及一级界面系统自带右滑手势卡死