ffmpeg解码流程(第二周内容摘要:

件中的流信息: av_find_stream_info(pFormatCtx); // 取出流信息 AVFormatContext 结构体 dump_format(pFormatCtx, 0, filename, false)。 //我们可以使用这个函 数把获取到得参数全部输出。 for(i=0。 ipFormatCtxnb_streams。 i++) //区分视频流和音频流 if(pFormatCtxstreams==CODEC_TYPE_VIDEO) //找到视频流,这里也可以换成音频 { videoStream=i。 break。 } 接下来就需要寻找解码器 AVCodec *pCodec。 pCodec=avcodec_find_decoder(pCodecCtxcodec_id)。 avcodec_open(pCodecCtx, pCodec); // 打开解码器 给视频帧分配空间以便存储解码后的图片: AVFrame *pFrame。 pFrame=avcodec_alloc_frame()。 /////////////////////////////////////////开始解码 /////////////////////////////////////////// 第一步当然是读数据: 我们将要做的是通过读取包来读取整个视频流,然后把它解码成 帧, 最 后转换格式并且保存。 while(av_read_frame(pFormatCtx, amp。 packet)=0) { //读数据 if(==videoStream) { //判断是否视频流 avcodec_decode_vide。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。