ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MJPG_streamer 移植到Android过程与错误

2019-06-28 21:56:33  阅读:358  来源: 互联网

标签:MJPG mjpg jpeg so streamer Android row


第一次发帖 不太会排版。。。。 将就下吧~ 只有流程 没具体的操作
这是我自己 经历的 移植过程 摄像头采用的是 平板上的 前置摄像头 外接usb 应该也是可以的
开始:
下载好 mjpglib 和 jpeg_streamer 这2个库
版本: 我的mjpeglib 是 8b Android自带的 在 /system/lib 里面有一个 libjpeg.so 根据他的版本来也行
地址 : http://www.ijg.org/files/
我的 jpeg_streamer 是在 http://sourceforge.net/projects/mjpg-streamer/ 下载的

解压。。。 得到 mjpeg 和 jpeg_streamer 两个目录
先从 mjpg 开始 :
设置交叉编译 :
进入 mjpeg目录
执行 ./configure --prefix=$PWD/tmp CC=/home/xiaohuihui/samba/ndk/tool/bin/arm-linux-androideabi-gcc --build=x86_64-linux-gnu --host=arm-linux-gnueabi --enable-shared=yes CFLAGS="-D__ANDROID_API__=23 -pie -fPIE"
生成 Makefile 然后 make make install 会在目录下生成 tmp目录 里面有头文件和共享库文件
tmp/lib/libjpeg.so.8.0.2 这是需要放入 平板的 /system/lib 中 替换原来 的 libjpeg.so
如果 想直接使用 平板自带的 /system/lib 中的 libjpeg.so 就需要下载的 源码 和 自带的 是同一版本
交叉编译工具链 是 ndk 工具生成的 根据自己的 Android 版本进行生成配置 23 表示 android 6.0

接下来是mjpg_streamer
因为我的电脑上有 Android 源码 所以我是用 mmm 编译的 写好 Android.mk 即可
用ndk也行 但是我不会~~~~
Android.mk 我不知道怎么 放到这里 粘贴进去就卡死了 。。。。
mjpg_streamer 的源码是需要修改的
plugins/input_uvc/jpeg_utils.c 的头文件位置是需要指定 mjpg生成的tmp/include/jpeglib.h
编译的 时候出现超多的 错误
比如 进程类的 函数 pthread_cancel(cam); Android 中是没有的 全注释掉
还有个库结构体里面的成员少了一个 db_update 自己加上
具体错误太多 遇到啥改啥~~~~
重要的是 plugins/input_uvc/jpeg_utils.c 中的 compress_image_to_jpeg 函数
有非法指针
//JSAMPROW row_pointer;
JSAMPROW row_pointer[1];
//row_pointer = (JSAMPROW
)line_buffer;
row_pointer[0] = line_buffer;
修改这 2 处地方 ~~~
然后 把 mmm 生成后的 库和可执行程序全 push 到平板中
chmod 777 * 给权限 执行即可
./mjpg_streamer -i “./input_uvc.so -d /dev/video1 -f 10 -r 640*480” -o “./output_http.so -w ./www -p 8080”

标签:MJPG,mjpg,jpeg,so,streamer,Android,row
来源: https://blog.csdn.net/qq_29624813/article/details/94044787

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有