Navigation

From Insignal Co.,Ltd

Jump to: navigation, search

Contents

Libpeony project

Libpeony is a project for android multimedia engine with ffmpeg

Peony is a kind of flower. It's a beautiful flower. You can find pictures in wikidepia.


FFmpeg’s features

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.

It includes libavcodec - the leading audio/video codec library.

It includes player, recorder, transformer, streaming server application.

http://www.ffmpeg.org


Android Stagefright

Android multimedia engine provided by Google.

Limited codecs available.

Fewer resources and the difficulty of coding.


Current states

Libpeony have a three parts.

  • Libpeony demuxer : andorid demuxer(extractor) using libavformat
    • avi, mp4, mkv, ts & mpg format tested
  • Libpeony ffmpeg audio decoder : andorid omx audio decoder using libavcodec
    • aac, mp3 codec tested
  • Libpeony ffmpeg video decoder : andorid omx video decoder using libavcodec
    • h264 codec tested


Libpeony (FFmpeg on Android) Block diagram

FFmpeg on android 1.png


FFmpeg.org

FFmpeg project main page.

ffmpeg.org


Getting FFmpeg

I use below 0.11 stable version of FFmpeg.

ffmpeg-0.11.tar.gz


Compile FFmpeg with Android.mk

Android.mk matced with 0.11 version, you get it from "download link" page.

If you building "libffmpeg.so", it's needed.

It is customized for 0.11 stable version of ffmpeg, I get previous Android.mk from github https://gist.github.com/1126971


Test Flatform

I use Origen 4 Quad board(Exynos 4412 cpu).

You purchase it from howchip.com

Buy now!!


Patch frameworks

Libpeony require android frameworks patch.

You can find the pre-patched source code for Origen 4 Quad board in below link

www.origenboard.org reopen date is Jan 15 2013

You can campre diffrent codes with AOSP & libpeony

  • android/frameworks/base/include/media/stagefright/DataSource.h
  • android/frameworks/base/include/media/stagefright/FFmpegSource.h (*)
  • android/frameworks/base/media/libstagefright/Android.mk
  • android/frameworks/base/media/libstagefright/AwesomePlayer.cpp
  • android/frameworks/base/media/libstagefright/DataSource.cpp
  • android/frameworks/base/media/libstagefright/FileSource.cpp
  • android/frameworks/base/media/libstagefright/MediaExtractor.cpp
  • android/frameworks/base/media/libstagefright/OMXCodec.cpp
  • android/frameworks/base/media/libstagefright/omx/Android.mk
  • android/frameworks/base/media/libstagefright/omx/SoftOMXPlugin.cpp

Asterik(*) is newly added


Libpeony download links

  • Libpeony git

ssh://git@git.insignal.co.kr/insignal/android/platform/external/libpeony.git

  • Android.mk for ffmpeg 0.11

Android.mk_for_0.11