ffmpeg on Android
来源:互联网 发布:国家税务电子申报软件 编辑:程序博客网 时间:2024/06/08 15:58
最近在做将ffmpeg移植到Android上的工作,主要目的是使用ffmpeg解码和多种协议的支持能力,播放http传输的流。当然porting的介绍网上很多了,而且我也没有做这个工作,我就介绍一下我遇到的几个小问题吧。
1,生成config.h文件之后,不要忘记将其中的#define restrict restrict改为#define restrict否则编译不过,由于arm的编译器不支持restrict关键字
2,需要加入http的支持,本来以为在configure中加入--enable-procotal=http即可,但是并没有将http编译进入,那么就更改config.h及config.mak中关于http的相关宏,使其enable即可。http的代码在avformat模块的http.c中。
3,在ffmpeg的代码中加入android的log支持即c/c++代码的log支持,这个网上也有很多介绍。基本就是如下:
#include <android/log.h>
#define LOG_TAG ""yourmodule""
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG,__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_
#define LOGW(...) __android_log_print(ANDROID_
#define LOGE(...) __android_log_print(ANDROID_
4,还有就是需要调试http的stream,如果使android emulator访问到我的开发机哪,后来发现使用10.0.2.2这个IP即可,原理emulator有个机制,会将10.0.2.2映射到开发机,具体可以参见文档Android Emulator -- Network Address Space。
http播放并没有调试成功,先共享这些内容吧。
2011-11-12
想要支持http协议光enable http还不行,在configure中可以看到,http还依赖tcp,所以还需要把tcp enable,这样就可以了。
2011-11-17
还得补充一下,android的应用程序要想访问网络需要进行一下设置的。
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
编译ffmpeg也可以不用那么费事,可以借鉴Rockplayer项目的成果,直接使用Rockplayer中的 build_andriod.sh ,当然编译出来的ffmpeg.so要在android项目中引用还需要一点工作,具体我在其他的地方介绍。点击打开链接
- ffmpeg on Android
- 【1.启航ffmpeg】ffmpeg on Android
- use ffmpeg to setup streaming server on android
- use ffmpeg to setup streaming server on android
- 基于ffmpeg的Android播放器开源代码 Posted on
- Installing FFMPEG on Linux
- ffmpeg: libjniaudio on gingerbread
- ffmpeg: libjniaudio on gingerbread
- Compile FFmpeg on Ubuntu
- export function on ffmpeg
- Compile FFmpeg on Ubuntu
- Building FFmpeg on Linux
- Compile FFmpeg on Ubuntu
- Compile FFmpeg on CentOS
- Install FFmpeg on ubuntu
- ffmpeg android
- android-ffmpeg
- FFmpeg-Android
- 贯穿你一生的14条社会生计
- mysql数据库用户权限及建库脚本
- Linux内核fork流程
- 在JS中对EL取得的URL进行编码
- 秋菜价格
- ffmpeg on Android
- 作为一个移动应用开发者,我们的创意应当避免走向低俗
- 拯救小鼠标!
- 新电脑
- Linux Shell脚本逻辑操作符简介
- dreamweaver随记---关于表格
- 83. Better later than never. 不怕慢,单怕站
- android 学习日志
- ArcObjects中根据数据源生成相应的图层