最近在做一个项目,想要使用树莓派实时的将摄像头内容发送给PC端,然后就开始了一个下午的漫漫调BUG路。
网上关于树莓派实现rtsp流的视频传输的资料很多,但是由于版本以及一些源的问题,很多都存在一定的问题,但是也具有很大的参考价值。下面将我参考的文章贴出来,谢谢这些大佬前辈们的分享。
opencv中VideoCapture的使用——打开网络摄像头/图像序列: https://blog.youkuaiyun.com/tfygg/article/details/50404861(这篇文章的代码基本可以直接拷贝,只需要修改rstp的ip。可以初步实验是否已经成功配置成功)
使用树莓派专用摄像头实现rtsp流的方法:https://blog.youkuaiyun.com/leeyunj/article/details/53872177(这篇文章的步骤流程是正确,但是由于时间较远,很多源无法更新库,我将在下面列举我的解决方法。)
step1. 安装live555
- 获取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
(在Step1中基本没有出现什么问题)
step2. 安装库文件
- sudo apt-get update
- sudo apt-get install libavcodec54
- sudo apt-get install libswscale2
- sudo apt-get install libx264-142
(在这第二部,我从2到4,全部失败,将2和3改用
sudo apt-get install libavcodec-dev
sudo apt-get install libswscale-dev
sudo apt-get install libavutil-dev
4的libx264参考文章https://blog.youkuaiyun.com/a805995924/article/details/39435261。安装x264时候./configure --enable-shared --enable-pthread --enable-pic改成./configure)
Step3. 编译执行工具
下载源码后,copy到/opt/vc/src/hello_pi/
根据/hello_pi/下的README编译安装iclient库
- cd live_camera_linux
- sudo make
- sudo make install
- sudo ./zk_v4l2_x264_source
- [2464] WebcamOndemandMediaSubsession .... calling
- using url "rtsp://192.168.1.102:9554/webcam"
则成功实现
(在这一步中,下载完源码,要放到那个路径下,然后按照/opt/vc/src/hello_pi/中README步骤做,这里贴一张README注释的图
这里进入live_camera_linux后,基本都会出错,在保证前面步骤没出错后,这里会出现库文件丢失,不要慌,是因为版本更新,导致的文件名字改变,打开live_camera_linux中的Makefile,找到其中你确实的库,到它的路径中去寻找它的新的名字,一般都是在原来的名字的基础上加一点后标什么的,很容易找到。然后第三步的sudo make install我这里显示直接失败,但是运行第四步依然成功了,不知道为啥,啊哈哈)
经历了一下午的折腾,最终运行了测试代码,成功实现了功能。如果大家在树莓派上不能下载库或者包什么的,可以电脑下载好传给树莓派。最后上一张结果图,人丑,打上粗糙的马赛克。