资源说明:H264解码器源码,移植ffmpeg中的H264解码部分到Android,深度删减优化,在模拟器(320x480)中验证通过。
程序的采用jni架构。界面部分,文件读取,视频显示都是用java做的,底层的视频解码用C来做满足速度的要求。
在这个版本中,从H264码流中分割出Nal是在java层做的,这样在java层直接调用解码时就知道是否有显示视频,缺点的就是耦合度/封装性差一点。
如果采用在底层做Nal分割的方法,可以封装得好看一些,但是每次送的数据有限制,如果送的数据太多,底层可能会一次解码出好几帧视频,但是通知到界面层只能显示一帧,造成丢帧的现象。 如果每次送的数据较少,就会有很多次底层调用没有进行实质解码,很小气的做法,比如有一压缩数据帧需要600字节,如果一次送100个字节给解码器,那么要送6次才会进行实质解码,因为每个数据帧有大有小,所以只能取极小值才不会导致丢帧。
不过所有的编码解码都是各种因素平衡折中的结果,具体用什么方法具体分析。
如果程序崩溃退出,优先考虑:
1)是否是baseline
2)byte [] NalBuf = new byte[40980] 缓冲区是否溢出。
如果有B帧,那肯定不是baseline。
这个是测试码流
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。
-
- Apress.Android.EssentialsThis book covers the essential information required to build an Android applicat ...
- Android开发入门Android 开发入门 快速上手。
- android 记事本android 记事本android 记事本android 记事本android 记事本
- 最新的android开发插件ADT 0.9.0现在android上不去了,提供给大家下载
- android_book第一本介绍android下开发的电子书详细介绍了android的平台框架,以及如何在其平台下开发app,有大量的实践例子 ...
- Android Kernel Porting 的简单总结文档Android Kernel Porting 的简单总结文档 Android Kernel Porting 的简单总结文档 ...
- Android模拟器皮肤 三个新的Android模拟器皮肤 三个新的 G1 asus HVGA-P(修改版)
- Android编程指导 用户界面Android编程指导 用户界面 UI用户界面
- Android 應用框架原理與程式設計 36 技由於Android 正式(1.0)版和HTC/Android 實體手機皆已經上市了,因之本書 也針對Androi ...
- Android Anatomy and Physiology.pdfAndroid Anatomy and Physiology
-
- androidexample.rarandroidexample有130多个实例,是现在国内最全的ANDROID实例代码库,希望对大家有用 ...
- DNW_0.60C.rar三星 s3c6410 usb 下载工具 DNW 0.60C and usb drivers
- openGL-S.raropenGL-es 3D 正方体,触摸旋转,照片贴图,ANDROID的源代码
- usb_windows_composite_driver_and_serial_ethernet.zusb windows composite driver and serial ethernet MEIZU M8 android USB s3c6410 ...
- Android.rarandroid学习资料,入门第一课。我的学习心得,大家一起来学呀 ...
- IM-android.tar.gzAndroid平台上即时通讯聊天工具源代码。 支持手机聊天。
- BluetoothChat.rarAndroid平台下实现的蓝牙聊天软件,对想实现蓝牙程序的用户可以有一定的参考作用。 ...
- AndroidgameDevelop.rarandroid 游戏开发入门,介绍了架构
- ril.rarAndroid的Radio Interface Layer (RIL)提供了电话服务和的radio硬件之间的抽象层。Rad ...
- Android-code.zip《Android基础教程》的随书源码,可以方便学习该书的时候手动敲入源码出现错误时进行 ...