OSDN Git Service

update README
[android-x86/external-stagefright-plugins.git] / README.cn
1 ================================================================================
2 Stagefright插件
3 ================================================================================
4
5 1. 基于Android多媒体框架提供额外的插件给用户集成
6 2. FFmpeg提供demux和音视频解码器
7 3. FFmpegExtractor属于Stagefright的一个demux(extractor)插件
8 4. libstagefright_soft_ffmpegvdec是一个视频解码器插件
9 5. libstagefright_soft_ffmpegadec是一个音频解码器插件
10 6. 任何FFmpegExtractor demux后的视频都优先选用视频硬件解码,充分发挥硬件特性
11
12 ================================================================================
13 为何起名为nam[NamExtractor]?
14 ================================================================================
15
16 纳木措是西藏三大圣湖之一,是每一个去西藏的旅行者不容错过的景点。在藏语中,
17 "纳木措"是“天上之湖”的意思。纳木错以其高海拔和令人窒息的美景而声名远扬。
18
19 我曾经于2011年9月到过此湖,于是便起此名
20
21 ================================================================================
22 需要条件
23 ================================================================================
24
25 1. android_frameworks_native:
26 https://github.com/omxcodec/android_frameworks_native.git
27 branch: cm_maguro-10.1
28
29 2. android_frameworks_av:
30 https://github.com/omxcodec/android_frameworks_av.git
31 branch: cm_maguro-10.1
32
33 3. android_external_ffmpeg
34 git@github.com:omxcodec/android_external_ffmpeg
35 branch: cm_maguro-10.1
36
37 ================================================================================
38 如何编译
39 ================================================================================
40
41 1. 获取源码
42    进入你的Android源码目录 "android/external", 运行如下命令:
43    stagefright-plugins(branch: master):
44        git clone git@github.com:omxcodec/stagefright-plugins.git stagefright-plugins
45    ffmpeg(branch: cm_maguro-10.1):
46        git clone git@github.com:omxcodec/android_external_ffmpeg.git ffmpeg -b cm_maguro-10.1
47
48    android_frameworks_native and android_frameworks_av:
49        显然,你应该合并我的android_frameworks_native(branch: cm_maguro-10.1)和
50    android_frameworks_av(branch: cm_maguro-10.1)的源代码。合并修改部分的代码比较少,
51    而且非常有规律,我修改过的代码使用了"USES_NAM"这个宏,而且我修改过的代码仅仅在
52    "android/frameworks/native"和"android/frameworks/av"两个目录。
53  
54 2. 编译
55    请重新编译你的整个Android系统。
56
57 3. 安装
58    adb root
59    adb remount
60    adb sync // 与手机或者平板同步系统,一般系统会选择更改的文件或库进行同步
61    reboot   // 重启你的手机或者平板
62
63 4. 运行
64    获取测试文件:
65        wget http://movies.apple.com/media/us/ipad/2012/tv-spots/apple-ipad-this_good-us-20120307_848x480.mov
66        wget http://movies.apple.com/media/us/ipad/2012/80ba527a-1a34-4f70-aae8-14f87ab76eea/tours/apple-ipad-feature-us-20120307_848x480.mp4
67        wget http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/i_main/BQMall_832x480_60_qp22.bin
68
69    假设你视频测试文件放在目录 "/sdcard/Movies/".
70    开启一个linux终端,运行:
71        adb logcat -c //清空先前所有的log
72        adb logcat
73    开启另外一个linux终端, 分情况运行:
74    测试 FFmpegExtractor 插件:
75        adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
76        adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
77    测试 SoftFFmpegVideo 视频解码器插件:
78        进入目录android/external/stagefright-plugins/tools, 运行:
79        adb root
80        ./install // 安装测试脚本
81        adb root && adb shell set-vdec-sw1 // 让Stagefright优先选用视频软件解码器
82        adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
83        adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
84    测试 HEVC(H.265) 视频解码器:
85        进入目录android/external/stagefright-plugins/tools, 运行:
86        adb root
87        ./install // 安装测试脚本
88        adb root && adb shell set-vdec-drop0 // 禁止视频解码速度过慢时Stagefright做丢帧处理
89        adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/BQMall_832x480_60_qp22.bin -t video/*
90
91    希望你一切顺利
92
93 ================================================================================
94 功能
95 ================================================================================
96 输入格式:
97     MP4 / MOV / 3GP
98     TS / PS
99     AVI
100     ASF / WMV / WMA
101     Matroska (MKV)
102     Real(RM,RMVB)
103     WAV
104     FLV
105     SWF
106     APE
107     DTS
108     FLAC
109     WAV
110     OGG
111     Raw HEVC(H.265) bitstreams
112
113 视频解码器:
114     MPEG-1/2
115     MPEG-4
116     H.263
117     H.264 / MPEG-4 AVC
118     WMV 1/2
119     WMV 3 / WMV-9 / VC-1
120     RV (Real Video)
121     VP8
122     FLV1
123     DIVX
124     HEVC(H.265)
125
126 音频解码器:
127     MP2 (MPEG Layer 2)
128     MP3 (MPEG Layer 3)
129     AAC (MPEG-4 part3)
130     AC3
131     WMA 1/2
132     WMA 3
133     RA (Real Audio)
134     APE
135     DTS
136     FLAC
137     VORBIS
138     
139 ================================================================================
140 存在问题
141 ================================================================================
142 1. 一些mov文件,当seek后,音视频不能迅速同步
143 2. 一些文件正在seek时,退出程序
144 3. 需要集成更多的音视频编解码器
145 4. 需要集成更多的文件格式解析器
146
147 如果这个项目对您有帮助,或者您想讨论跟此相关相关的话题,请联系本人:
148 Michael Chen (omxcodec@gmail.com)