Dragonboard410c Android USB Camera 使用:mjpg-streamer 移植到Android平台(三)

原创 2017年07月06日 11:30:58

mjpg-streamer移植的android平台也很简单,只要写好Android.mk文件进行编译就行。由于mjpg-streamer是基于jpeg库来处理摄像头数据的,因此在移植mjpg-streamer到android时需确保源代码中包含有jpeg库,否则在编译mjpg-streamer时会报告错误。

下载mjpg-streamer:
https://github.com/chenguangxiang/mjpg-streamer/tree/master/mjpg-streamer-for-android

下载jpeg库:
https://github.com/chenguangxiang/mjpg-streamer/tree/master/jpeg

把mjpg-streamer和jpeg库代码下载下来后放入external目录下即可。如编译报错,请自行查看编译错误信息修改Android.mk文件或插件代码。

下面是我自己编写的Android.mk文件,仅供参考。

LOCAL_PATH:= $(call my-dir)

# build input_control.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/input_control/dynctrl.c \
    plugins/input_control/input_uvc.c

LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/input_control/uvcvideo.h \
    plugins/input_control/uvc_compat.h \
    plugins/input_control/v4l2uvc.h \
    plugins/input_control/dynctrl.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := input_control

include $(BUILD_SHARED_LIBRARY)

# build input_file.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/input_file/input_file.c


LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := input_file

include $(BUILD_SHARED_LIBRARY)

# build input_http.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/input_http/misc.c \
    plugins/input_http/mjpg-proxy.c \
    plugins/input_http/input_http.c

LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/input_http/misc.h \
    plugins/input_http/mjpg-proxy.h \
    plugins/input_http/version.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := input_http

include $(BUILD_SHARED_LIBRARY)

# build input_uvc.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    utils.c \
    plugins/input_uvc/v4l2uvc.c \
    plugins/input_uvc/jpeg_utils.c \
    plugins/input_uvc/dynctrl.c \
    plugins/input_uvc/input_uvc.c \


LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/input_uvc/huffman.h \
    plugins/input_uvc/uvc_compat.h \
    plugins/input_uvc/v4l2uvc.h \
    plugins/input_uvc/jpeg_utils.h \
    plugins/input_uvc/dynctrl.h \
    ../jpeg/jpeglib.h

#LOCAL_CFLAGS := -O1 -DLINUX -DUSE_LIBV4L2 -D_GNU_SOURCE -Wall -shared -fPIC
LOCAL_CFLAGS := -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_SHARED_LIBRARIES := libjpeg

LOCAL_MODULE := input_uvc

include $(BUILD_SHARED_LIBRARY)

# build output_autofocus.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/output_autofocus/processJPEG_onlyCenter.c \
    plugins/output_autofocus/output_autofocus.c

LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/output_autofocus/processJPEG_onlyCenter.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := output_autofocus

include $(BUILD_SHARED_LIBRARY)

# build output_file.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/output_file/output_file.c 

LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/output_file/output_file.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := output_file

include $(BUILD_SHARED_LIBRARY)

# build output_http.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/output_http/httpd.c \
    plugins/output_http/output_http.c


LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/output_http/httpd.h

LOCAL_CFLAGS := -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := output_http

include $(BUILD_SHARED_LIBRARY)

# build output_rtsp.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    plugins/output_rtsp/output_rtsp.c


LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \
    plugins/output_rtsp/httpd.h

LOCAL_CFLAGS := -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := output_rtsp

include $(BUILD_SHARED_LIBRARY)

# build output_udp.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := plugins/output_udp/output_udp.c

LOCAL_C_INCLUDES := \
    mjpg_streamer.h \
    utils.h \
    plugins/output.h \
    plugins/input.h \

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

LOCAL_MODULE := output_udp

include $(BUILD_SHARED_LIBRARY)

# build mjpg_streamer
include $(CLEAR_VARS)

LOCAL_MODULE := mjpg_streamer

LOCAL_SRC_FILES := utils.c mjpg_streamer.c

LOCAL_C_INCLUDES := utils.h mjpg_streamer.h

LOCAL_CFLAGS := -O2 -DLINUX -D_GNU_SOURCE -Wall

LOCAL_SHARED_LIBRARIES := libjpeg

include $(BUILD_EXECUTABLE)
版权声明:本文为博主原创文章,欢迎转载,但是看在我辛勤劳动的份上,请注明来源:http://blog.csdn.net/cgx090902(未经允许严禁用于商业用途!)

嵌入式移植mjpg-streamer成功

Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefox,Cambozola,VLC播放器,Windows的移动设备或...
  • zhanjianshinian
  • zhanjianshinian
  • 2013年11月03日 21:20
  • 1997

树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像

网上有很多关于mjpg-stream移植到树莓派的文章,大部分还是使用的sourceforge.net上的mjpg-streamer-r63.tar.gz,该工程版本比较老,在新版系统中编译需要把源码...
  • blueslime
  • blueslime
  • 2013年10月08日 14:57
  • 24563

mjpg-streamer在Ubuntu下编译,运行

1.将USB摄像头插上,查看是否找到设备,输入: wp@ubuntu:/home/$    ls   /dev/video* /dev/video0 2.安装必要的软件集: ...
  • qq_26093511
  • qq_26093511
  • 2016年05月18日 11:26
  • 1033

Android支持USB摄像头

关于Android支持USB摄像头的帖子网上是有一些的,虽然内容都是转载过来的,前一段时间因为工作需要,必须实现在Android上实现USB摄像头和主摄像头同时录像,便自己动手尝试实现了一下,最终实现...
  • ouchao0727
  • ouchao0727
  • 2016年03月10日 11:05
  • 7693

玩转Dragonboard 410c USB摄像头——获取USB摄像头图像

摄像头是DIY常用的设备,在你的DIY创意上很多时候使用摄像头可以起到画龙点睛的作用,瞬间让你的DIY变得高大上,这期给大家推出一系列如何玩转Dragonbaord 410c开发板的USB摄像头的bl...
  • ANDYMFC
  • ANDYMFC
  • 2016年10月20日 18:39
  • 1628

终于搞定android驱动USB摄像头了!

2014-01-14 18:15 13642人阅读 评论(72) 收藏 举报  分类:   android(18)  多亏了stackoverflow看到的一篇帖子,其中有几句关键的话,然...
  • mirkerson
  • mirkerson
  • 2016年02月29日 11:30
  • 20139

基于mjpg-streamer远程视频WEB监控 项目笔记一

基于mjpg-streamer远程视频WEB监控 项目笔记一 2013-01-26 12:15 1777人阅读 评论(0) 收藏 举报 本文章已收录于: ...
  • ASKLW
  • ASKLW
  • 2016年12月26日 11:00
  • 846

Android移植源码APP(USB CAMERA APK)问题总结

最近公司的一个项目(行车记录仪)要求能支持USB camera(兼容uvc)预览显示。在网上浏览了一番相关知识,了解到要使android系统支持usb 摄像头,除了要打开内核中的驱动支持之外,还需要加...
  • bmw7bmw7
  • bmw7bmw7
  • 2015年09月15日 19:07
  • 3928

基于V4L2驱动程序的USB摄像头Android(JNI)的编写(一)

video4 linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,本文主要介绍如何使用V4L2驱动程序打开我们的USB摄像...
  • JansonZhe
  • JansonZhe
  • 2015年08月06日 17:00
  • 4399

UVCCamera安卓驱动USB摄像头

最近在做一个USB摄像头的项目,需要做一个安卓APP。从来没写过安卓程序,所以只能网上到处搜,搜了一个叫simplewebcam的源码,可能我配置不对一直不出图像。现在搜了一个叫UVCCamera的开...
  • king_jie0210
  • king_jie0210
  • 2017年05月03日 09:36
  • 6210
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Dragonboard410c Android USB Camera 使用:mjpg-streamer 移植到Android平台(三)
举报原因:
原因补充:

(最多只允许输入30个字)