ffmpeg-编码流程

一.编码流程

1. 注册所有容器格式和CODEC:

av_register_all()

av_register_all()调用了avcodec_register_all()。因此如果调用过av_register_all()的话就不需要再调用avcodec_register_all()了。

2. 打开文件:av_open_input_file()

3. 从文件中提取流信息:av_find_stream_info()

4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO

5. 查找对应的解码器:avcodec_find_decoder()

6. 打开编解码器:avcodec_open()

7. 为解码帧分配内存:avcodec_alloc_frame()

8. 不停地从码流中提取出帧数据:av_read_frame()

9. 判断帧的类型,对于视频帧调用:avcodec_decode_video()

10. 解码完后,释放解码器:avcodec_close()

11. 关闭输入文件:av_close_input_file()

http://www.cocoachina.com/bbs/read.php?tid=283773&page=1#1245091

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 10,256评论 0 3
  • ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分,其有很多...
    城市之光阅读 11,800评论 3 6
  • 原文地址:http://blog.csdn.net/yipie/article/details/7912291 摘...
    冬的天阅读 11,981评论 1 6
  • 在上一篇笔记中我们已经完成了使用SDL播放声音和视频,声音播放没有什么问题,而视频播放太快,很明显视频没有同步。在...
    762683ff5d3d阅读 5,145评论 0 1
  • 狗今天走啦,一切回归正常的轨道。我们的轨迹就像一个交叉,已经经过汇合点,将越趋越远。 表面上十分冷静,毕竟是两个水...
    法棍红辣椒阅读 3,226评论 0 0