这几天在实验室捣鼓着用ffmpeg做视频解码,终于把数据解出来了,虽然还没有做显示部分,不知道解码解得对不对,但料想是不会有什么问题了.回头看看这几天的工作,其间也遇到了不少问题,主要还是对ffmpeg解码过程不熟悉,现总结了ffmpeg解码的顺序大致如下:
1.初始化解码器:avcodec_init();
2.注册所有格式和解码器:av_register();
3.打开文件:av_open_input_file(filename);
4.取出数据流信息:av_find_stream_info();
5.判断数据流是否为视频,并提取器编码信息:AVCodec->codec_type == CODE_ID_VIDEO;
6.根据编码信息寻找相应的解码器:avcodec_find_decoder(AVCodecContext->codec_id);
7.打开视频解码器:avcodec_open();
8.为视频帧分配内存以存储解码后的图片:avcodec_alloc_frame()
9.确认缓冲区的大小并分配缓冲空间:avpicture_get_size(); avpicture_fill();
10.开始解码直至所有帧均被读出:avcodec_decode_video();
相关文章
- 04-09利用ffmpeg做视频解码的顺序
- 04-09利用FFMPEG以及EasyRTMP实现读取H.264文件推RTMP视频流的两种方式
- 04-09FFmpeg 命令行 视频顺序拼接(具备相同的音视频格式和分辨率)
- 04-09基于 FFMPEG 的视频解码(libavcodec ,致敬雷霄骅)
- 04-09基于ffmpeg的简单音视频编解码的例子
- 04-09[转载] 问题解决:FFmpeg视频编解码库,无法解析的外部信号
- 04-09ffmpeg编解码视频导致噪声增大的一种解决方法
- 04-09利用FFmpeg生成视频的缩略视频 v8.3
- 04-09最简单的基于FFmpeg的移动端样例:IOS 视频解码器
- 04-09一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——解码篇:(一)用ffmpeg解码视频