FFmpeg开发——深入理解pts,dts和timebase

本文详细介绍了FFmpeg开发中的时间基(time_base)、PTS(Presentation Time Stamp)和DTS(Decode Time Stamp)的概念。时间基表示时间的刻度,如{1, 25}代表每格1/25秒。PTS用于指示解码后的视频帧显示时间,DTS指示开始解码的时间。在B帧存在时,解码顺序与播放顺序不同。通过时间基转换,可以计算视频总时长、帧的位置等。ffmpeg内部时间戳以微秒为单位。" 139253181,11814785,精密注射成型技术在按钮开关支架模具设计中的应用,"['模具设计', '注射模', '精密制造', '塑料制品', '毕业设计']
摘要由CSDN通过智能技术生成

概述

本文将以具体视频播放器开发过程中遇到的具体问题,来系统地阐释pts,dts和timebase的概念。

1.时间基

在FFmpeg开发中,经常会遇到结构体中有time_base这个成员,通过头文件查看他的类型是AVRational

typedef struct AVRational{
   
    int num; ///< numerator
    int den; ///< denominator
} AVRational;

那么AVRational到底表示了什么呢?

AVRational这个结构标识一个分数,num为分子,den为分母。实际上time_base的意思就是时间的刻度。

如果把1秒分为25等份,你可以理解就是一把尺,那么每一格表示的就是1/25秒。此时的tim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值