使用树莓派专用摄像头实现rtsp流的方法总结

本文介绍三种利用树莓派摄像头实现RTSP流的方法,包括使用vlc、gstreamer和live555等工具。每种方法均提供详细步骤及测试效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


    

使用树莓派专用摄像头实现rtsp流的方法总结

           

对于树莓派专用摄像头,由于可以直接使用工具raspivid方便地对视频流进行获取,并支持多种输入输出格式,所以可以方便地实现摄像头实时rtsp流。


参考文章:  树莓派摄像头视频直播技术汇总

对于有效实现的方法总结如下


环境:树莓派3B+RaspiCam(排线连接)


1.raspivid获取+vlc实现rtsp服务器

实现rtsp流:

树莓派端:

  1. raspivid -o - -t 0 |cvlc -v stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264  
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流传输:

客户端 

  1. raspivid -o - -t 0 |cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8554}' :demux=h264  
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

  1. sudo apt-get update  
  2. sudo apt-get install gstreamer1.0  
sudo apt-get update
sudo apt-get install gstreamer1.0
step2.安装gst-rtsp需要的库文件
  1. sudo apt-get install libgstreamer*  
  2. sudo apt-get install gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly  
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-ugly
step3.编译安装gst-rtsp
  1. wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2  
  2. bzip2 -d gst-rtsp-0.10.8.tar.bz2  
  3. tar -xvf gst-rtsp-0.10.8.tar  
  4. cd gst-rtsp-0.10.8/  
  5. ./configure  
  6. sudo make  
wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2
bzip2 -d gst-rtsp-0.10.8.tar.bz2
tar -xvf gst-rtsp-0.10.8.tar
cd gst-rtsp-0.10.8/
./configure
sudo make
step4.获取视频流并输出到gstreamer
  1. 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  
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/

  1. ./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! rtph264pay name=pay0 pt=96 )"  
./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

  1. 获取live555最新源码  
  2. wget http://live555.com/liveMedia/public/live555-latest.tar.gz  
  3. 解压编译安装  
  4. tar -zxvf live555-latest.tar.gz  
  5. cd live  
  6. sudo ./genMakefiles linux  
  7. sudo make  
  8. sudo make install  
获取live555最新源码
wget http://live555.com/liveMedia/public/live555-latest.tar.gz
解压编译安装
tar -zxvf live555-latest.tar.gz
cd live
sudo ./genMakefiles linux
sudo make
sudo make install
step2. 安装库文件
  1. sudo apt-get update  
  2. sudo apt-get install libavcodec54   
  3. sudo apt-get install libswscale2  
  4. sudo apt-get install libx264-142  
sudo apt-get update
sudo apt-get install libavcodec54 
sudo apt-get install libswscale2
sudo apt-get install libx264-142
step3. 编译执行工具

下载源码 copy到/opt/vc/src/hello_pi/

根据/hello_pi/下的README编译安装iclient库

  1. cd live_camera_linux  
  2. sudo make  
  3. sudo make install  
  4. sudo ./zk_v4l2_x264_source  
cd live_camera_linux
sudo make
sudo make install
sudo ./zk_v4l2_x264_source
若出现

  1. [2464] WebcamOndemandMediaSubsession .... calling  
  2. using url "rtsp://192.168.1.102:9554/webcam"  
[2464] WebcamOndemandMediaSubsession .... calling
using url "rtsp://192.168.1.102:9554/webcam"
则成功实现


播放端:
使用vlc等工具播放rtsp流: rtsp://IP_of_Raspi:9554/webcam


测试效果:好,延迟与画面都尚可     实现难度: 可能遇到各种包缺失,且难以检查出错位置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值