ffmpeg学习笔记(2)

本文详细介绍了FFmpeg的基本用法,包括视频文件的打开、关键概念如Iframe、Pframe和Bframe的理解,以及PTS和DTS的区别。同时,还探讨了ffmpeg内部结构体和函数的应用,并提供了多种资源链接以供深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于ffmpeg用法:(C++)

打开视频文件:http://blog.youkuaiyun.com/t1234xy4/article/details/51524195

PTS和DTS:

I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。

P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;

B frame: 双向预测内插编码帧 又称bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;

PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来

DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码。

在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的。

ffmpeg结构体以及函数介绍

http://www.cnblogs.com/xuanyuanchen/archive/2012/03/30/2423388.html

这个更厉害:http://blog.youkuaiyun.com/leixiaohua1020/article/details/14215833

指路AVcodec:http://blog.youkuaiyun.com/leixiaohua1020/article/details/14215833

使用ffmpeg的步骤(貌似是通用的,老师给的代码就有):

http://www.cnblogs.com/bandy/archive/2013/02/19/2916641.html

新老接口问题及对照集锦:

http://blog.youkuaiyun.com/wqvbjhc/article/details/6855633

帧率:每秒的帧数

width和height:视频的帧宽和高

音视频换算:

http://blog.youkuaiyun.com/gouguofei/article/details/40648979


默认的情况下,ffmpeg解码出来的数据都是PIX_FMT_YUV420P格式的,如果你后续的处理支持PIX_FMT_YUV420P格式,则就不需要进行img_convert的操作了,如果你后续的处理不支持PIX_FMT_YUV420P格式,则就需要调用img_convert转换为你所需要的格式,如PIX_FMT_BGR24,或是PIX_FMT_BGR32等等。
需要注意的是,img_convert是需要一定的计算的,所以尽量让你后续的处理支持PIX_FMT_YUV420P格式,省略img_convert的操作。

路径是\\   orz……

时间基转换公式:

http://www.cnblogs.com/yinxiangpei/articles/3892982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值