音视频基础 - TS码流解析(一)

有一些音视频初学者想要了解TS码流结构,但网上资料不全或者讲得不够清楚,使得学习过程变得异常艰难。这一篇内容将对TS码流结构做详尽解析,争取做到通俗易懂,成为最好的TS码流解析文章。

本篇TS码流解析将会参照Android的ATSParser代码。

首先我们要知道一个标准的TS包一般有188字节,但是也有TS包是192字节或者204字节的情况。同一路TS流中,每个TS包大小是一致的,不会同时出现188字节和192字节的TS包。接下来的文章中,我们只解析标准188字节的TS包。

标准TS包包括一个4字节的包头、n字节自适应域(可选)和184-n字节的负载(可选),可选的意思是它可能在TS包中存在,也可能不存在。TS包的结构如图:

在这里插入图片描述

图中橙色部分是包头(header),蓝色部分是自适应域(adaptation field),黄色部分是负载(payload)。

1、TS Header解析

4字节包头共包含有8个字段,接下来依次解析包头字段:

  1. sync_byte:同步字节,值为0x47,关于同步字节有以下几点需要了解:
    • 同步字节表示一个新的TS包的开

相关推荐

  1. TS解析(三)PES

    2024-04-26 15:12:03       17 阅读
  2. 视频

    2024-04-26 15:12:03       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 15:12:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 15:12:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 15:12:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 15:12:03       20 阅读

热门阅读

  1. Reactjs数据篇

    2024-04-26 15:12:03       12 阅读
  2. ubuntu创建新用户,添加用户权限,删除用户

    2024-04-26 15:12:03       15 阅读
  3. 修改k8s kube-proxy转发为ipvs

    2024-04-26 15:12:03       43 阅读
  4. CLion的详细介绍

    2024-04-26 15:12:03       49 阅读
  5. 20240425-线程基础-线程的使用(一)

    2024-04-26 15:12:03       15 阅读
  6. 使用脚本定时备份MySql数据库文件

    2024-04-26 15:12:03       34 阅读