FFMpeg havlenapetr工程编译


 一,下载
 
   1,下载FFMpeg eclispe工程
  
   下载方式
  
   1) git clone
https://github.com/havlenapetr/FFMpeg.git
  
   这是从官网上的下载的最新的工程,它存在两个问题:
   A,导入工程不能编译.
     原因: 没有android.jar(android jar包),需要在工程的根目录下添加(或从别的工程中Copy)两个文件:project.properties和proguard.cfg
   B, 在android2.3播放时,图像不能正常显示。(放视频花屏)
     原因:需要自己实现OnVideoSizeChangedListener接口
     这位兄弟已实现并有源码:
    
http://blog.csdn.net/yarpee/article/details/6910877
     主要原因是libjnivideo.so和libjniaudio.so 这两个so文件因为不同的版本或者修改过的framework是不一样的,
     所以需要在android源码中 编译出自己的so文件。

    
    
  2) 直接到我的资源库下载:
 
http://download.csdn.net/detail/hp_2008/5367745
 
  此工程已解决以上两个问题。
 
二、编译JNI

   1,获得FFMpeg源代码
  
    1),可以到
http://sourceforge.net/下载ffmpeg for android 包。
   
    2),用havlenapetr工程的FFMpeg包
   
    3), 用NDK编译 生成libffmpeg.so库
       如何用NDK编译请参考我以前的文章:
      
http://blog.csdn.net/hp_2008/article/details/7378821
 
    2,编译 libjniaudi.so libjnivideo.so
   
     havlenapetr在github上的另一个开源项目,修改过的frameworks/base/native/ 
https://github.com/havlenapetr/android_frameworks_base
   现在的这个项目native目录下已经没有我们需要的东西了,我用的是git下载的代码,只要git checkout froyo,回滚到之前的版本就会看到了。
   
   2.3下编译源码的步骤
   1). 将android_frameworks_base/native文件夹下的 video和audio文件夹 复制到android源码/frameworks/base/native/文件夹下。
   
   2). 将android_frameworks_base/native/include/android/surface.h 和 android_frameworks_base/native/include/android/audiotrack.h  复制到android源码/frameworks/base/native/include/android/文件夹下。
   
   3).将frameworks/base/native/video/jni/surface.cpp中32行mSurface改为mNativeSurface.
   
   4). 在android源码文件夹下,
    source build/envsetup.sh
    lunch 1
    make
 
最后,这样就能在 out/target/product/generic/obj/lib/中找到libjniaudio.so libjnivideo.so,
将这两个so文件和havlenapetr-FFMpeg编译好的libffmpeg.so(默认生成libffmpeg_jni.so,修改Android.mk生成库名为libffmpeg.so。不管叫什么,只要和你工程中加载的名相同就行)
放到FFMpeg下libs/armeabi下就可以了。

三、FFMpeg框架结构介绍

http://blog.csdn.net/wangjianzhongfj/article/details/7622045   
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值