2011-8-12 22:12:15

 

 

2011-8-12 22:12:15


把手机软件在测试一下


 
  基于FFmpeg+SDL_android。FFmpeg用于视频文件的解码输出,SDL + EGL用于解码后视频的输出。输出到Android的Surface显示出来。虽然有点迟,但是自己的方案还是实现了。
  开源的Surface输出代码寻找花了一定时间,主要是SDL1.2并不好用。做了某些调整才能搭建起来。基本的框架还是源于自己的想法。
  其中一些闭源的实现有RockPlayer,它是完全没有用到SDL的,用的大概是Java层直接的EGL swap的实现。Native code似乎是EGL的调用。还有一个就是WuZhenHua Player,就是后来的Super Player。用的也是SDL输出的思路。
  但毫无例外,软解rmvb格式都是用的FFmpeg的开源代码。只是一个是开源做得好些,另一个压根没提到使用了FFmpeg而已,甚至连libffmpeg的文件名字都不保留。


在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的公布可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。

不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。

众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

NDK包括了:

从C / C++生成原生代码库所需要的工具和build files。
将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。
支持所有未来Android平台的一些列原生系统头文件和库

VLC 媒体播放器成将在 2011年初推出基于 Android 手机的版本,但具体日期不定。而该播放器在今年10月时发布了苹果iOS上的版本。

Android 的版本已经开发数月,受困于 Android 的 Java 开发。而 Google 推出的 Android NDK 让这个问题迎刃而解。从而使 Android 版本的开发得以顺利进行,并能充分利用硬件的支持来改进软件的可用性。

如果你需要跟踪该版本的开发状态,请访问此处。

VLC media player (VideoLAN) 为windows、Linux、macos等平台提供一个视频播放器、解码器。它可以播放来自网络、摄像头、磁盘、光驱的文件,支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解码。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值