前一段时间实现了局域网内windows平台流媒体实时采集和传输。按项目要求,windows平台采集的视频最终呈现到android平台上,所以决定先从android模拟器着手。
接收端要做的工作就是接收、解码和显示。
需要考虑的问题有:
1.android平台是否有内置的接收和解码的库,如果有能否与windows平台互通?
2.如果没有内置接收和解码库,自己从底层做起,自己封装原始的API,这样工作量大,难度也大,不是很现实;考虑第三方的库,传输采用jrtplib,解码采用的标准为H264,但实现的库还没有选择好,另外还涉及NDK问题。
android如何使用jrtplib?可能的方法:交叉编译(在linux下编译或windows下使用cygwin编译,cygwin的安装非常耗时)得到lib**.so库——使用NDK得到JNI形式的库——在android中加载、使用。使用cygwin可参考Cygwin+Android NDK方式编译ffmpeg库。还有人说jrtplib不如ortp容易编译,如果jrtplib遇到问题无法解决,就尝试ortp。。。
基本思路:1.实现windows平台与android模拟器基于rtp的传输2.实现android模拟器视频播放器3.将以上两者结合起来
在这里做一个开篇,下面打算好好研究下 SDK-Dev Guide中关于音视频的内容,后面会将一些新的体会陆续发到这里来。。。
-----------------------2011-10-19-------------------------
为今天,默哀。。。
看SDK、查网络资料得出这么个结论:对于视频编码采用android.media下的MediaRecorder,但需要硬件支持,要在真机上进行;解码就是MediaPlayer,支持软解。
可以参考下面这篇博文http://www.oschina.net/code/snippet_54100_1425