libjpegandroid
⑴ 如何编译新版的libjpeg-turbo 出so文件给Android使用
C++编译so文件与C编译so一样都是加参数 -shared C语言调用C++的so 首先C要调用的C++的函数必须是extern "C"声明的。 其次编译C程序时需要增加链接libstdc++.so(可能名字不打对自己查查)
⑵ 有谁最近编译成功过 webrtc for android 的代码
1). 准备环境
1. Ubuntu 14.04 LTS 系统
2. 准备一个稳定的速度还可以的VPN 或者 VPS ,这个很重要,大家都懂,大部分下载代码失败都是因为访问google服务失败导致的.(本人用的Digital Ocean, 之前试过几个VPN都以失败而告终,蛋都碎了,要么是不稳定,要么速度非常慢,最长一次用了15个小时都没有下载成功)
3. 安装下载$编译webrtc代码所需工具
a. jdk (本人用的 sun jdk1.6.0_45)
配置到环境变量中
b. git ( 版本 1.9.1 )
安装: sudo apt-get install git
c. gclient
1.安装:
2.配置到环境变量中 ,至于怎么配置,不知道的google一下
d. 安装如下工具 ( sudo apt-get install ..)
g++ (>= 4.2)
python (>= 2.4)
libnss3-dev >= 3.12
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
For 32-bit builds on a 64-bit system:
lib32asound2-dev
ia32-libs
2). 下载代码
1.同步WebRTC代码
1.创建WebRTC目录
mkdir WebRTC
cd WebRTC
2.初始化gclient
3. 设计目标系统版本的配置
echo "target_os = ['Android', 'unix']" >> .gclient
4. sync代码
gclient sync --nohooks
( 煎熬的一步,我同步下来的代码有7.1G之大,里面包括NDK、SDK等其他tools 之前用VPN都败在这里,后来用VPS,只用了6分多钟,哎,说点什么呢......尼玛,国内程序员就是苦逼)
注意,若长时间出现 Still working on等信息,请不要中断或者关闭,它依然在运行,如果你这里中断了,那么之前下载的东西会全部删除,然后又得重新sync一遍
3). 编译代码
1.设置编译环境
1. cd trunk
2. source ./build/android/envsetup.sh
3.export GYP_DEFINES="$GYP_DEFINES OS=android"
2. 下载编译所依赖的包或工具,(这里又会下载一大堆东西 如 Ant.)
./build/install-build-deps.sh (trunk目录下)
3. gclient runhooks --force (下载编译所需的build文件等信息)
4. 编译 ( trunk目录下 )
编译Debug版: ninja -C out/Debug
编译Release版: ninja -C out/Release
基于以上步骤,如果网络能正常访问google服务的话,一般都不会出现其他的问题,如果真碰到了问题,不要怕,一般根据错误信息就可以知道相应的原因。不知道的google一下
编译成功之后 在 out/Debug 或者 out/Release目录下看到相应的demo安装包 如Debug目录下,其中就有 AppRTCDemo-debug.apk 和 WebRTCDemo-debug.apk
AppRTCDemo程序的代码就再 trunk/talk/examples/android/ 目录下
⑶ 有没有在树莓派3b上安装过 android系统的
需要完成此次的项目,离不开opencv的支持,接下来我们就在树莓派上安装opencv。安装OpenCV的依赖包:[编译器]sudoapt-getinstallbuild-essential[必须安装]sudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev[可选择安装]sudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-dev接下来需要从OpenCV官方网站:local..等待检测和设置完成,就可以开始编译了:make如果你要在python下运行opencv库的情况下,那就必须安装安装python-opencvsudoapt-getinstallpython-opencv安装完成
⑷ mjpg-streamer安卓上可以使用吗
一、环境
主机环境 :Ubuntu 10.10
目标机 :FS2410(S3C2410)
主机工具链 :gcc-4.4.5
交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2
摄像头 :ZC301
二、移植过程
1、配置内核是内核支持芯片为ZC301的摄像头
Make menuconfig
Device Drivers --->
<*> Multimedia support --->
<*> Video For Linux
[*] Enable Video For Linux API 1 (DEPRECATED) (NEW)
[*] Video capture adapters (NEW) --->
[*] V4L USB devices (NEW) --->
<*> USB Video Class (UVC)
[*] UVC input events device support (NEW)
<*> USB ZC0301[P] webcam support (DEPRECATED)
2、重新编译内核
make zImage
通过上面两个步骤就可以驱动我们的摄像头了。但是这个驱动是基于V4l2的。以前基于V4L的一些上层应用就不能用了,或需要做大量的修改!这里我们要实现网络视频的功能,以前都是用servfox这个网络视频服务器,但是这个服务器就是基于V4L的,我们如果想用的话就得对servfox的源码进行修改。这里我们选用另外一种方案mjpg-stream。
3、mjpg-stream的移植
关于mjpg-stream的资料大家可以在下面这个网址查看:
mjpg-stream的移植需要jpeg的库,所以我们先移植jpeg的库
(1)jpeg库的移植
1)jpeg源码包通过下面这个网址下载
http://www.ijg.org/files/jpegsrc.v8b.tar.gz
2)解压源码包
tar xvf jpegsrc.v8b.tar.gz
3)配置源码
cd jpeg-8b
./configure --prefix=/home/linux/s3c2410-2.6.35/video/jpeg --host=arm-none-linux-gnueabi
4)编译
make
5)安装
make install
6)拷贝库到文件系统中
cp //home/linux/s3c2410-2.6.35/video/jpeg /lib/libjpeg.so.8 /source/rootfs/lib
(2)mjpg-stream的移植
1)mjpg-stream源码包通过下面这个网址下载
http://sourceforge.net/projects/mjpg-streamer/
2)解压源码
tar xvf mjpg-streamer-r63.tar.gz
3)修改源码
cd mjpg-streamer-r63
修改顶层makefile及plugins目录中的各级makefile将所有
CC=gcc
修改为
CC=arm-none-linux-gnueabi-gcc
修改plugins/input_uvc/Makfile
修改
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
为
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/linux/s3c2410-2.6.35/video/jpeg/include
修改
$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
为
$(CC) $(CFLAGS) -ljpeg -L/home/linux/s3c2410-2.6.35/video/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
jpeg_utils.c:27: fatal error: jpeglib.h: No such file or directory
4)编译
make
5)测试
mkdir /source/rootfs/mjpg
cp *.so /source/rootfs/mjpg
cp mjpg-stream /source/rootfs/bin
打开开开发板运行
mjpg_streamer -i "/mjpg/input_uvc.so" -o "/mjpg/output_http.so -w /www"
在源码目录下有start.sh,这个脚本里有一些mjpg-stream的使用方法及说明
打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.168.1.202):
http://192.168.1.202:8080/?action=stream
打开一个网页输入下面地址就能够看到一个静态图片:
http://192.168.1.202:8080/?action=snapshot
6)在mjpg源码下有一个www的目录,这个一个网络使用mjpg的实例,结合web服务器(boa)可以实现一些其他相关功能。
⑸ 如何整合 QT 5.2.0 与 OpenCV2.4.6 和 Android
由于缺少库定义 pro 文件 (libIlmImf.a) 中出现的问题。
pro 文件中的更正的库定义,如下所示:
ANDROID_OPENCV = C:/OpenCV-2.4.6-android-sdk/sdk/native
LIBS += \
$$ANDROID_OPENCV/libs/x86/libopencv_contrib.a \
$$ANDROID_OPENCV/libs/x86/libopencv_legacy.a \
$$ANDROID_OPENCV/libs/x86/libopencv_ml.a \
$$ANDROID_OPENCV/libs/x86/libopencv_objdetect.a \
$$ANDROID_OPENCV/libs/x86/libopencv_calib3d.a \
$$ANDROID_OPENCV/libs/x86/libopencv_video.a \
$$ANDROID_OPENCV/libs/x86/libopencv_features2d.a \
$$ANDROID_OPENCV/libs/x86/libopencv_highgui.a \
$$ANDROID_OPENCV/libs/x86/libopencv_androidcamera.a \
$$ANDROID_OPENCV/libs/x86/libopencv_flann.a \
$$ANDROID_OPENCV/libs/x86/libopencv_imgproc.a \
$$ANDROID_OPENCV/libs/x86/libopencv_core.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/libIlmImf.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/liblibpng.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/liblibtiff.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/liblibjpeg.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/liblibjasper.a \
$$ANDROID_OPENCV/3rdparty/libs/x86/libtbb.a
(但另一个问题发生时,运行在 android 模拟器造成的"不连着色器程序"。我仍在但这是另一个问题的问题)
编辑:我通过切换到 AVD API17,googleapi,x 86 不 NEXUS S) 从 GenyMotion 模拟器和设置"使用主机 GPU"标志及向临文件中添加配置 + = opengl 解决问题的"着色器程序不链接"
⑹ 如何编译新版的libjpeg-turbo 出so文件给Android使用
1、从官网下载最新的libjpeg-turbo源码,
2、解压缩下载的文件,然后进入,并创建jni文件夹,最后将里面的文件都拷贝到jni文件中
3、进入jni目录,然后创建配置文件(例如jconfig.h,config.h),在终端输入:
[cpp]
./configure --with-jpeg8
./configure --with-jpeg8
就会生成
[cpp]
config.status: creating config.h
config.status: creating jconfig.h
config.status: creating config.h
config.status: creating jconfig.h4、接下来是创建Android.mk文件
[cpp]
# Makefile for libjpeg-turbo
##################################################
### simd ###
##################################################
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS += -D__ARM_HAVE_NEON
# From autoconf-generated Makefile
EXTRA_DIST = simd/nasm_lt.sh simd/jcclrmmx.asm simd/jcclrss2.asm simd/jdclrmmx.asm simd/jdclrss2.asm \
simd/jdmrgmmx.asm simd/jdmrgss2.asm simd/jcclrss2-64.asm simd/jdclrss2-64.asm \
simd/jdmrgss2-64.asm simd/CMakeLists.txt
libsimd_SOURCES_DIST = simd/jsimd_arm_neon.S \
simd/jsimd_arm.c
LOCAL_SRC_FILES := $(libsimd_SOURCES_DIST)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/simd \
$(LOCAL_PATH)/android
AM_CFLAGS := -march=armv7-a -mfpu=neon
AM_CCASFLAGS := -march=armv7-a -mfpu=neon
LOCAL_ARM_MODE=arm
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE := libsimd
include $(BUILD_STATIC_LIBRARY)
⑺ 如何编译新版的libjpeg-turbo 出so文件给Android使用
1、从官网下载最新的libjpeg-turbo源码, 2、解压缩下载的文件,然后进入,并创建jni文件夹,最后将里面的文件都拷贝到jni文件中 3、进入jni目录,然后创建配置文件(例如jconfig.h,config.h),在终端输入: [cpp] ./configure --with-jpeg8
⑻ 编译android源码时出现错误 求助
我的2.1 源码里没有 yvup2abgr8888_venum((UINT8*) inptr0,
(UINT8*) inptr2,
(UINT8*) inptr1,
(UINT8*) outptr,
cinfo->output_width);
你的是如个版本的,不是venum,是yvup2abgr8888_venum 是一个函数,Android.mk 应该有问题。1) 含有函数yvup2abgr8888_venum 的c没有编,2)少了引用的库文件
bmlunlock模块的Android.mk 贴上来看看
⑼ android 摄像头出来的格式怎么会是yuv420p 而不是yuv420sp(nv21)呢
那是因为你在相机参数初始化的时候未设置,加上这个就可以了
List<Integer> formatsList = parameters.getSupportedPreviewFormats(); //获取设备支持的预览format
if(formatsList.contains(ImageFormat.NV21))
parameters.setPreviewFormat(ImageFormat.NV21); //设置预览格式为NV21,默认为NV21
if(formatsList.contains(ImageFormat.JPEG))
parameters.setPictureFormat(ImageFormat.JPEG); //设置照片储存格式
⑽ 求下面句子的翻译
如何为平台构建模块
这是唯一的模块需要使用Android构建系统。
请检查自己的安装文件夹下的其他模块的信息。
[建立]
1。让Android的开放源代码。
版本信息:Android 4.4.2
(下载网址:http://source.android.com)
2。复制模块,你想建立对原始Android的开放源代码
如果在Android的开放源代码存在相同的模块,你应该取代它。(无覆盖)
#是一次性创建所有的模块可能。
3。你应该添加的模块名称“proct_packages在建立目标\产品\核心。MK为例。
案例1):应添加“e2fsprog proct_packages e2fsck”
案例2):应添加“libexifa proct_packages libexifa”
案例3):应添加“libjpega proct_packages libjpega”
案例4):应添加“keyutils proct_packages libkeyutils”
如)[建立\目标\产品\核心。MK ] -添加所有模块名称案例1 ~ 4次
proct_packages + = \
e2fsck \
libexifa \
libjpega \
libkeyutils
4。执行编译命令
为使J4 采纳吧采纳吧我可是打字出来的