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(未经允许严禁用于商业用途!) https://blog.csdn.net/cgx090902/article/details/74530730

Intel Edison用mjpg-streamer进行视频传输

intel Edison可以用opencv读取摄像头数据,也可以用mjpg-streamer读取,但是如果要进行远程视频传输,无疑是mjpg-streamer为最佳选择(简单易用传输速度快,openc...
  • l384011291
  • l384011291
  • 2016-10-25 20:13:15
  • 1428

mjpg-streamer 初识

简介 mjpg-streamer 是一个流转发的程序,但是这里的流其是是图片,它以图片的方式在视频提取和视频输出之间进行数据传递,所以一开始的目的是用于在浏览器上基于图片的方式显示视频,当然,效果比...
  • leishengsheng
  • leishengsheng
  • 2018-02-23 14:17:58
  • 55

Dragonboard410c Android USB Camera 使用:mjpg-streamer介绍(一)

mjpg-streamer是一款免费基于IP地址的视频流服务器,从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器端,如火狐、Cambozola和VLC播放器等。它可以利用某...
  • cgx090902
  • cgx090902
  • 2017-07-06 10:36:17
  • 703

Dragonboard410c Android USB Camera 使用:mjpg-streamer 在ubuntu16.04安装与使用(二)

mjpg-streamer是基于jpeg库来处理摄像头数据的,因此在移植使用mjpg-streamer之前必须先安装或移植jpeg库,否则在编译mjpg-streamer时会报告错误。1、先更新apt...
  • cgx090902
  • cgx090902
  • 2017-07-06 11:17:56
  • 1068

mjpeg streamer 成功运行 RT5350

昨天几经周折把mjepg streamer移植好,蛋疼的realink
  • lubing20044793
  • lubing20044793
  • 2014-06-19 23:20:01
  • 1570

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

mjpg-streamer移植的android平台也很简单,只要写好Android.mk文件进行编译就行。由于mjpg-streamer是基于jpeg库来处理摄像头数据的,因此在移植mjpg-stre...
  • cgx090902
  • cgx090902
  • 2017-07-06 11:30:58
  • 607

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

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

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

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

openwrt 在RT5350上实现mjpg-streamer视频流输出(摄像头格式为YUYV格式)

openwrt 在RT5350上实现mjpg-streamer视频流输出(摄像头格式为YUYV格式) 标签: openwrtRT5350mjpg-streamerYUYV 2014...
  • fuzhikun_python
  • fuzhikun_python
  • 2017-03-21 09:26:31
  • 491

Yocto i.MX6 (TQIMX6) (04) : 使用mjpg-streamer做一个WebCam Server

libjpeg的编译 下载后直接对configure指定即可。或者使用Yocto编译,参考我的其他与Yocto相关博文。 mjpg-server的编译 mjpg-streamer已经很老了,且s...
  • dddxxxx
  • dddxxxx
  • 2016-09-13 17:24:13
  • 1418
收藏助手
不良信息举报
您举报文章:Dragonboard410c Android USB Camera 使用:mjpg-streamer 移植到Android平台(三)
举报原因:
原因补充:

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