sensor 采集到YUV数据后,送到编码器进行编码,获取编码后的数据,然后进行封装发送,进行播放。

ES流

ES–Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。

ES流经过PES打包器之后,被转换成PES包。

ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。

每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。

PES流

PES–Packetized Elementary Streams (分组的ES),ES形成的分组称为PES分组,是用来传递ES的一种数据结构。

PES流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入包头信息等操作(对ES流的第一次打包)。

PES流的基本单位是PES包。PES包由包头和payload组成。

PTS、DTS

PTS–PresentationTime Stamp(显示时间标记)表示显示单元出现在系统目标解码器(H.264、MJPEG等)的时间。

DTS–Decoding Time Stamp(解码时间标记)表示将存取单元全部字节从解码缓存器移走的时间。

PTS/DTS是打在PES包的包头里面的,这两个参数是解决音视频同步显示,防止解码器输入缓存上溢或下溢的关键。每一个I(关键帧)、P(预测帧)、B(双向预测 帧)帧的包头都有一个PTS和DTS,但PTS与DTS对于B帧不一样,无需标出B帧的DTS,对于I帧和P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,所以一定要分别标明PTS和DTS。

PS

PS–Program Stream(节目流)PS流由PS包组成,而一个PS包又由若干个PES包组成(到这里,ES经过了两层的封装)。PS包的包头中包含了同步信息与时钟恢复信息。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。

TS

TS–Transport Stream(传输流)由定长的TS包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES也经过了两层的封装)。PES包的包头信息依然存在于TS包中。

TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。PS包由于长度是变化的,一旦丢失某一PS包的同步信息,接收机就会进入失步状态,从而导致严重的信息丢失事件。而TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。因此在信道环境较为恶劣、传输误码较高时一般采用TS码流,而在信环境较好、传输误码较低时一般采用PS码流。

TS单一码流、混合码流

单一性:TS流的基本组成单位是长度为188字节的TS包。

混合性: TS流由多种数据组合而成,一个TS包中的数据可以是视频数据,音频数据,填充数据,PSI/SI表格数据等(唯一的PID对应)。

基本流程


1)A/D转换后,通过MPEG-2压缩编码得到的ES基本流。这个数据流很大,并且只是I,P,B的这些视频帧或音频取样信息。

2)通过PES打包器,打包并在每个帧中插入 PTS/DTS标志,变成PES。原来是流的格式,现在成了数据包的分割形式。

3)PES根据需要打包成PS或TS包进行存储(DVD)或传输(DVB)。因每路音/视频只包含一路的编码数据流,所以每路PES也只包含相应的数据流。

参考文献

1、https://blog.csdn.net/huangblog/article/details/8740571
2、https://blog.csdn.net/yangguoyu8023/article/details/96894755

音视频流媒体————基本概念相关推荐

  1. FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发【零声学院】

    FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发 学习 音视频流媒体高级开发学习 01音视频基础 [录播]0-音视频开发高级课程简介(22分钟) 免费试学 [录播] ...

  2. 音视频基本概念和FFmpeg的简单入门(新手友好+FFmpeg资料分享)

    音视频基本概念和FFmpeg的简单入门 基本概念 容器/文件(Conainer/File): 即特定格式的多媒体文件,一般来说一个视频文件是由视频,音频,字幕等按特定的格式/规则组合到一起的,常见如: ...

  3. 音视频流媒体系统简述

    概述     本系列文章包含一个完整嵌入式音视频流媒体系统实现方案.主要包括音视频采集.编解码.编解封装.传输.播放渲染几个部分. 数据采集     主要是音视频原始数据的采集.从物理上来说,音频是一 ...

  4. 《音视频开发进阶指南》读书笔记(一) —— 音视频基础概念

    前言 最近要学音视频,在图书馆借到这本<音视频开发进阶指南>,读了一段时间觉得挺好就在某宝买了. 以后一段时间应该都会沉浸在研究音视频中,开个专题记录哈每一章的读书笔记吧(以iOS开发的角 ...

  5. 音视频基础概念(2)——音频

    目录 1. 基本知识 2.采样率和采样位数 3.音频编码 4. 声道数 5. 码率 6. 音频格式 日常生活中,音视频随处可见,包括视频.音频.编解码.封装容器.音视频等概念. 1. 基本知识 音频数 ...

  6. 从零实现简易播放器-0.音视频基本概念

    音视频基本概念 作者:史正 邮箱:shizheng163@126.com 如有错误还请及时指正 如果有错误的描述给您带来不便还请见谅 如需交流请发送邮件,欢迎联系 我的csdn : https://b ...

  7. 音视频基础概念(1)——视频

    目录 1.1 动画书 1.2 视频 1.3 视频帧 1.4 帧率 1.5 色彩空间 RGB与YUV YUV优势 RGB与YUV的换算 日常生活中,音视频随处可见,包括视频.音频.编解码.封装容器.音视 ...

  8. 音视频常见概念:软解硬解、IBP帧、GOP、YUV编码

    音视频常见概念 软解与硬解 IBP帧 GOP YUV编码 RGB与YUV相互转换 参考资料 软解与硬解 视频解码分为软解和硬解. 所谓"软解"就是通过软件让 CPU 进行视频解码处 ...

  9. Android 音视频流媒体相关知识导航

    文章目录 Android 音视频流媒体相关知识导航 相关博客专栏 RTP RTCP RTSP SRS SRT 等的含义 H264编码参数的设置 Zookeeper相关 ffmpeg 相关 SRS(Si ...

最新文章

  1. php 对象里还有哪些对象_PHP面向对象(OOP)之实例化对象的方法
  2. CloudFoundry命令行和Kubernetes命令行的Restful API消费方式
  3. pxe装机dhcp获取不到_小白三步装机版重装系统
  4. js方式调用php_javascript调用PHP和PHP调用javascript的方法
  5. ubuntu16.04下安装opencv出现libgtk2.0-dev配置失败问题解决方法
  6. docker删除所有镜像和容器
  7. adaptivitypara设置选0还是1_喝牛奶,选全脂还是低脂?家里人能不能喝同1种牛奶?...
  8. 小证明题 编译原理--题目原型:
  9. Unity 如何修改 particle system 的 start color 属性
  10. 路飞学城-Python开发集训-第2章
  11. cv2读取带中文路径方法
  12. 防止百度网盘和谐/暗中观察我的资源
  13. Android 平台视频播放器demo
  14. 奥维互动地图谷歌图源,通过自建Cloudflare Workers反代实现墙内访问 - DaPeng‘s Blog
  15. word应用:快速删除页眉横线
  16. 0x00007FF818BAD646 (ucrtbased.dll)处(位于 通讯录.exe 中)引发的异常: 0xC0000005: 写入位置 0x000000000000000C 时发生访问冲突。
  17. 记事本html特效,很漂亮的网页飘落特效代码
  18. Apache 网页与安全优化
  19. oracle水仙花,希腊神话中的水仙花和回声
  20. 2014 ACM-ICPC 亚洲地区赛 西安站小结

热门文章

  1. 第九层(16):STL终章——常用集合算法
  2. HAL库配置STM32F1系列定时器驱动步进电机(三)
  3. 免费好用的录屏软件OBS-Studio
  4. Android无限滑动控件实现
  5. Xamarin for android学习总结一
  6. 微信刷脸支付设备奖励计算延长一整年!
  7. 【canvas使用】
  8. Redis 设计与实现 读书笔记(菜鸟版)
  9. ubyntu 链接mysql_ubuntu下mysql连接(转载)
  10. 2021011029wxy-实验四