socket——树莓派通过csi摄像头实时传输rtsp流

https://blog.csdn.net/u012736685/article/details/77131633/

之前参考过以上的博客实时传输视频流,他是基于socket和opencv传递每个像素。
但是效果真的不是很好,在720p的情况下,帧数只有4左右,效果很差。

https://blog.csdn.net/secho1997/article/details/53526784

以上博客是树莓派传递rtsp流的对比

方式 难度+效果
raspivid获取+vlc实现rtsp服务器 测试效果: 差 实现难度:低
rapivid获取+gstream转发+gst-rtsp实现rtsp服务 测试效果: 差,会出现图像模糊 实现难度:中
调用v4l2接口捕获视频+live555实现rtsp服务 测试效果:较好,有延迟 实现难度:出现文件的缺失

接下来,具体介绍下,第三种方式在树莓派上的实现方法。

  1. 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 
  1. x264配置
sudo apt-get install libavcodec-dev
sudo apt-get install libswscale-dev 
sudo apt-get install libavutil-dev

//x264
 git clone git://git.videolan.org/x264.git
 cd x264
 ./configure
 sudo make
 sudo make install
  1. 开源的live555案例
    3.1下载源码
    https://pan.baidu.com/s/1C-eZpiJqfEYH05-0Yb9pUw
    提取码:k9r9
    3.2把解压出来的文件,放到树莓派
    /opt/vc/src/hello_pi/目录下
cd /opt/vc/src/hello_pi/live_camera_linux   //看下文件夹位置对不对

cd /opt/vc/src/hello_pi   //修改live_camera_linux目录下的makefile文件,把live555修改到对应的文件夹下
make -C libs/ilclient
make -C libs/vgfont        //解决makefile下ilclient和vgfont文件缺失的问题
cd /opt/vc/src/hello_pi/live_camera_linux
sudo make

./zk_v4l2_x264_source  

若出现:
[2464] WebcamOndemandMediaSubsession … calling
using url “rtsp://192.168.1.124:9554/webcam”
表示成功了,使用VLC播放器或者VS+opencv都可以播放rtsp视频流,实测:
480p-18ping
720p-16ping
1080p-4ping
并且有3秒左右的延迟
问题:
socket——树莓派通过csi摄像头实时传输rtsp流_第1张图片
make的时候出现的问题,至今不知道为什么,但是不影响程序的编译成功,而且改不了摄像头的很多参数,比如曝光和亮度等。
参考:https://blog.csdn.net/u013062192/article/details/80210166

你可能感兴趣的:(socket——树莓派通过csi摄像头实时传输rtsp流)