【流媒體】Android 實時視頻采集/編碼/傳輸/解碼/播放—方案調研(初)
SkySeraph Mar 23rd 2012
Email:skyseraph00@163.com
流媒體系列: http://skyseraph.com/2012/04/11/Media/流媒體專題/
實時視頻流采集
方案一: 通過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 修補