音视频入门知识(七):时间戳及其音视频播放原理

ops/2025/1/2 2:28:04/

七、时间戳

解码时间戳DTS和显示时间戳PTS

  • 解码时间戳(DTS)

    定义:读入内存中的比特流在什么时候开始送入解码器中进行解码

    作用:DTS 主要应用在编码视频流中,其中 B 帧(双向预测帧)和 P 帧(前向预测帧)的解码顺序与显示顺序不同。DTS 确保视频解码器按正确的顺序解码帧,以便生成正确的显示帧序列。

    DTS 决定解码的顺序,因此即使 PTS 顺序不同,DTS 顺序始终保证数据按预测关系进行解码。

  • 显示时间戳(PTS)

    **定义:**解码后的视频帧什么时候被显示出来

    作用:PTS 主要用于控制视频帧的显示顺序,确保视频播放的流畅性和帧的准确显示。PTS 帮助解决因为帧间预测而导致的显示顺序与解码顺序不同的问题

    PTS 的顺序是帧显示的顺序,尤其是在包含 B 帧的情况下。PTS 顺序和 DTS 顺序可能不同。

举例:帧序列:I B B P

  • 解码顺序(DTS):I P B B 显示顺序(PTS):I B B P

附录:音视频播放原理

解协议->解封装->解码->音视频同步->播放

thePaht


http://www.ppmy.cn/ops/146326.html

相关文章

C++标准模板库(STL)的概念

STL(Standard Template Library)标准模板库是 C 标准库中的一部分,标准模板库为 C 提供了完善的数据结构及算法。 STL 标准模板库包括三部分:容器、算法和迭代器。 容器 STL 的容器有:vector、stack、queue、deque、…

小程序canvas画环形百分比进度图

组件封装 component/canvas-ring目录下 canvas-ring.js <canvas style"width:{{canvasWidth}}px;height:{{canvasWidth}}px; margin:0 auto;position:relative" type"2d" id"myCanvas"><view class"circle-bar" style&quo…

Jenkins 命令行多线程并发下载制品包

为什么要用 Jenkins 命令行&#xff1f; 对于在日常学习、工作中喜欢在命令行终端的同学而言&#xff0c;自然不用做过多的解释&#xff0c;甚至希望能能在命令行中搞定一切&#xff0c;比如&#xff1a;播放歌曲、提交代码、搜索文件等等。毕竟&#xff0c;命令行要比来回切换…

25秋招面试总结

秋招从八月底开始&#xff0c;陆陆续续面试了不少&#xff0c;现在也是已经尘埃落定&#xff0c;在这里做一些总结一些我个人的面试经历 腾讯 腾讯是我最早面试的一家&#xff0c;一开始捞我面试的是数字人民币&#xff0c;安全方向的岗位&#xff0c;属于腾讯金融科技这块。…

第1关:博客系统数据库设计与实现之查询

任务描述 本关任务&#xff1a;通过 JDBC 的方式查询 MySQL 表 t_user 中的数据。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; JDBC 如何连接数据库&#xff1b; JDBC 如何查询表中数据。 JDBC JDBC&#xff08;Java DataBase Connectivity&#xff09;是…

开源软件兼容性可信量化分析

开源软件兼容性可信量化分析 课程&#xff1a;软件质量分析 作业 开源软件兼容性问题严重程度分成哪4级&#xff1f;分别表示什么风险&#xff1f;版本间兼容性可信度量公式什么&#xff1f;等级划分表是什么&#xff1f;阐述软件间兼容性测试框架以及面向Java和C的工具平台框…

.net core 的循环实现

Python基础 引言 Python是一种广泛使用的高级编程语言&#xff0c;以其简洁的语法、强大的功能和广泛的应用场景而受到开发者的青睐。从网页开发到数据分析&#xff0c;从人工智能到自动化脚本&#xff0c;Python无处不在。本篇文章将深入探讨Python的基本概念、语法以及一些…

【面试系列】深入浅出 Spring Boot

熟悉SpringBoot&#xff0c;对常用注解、自动装配原理、Jar启动流程、自定义Starter有一定的理解&#xff1b; 面试题 Spring Boot 的核心注解是哪个&#xff1f;它主要由哪几个注解组成的&#xff1f;Spring Boot的自动配置原理是什么&#xff1f;你如何理解 Spring Boot 配置…