Linux使用mjpg-streamer进行图像传输

        图像传输是一项在Linux操作系统中比较常见的一个操作,在视频图传时,一般是采用MJPG-streamer来进行图像传输,本文就以树莓派为例子,来示范一个图像传输。

1.树莓派的摄像头激活

        首先更新树莓派

sudo apt-get update
sudo apt-get upgrade

        随后打开树莓派的配置界面,选择Interface Option

sudo raspi-config

        在 Interface Option选择Camera,使能摄像头

         在Enable摄像头之后,重启树莓派

sudo reboot

2.安装相关的依赖库

sudo apt-get update
sudo apt-get install subversion
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git

3.在github上将开源的文件git到本地        

        GitHub上是有MJPG-streamer的开源文件的,有感兴趣的读者可以去看看

mjpg-stream的GitHub开源网址

        将git到的文件进行编译

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install

4.启动mjpg-stream

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

        在这个时候,应该就可以启动mjpg-streamer的视频流传输了,在他们的官网上,输入你的ip地址,就可以看到实时传输的视频,视频传输的时延不高,大概在0.几秒左右

        传输的视频

http://192.168.43.128:8080/?action=stream

        mjpg-streamer的官网

http://192.168.43.128:8080/

5.将mjpg-streamer设置为开机启动

        创建一个 “systemd”服务文件

sudo nano /etc/systemd/system/mjpg-streamer.service

        在编辑器加入以下内容,确保路径与你的mjpg-stream实际路径匹配:

[Unit]
Description=MJPG Streamer
After=network.target

[Service]
ExecStart=/home/pi/Application/mjpg-streamer/mjpg-streamer-experimental/start.sh
WorkingDirectory=/home/pi/Application/mjpg-streamer/mjpg-streamer-experimental
Restart=always
User=pi
Group=pi
Environment=LD_LIBRARY_PATH=/home/pi/Application/mjpg-streamer/mjpg-streamer-experimental

[Install]
WantedBy=multi-user.target

解释: 

        ExecStart:指向启动 mjpg_streamer 的脚本。
        WorkingDirectory:指定工作目录。
        Restart=always:确保服务在崩溃后自动重启。
        User 和 Group:以 pi 用户和组运行服务。
        Environment:设置环境变量(如 LD_LIBRARY_PATH),确保正确加载库。

         重新加载Systemd配置

sudo systemctl daemon-reload

        启动和启用服务

sudo systemctl start mjpg-streamer
sudo systemctl enable mjpg-streamer

        关闭开机自启动

sudo systemctl disable mjpg-streamer

        关闭服务

sudo systemctl stop mjpg-streamer

mjpg-streamer 可以通过文件或者是HTTP方式访问linux UVC兼容摄像头。可以在公司,通过访问家里安装的摄像头查看家里的情况,对于有小孩的家长很有帮助。 1.安装辅助工具 在树莓派上执行: sudo apt-get install libjpeg8-dev sudo apt-get install cmake 2.解压master,zip 在树莓派上执行:unzip master.zip 3.编辑源文件 在树莓派上执行: cd mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_raspicam (移动到mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_raspicam) nano input_raspicam.c (用nano编辑input_raspicam.c文件) 进入nano页面后,按下ctrl+w(搜索),输入fps,回车 将fps改成30,width=320,height=240 4.编译mjpg软件 在树莓派上执行: cd .. cd ..(同一个命令执行两次,目的是为了返回到目录mjpg-streamer-experimental) make clean all 5.制作mjpg的启动脚本 在树莓派上执行: cd nano jk.sh 将下面两条命令复制进去 cd mjpg-streamer-master/mjpg-streamer-experimental #USB摄像头 ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www" #树莓派摄像头 #./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www" 像上面一样,按ctrl+x,再按y,再回车(保存,退出) 继续,在树莓派上执行: chmod 744 jk.sh 6.执行mjpg的启动脚本(启动mjpg) 在树莓派上执行: sh jk.sh 最后,在浏览器上打开:(我用的是chrome浏览器) http://你树莓派的ip:8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

—你的鼬先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值