WebRTC源码分析4_AVI文件读写
来源:http://blog.csdn.net/lezhiyong
接口路径:
webrtc\trunk\src\modules\media_file\source\avi_file.h
代码模块:media_file
对avi文件的存储方式,可以google了解一下,或参考《AVI文件格式图表描述》点击打开链接
先对webRTC 的avi文件读写使用到几个结构体注释一下:
AviFile* _aviVideoInFile;_aviVideoInFile = new AviFile( ); _aviVideoInFile->Open(AviFile::AVI_VIDEO, filename, loop) AVISTREAMHEADER videoInStreamHeader; BITMAPINFOHEADER bitmapInfo; char codecConfigParameters[AviFile::CODEC_CONFIG_LENGTH] = {}; WebRtc_Word32 configLength = 0; if( _aviVideoInFile->GetVideoStreamInfo(videoInStreamHeader, bitmapInfo, codecConfigParameters, configLength) != 0){ return -1;}//从读取的bitmapInfo.biCompression看文件封装的视频格式,判断方式if (bitmapInfo.biCompression ==AviFile::MakeFourCc('V', 'P', '8', '0'))//代码现在支持读取文件的视频格式为MP4V-ES,I420,H263,VP8//读取视频数据 if( _aviVideoInFile->ReadVideo( reinterpret_cast<WebRtc_UWord8*>(outBuffer),length) != 0) { return -1; }