转自:http://www.cnblogs.com/skyseraph/archive/2012/03/23/2415018.html
作者:SkySeraph
【流媒體】Android 实时视频采集/编码/传输/解码/播放—方案调研(初)
SkySeraph Mar 23rd 2012
Email:zgzhaobo@gmail.com QQ:452728574
实时视频流采集
方案一: 通过Android Camera拍摄预览中设置setPreviewCallback实现onPreviewFrame接口,实时截取每一帧视频流数据
方案二: 通过Android的MediaRecorder,在SetoutputFile函数中绑定LocalSocket实现
方案三: 流媒体服务器方式,利用ffmpeg或GetStreamer等获取Camera视频
方案四: 待补充...
压缩编码
方案一: 不编码,直接通过Socket传输原始YUV420SP视频帧
方案二: JPEG. 将原始YUV420SP视频帧压缩转换为JPEG格式,JPEG传输
方案三: H.264/AVC.将原始YUV420SP视频帧压缩成H.264再传输
常见的基于H264的开源Encoder有JM、X264、T264、Hdot264等
方案四: MPEG4.将原始YUV420SP视频帧压缩成MPEG4再传输
方案五: 待补充...
传输
方案一: Socket传输
方案二: HTTP传输
方案三: RTP/RTSP传输
方案四: 流媒体服务器方式,如live555等
方案五: 待补充...
解码
与编码对应的的解码器
视频播放
方案一: 通过Android VideoView
方案二: 通过Android MediaPlay
方案三: 通过Canvas直接粘贴帧图
方案四: 待补充...
2012-3-31 修补