OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7487|回复: 3

分享一个之前做的阿尔法的mjpg-streamer的移植

[复制链接]

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-26
在线时间
27 小时
发表于 2020-3-29 23:06:55 | 显示全部楼层 |阅读模式
本帖最后由 KawhiLeonard 于 2020-3-29 23:13 编辑

毕业设计就是搞这个,其实并不太难,但是做的时候还有原来构思的时候,不知道很多东西,所以觉得难罢了。


所以需要移植JPEG库,下载的安装包解压之后
  • 配置:./configure --prefix=/home/ljh/jpeg --host=arm-linux-gnueabihf,就会生成Makefile
  • 然后make编译
  • 最后make install,就会在各个prefix指定的目录下,有四个文件夹,分别是bin,include,lib,share。

把出来的库文件全部放到开发板的环境变量中,或者可以粗暴一点,直接弄到/lib中。


jpeg的就这样了。


==========================
==========================


然后是mjpg-streamer,网上很多源码都是有漏洞的,特别是有一个很多人参考的,现在工程移植到了github,我发现有一个很关键的Makefile是没了,关键是,没有这个Makefile,居然还能用,我交叉编译出来的,还是个x86的,说明有些Makefile根本没起作用。


别管了,用我的这一个吧,步骤其实很简单,很多博客也是有的。


第一步:
首先修改所有Makefile的编译工具链。一个一个改就是瞧不起我强大的sed命令咯?
sed  -i  's/CC = gcc/CC = arm-linux-gnueabihf-gcc/g' `grep -rl "CC = gcc" .`
修改交叉编译工具链

第二步:
修改plugins中input_uvc目录下的Makefile文件
                修改
                CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
                为
                CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/ljh/jpeg/include
                修改
                $(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
                为
                $(CC) $(CFLAGS) -ljpeg -L/home/ljh/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo


               红色的是你的jpeg的两个目录,一个是头文件路径,一个是库文件路径
]              /***在这里我第一次第二次移植的时候会出现些问题,但是成功的这一次没有,有可能会提示你找不到jpedlib.h文件,但是你明明设置对了头文件路径,也明明在里面,但是他就是说没找到,这里可以很粗暴的,直接在代码中,用决定路径来包含头文件     #include "xxx/xxx/jpeglib.h",当然这个对移植性很不好。***/

第三步:

直接make,成功(哇,太突然了吧,用file查看是不是ARM架构的了)

拷贝mjpg根目录下的所有.so文件到开发板上,mjpg-streamer拷贝到开发板的bin目录





最后,amazing时刻
mjpg_streamer -i "/home/root/mjpg/input_uvc.so -d /dev/video0 -y -r 640x480 -f 10" -o "/home/root/mjpg/output_http.so -w ./www"
我用的是OV摄像头,是YUYV格式的,所以需要-y,在我的板子里面是video0,-r用于指定尺寸,命令其实和树莓派用mjpg是差不多的,-w ./www可以输出到局域网查看,谷歌或者火狐浏览器中http://开发板的IP:8080/?action=stream,IP填你自己的开发板IP,必须同一个局域网。

现在在想怎么突破局域网限制,可能是用到boa等嵌入式web服务器,不知道大家有没有好的方案可以做到呢







mjpg-streamer.rar

2.87 MB, 下载次数: 31

源码

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

767

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5274
金钱
5274
注册时间
2019-9-25
在线时间
433 小时
发表于 2020-3-30 14:50:37 | 显示全部楼层
顶一个,多谢 分享,收藏先
想思考的时候,有时还可以用屁股,QQ 1252699831
回复 支持 反对

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-3-31 10:16:21 | 显示全部楼层
多谢分享,顶一个
回复 支持 反对

使用道具 举报

22

主题

128

帖子

0

精华

高级会员

Rank: 4

积分
788
金钱
788
注册时间
2019-8-4
在线时间
165 小时
发表于 2022-1-3 16:17:49 | 显示全部楼层
谢谢大佬分享,我毕业设计也打算做视频监控
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 07:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表