1 ================================================================================
2 Stagefright Plugins for Android
3 ================================================================================
5 1. Enhance the Android multimedia framework providing additional Plugins for
7 2. FFmpeg provides demuxers and av codecs;
8 3. FFmpegExtractor is a extractor plugin.
9 4. libstagefright_soft_ffmpegvdec plugin is video decoder
10 5. libstagefright_soft_ffmpegadec plugin is audio decoder
12 ================================================================================
13 Why is named nam[NamExtractor]?
14 ================================================================================
16 Namtso, or Lake Nam, is one of the three holy lakes in Tibet Autonomous Region
17 and should not be missed by any traveler to Tibet. In Tibetan, Namtso means
18 "Heavenly Lake." It is famous for its high altitude and imposing scenery.
20 I used to travel there in 2011 Sep.
22 ================================================================================
24 ================================================================================
26 1. android_frameworks_native:
27 https://github.com/omxcodec/android_frameworks_native.git
28 branch: cm_maguro-10.1
30 2. android_frameworks_av:
31 https://github.com/omxcodec/android_frameworks_av.git
32 branch: cm_maguro-10.1
34 3. android_external_ffmpeg
35 git@github.com:omxcodec/android_external_ffmpeg
36 branch: cm_maguro-10.1
38 ================================================================================
40 ================================================================================
43 in your "android/external" folder, run:
44 stagefright-plugins(branch: master):
45 git clone git@github.com:omxcodec/stagefright-plugins.git stagefright-plugins
46 ffmpeg(branch: cm_maguro-10.1):
47 git clone git@github.com:omxcodec/android_external_ffmpeg.git ffmpeg -b cm_maguro-10.1
49 android_frameworks_native and android_frameworks_av:
50 you should merge my android_frameworks_native(branch: cm_maguro-10.1) and
51 android_frameworks_av(branch: cm_maguro-10.1) code. once you do, you should pay attention to
52 the "USES_NAM" flag, it is only in the "android/frameworks/native" and "android/frameworks/av"
56 compile your android source tree again!
61 adb sync // sync your android build system to your phone or pad
62 reboot // reboot your phone or pad
66 wget http://movies.apple.com/media/us/ipad/2012/tv-spots/apple-ipad-this_good-us-20120307_848x480.mov
67 wget http://movies.apple.com/media/us/ipad/2012/80ba527a-1a34-4f70-aae8-14f87ab76eea/tours/apple-ipad-feature-us-20120307_848x480.mp4
68 wget http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/i_main/BQMall_832x480_60_qp22.bin
70 let us suppose your media files locate at "/sdcard/Movies/" folder.
71 one console window, you should run:
72 adb logcat -c //clears (flushes) the entire log and exits.
74 and other cosole window, you should run:
75 test FFmpegExtractor plugins:
76 adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
77 adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
78 test SoftFFmpegVideo decoder plugin:
79 cd android/external/stagefright-plugins/tools folder, run:
81 ./install // install my scripts
82 adb root && adb shell set-vdec-sw1 // let omxcodec choose software decoder
83 adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
84 adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
86 test HEVC(H.265) decoder:
87 cd android/external/stagefright-plugins/tools folder, run:
89 ./install // install my scripts
90 adb root && adb shell set-vdec-drop // disable drop video frames
91 adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/BQMall_832x480_60_qp22.bin -t video/*
95 ================================================================================
97 ================================================================================
113 Raw HEVC(H.265) bitstreams
141 ================================================================================
143 ================================================================================
144 1. some .mov movies do not av resync when seeking
145 2. some video stream ended while seeking
146 3. more video and audio codecs codec to be integrated
147 4. more formats to be integrated
149 If you need help with the library, or just want to discuss nam related issues,
150 you can contact me: Michael Chen (omxcodec@gmail.com)