笔记:视音频基础6——视频基础
1.PPI: 即“Pixels Per Inch”,每英寸像素数。 PPI越高,图像就越清晰细腻。
2. 什么是编码:
编码,就是按指定的方法,将信息从一种形式(格式),转换成另一种形式(格式)。
视频编码:就是讲一种视频格式,转换成另一种视频格式。编码的目的是为了压缩,减少数据量。
3. 视频帧:I帧、B帧和P帧:
I帧:帧内编码帧,大多数情况下I帧就是关键帧,这是一个完整帧,无需任何辅助就能独立完整的显示的画面。
B帧:帧是双向预测帧,参考前后图像帧编码生成。需要前面的I/P 帧或者后面的P帧来协助形成一个画面。
P帧:前向预测编码帧。是一个非完整帧,通过参考前面的I帧或P帧生成画面。
4.刷新率:屏幕每秒画面被刷新的次数,分为垂直刷新率和水平刷新率。单位HZ,刷新率越高,图像就越稳定,图像显示就越自然清晰。
5.码率/比特率:
比特率即码率,单位时间播放连续的媒体如压缩后的音频或视频的比特数量。常用单位“比特每秒”,缩写是“bit/s”。比特率越高,带宽消耗得越多,可以理解成吞吐量或带宽。
6. CPU:中央处理器。
GPU:图形处理器。专为执行复杂的数学和几何计算而设计的,拥有2D或3D图形加速功能。
GPU相比于CPU,有更强大的2D、3D图形计算能力,可以让CPU从图形处理的任务中解放出来,执行其他更多的系统任务,这样可以大大提高计算机的整体性能。
硬件加速(Hardware acceleration):就是利用硬件模块来替代软件算法以充分利用硬件所固有的加速特性。硬件加速通常比软件算法的效率要高。将2D、3D图形计算相关工作交给GPU处理,从而释放CPU的压力,也属于硬件加速的一种。
7. 音视频封装相关知识简介:
(1)数据封装:笼统的将,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。
(2) 解封装:就是封装的逆过程,拆解协议包,处理包头中的信息,取出净荷中的业务信息。
(3)数据封装和解封装是一对逆过程。
(4)封装格式:也成多媒体容器,可以理解为音视频容器,比如常见的视频后缀名:mp4、rmvb、avi、mkv、mov等就是音视频的容器,它们将音频和视频甚至字幕一起打包进去,封装成一个文件。
(5)视频文件的封装格式并不影响视频的画质,影响视频画质的是视频的编码格式。
8. TS:
TS全称是MPEG2-TS,MPEG2-TS是一种标准容器,传输与存储音视频、节目与系统信息协议数据,广泛应用于数字广播系统,如数字机顶盒接收到的就是TS(Transport Stream,传数流)。
TS传输流:首先需要先分辨TS传输流中的几个基本概念:
ES(Elementary Stream):基本流,直接从编码器出来的数据流,可以是编码过的音频、视频或其它连续码流。
PES(Packetized Elementary Streams):PES流是ES流经过PES打包处理后形成的数据流,在这个过程中完成了将ES流分组、加入包头信息(PTS、DTS等)操作。PES流的基本单位是PES包,PES包由包头和payload组成。
PS流(Program Stream):节目流,PS流由PS包组成,而一个PS包又由若干个PES包组成。一个PS包由具有同一时间基准的一个或多个PES包符合合成。
TS流(Transport Stream):传输流,TS流由固定长度(188字节)的TS包组成,TS包是对PES包的 另一种封装方式,同样由具有同一时间基准的一个或多个PES包复合合成。PS包是不固定长度,而TS包为固定长度。
为了便于传输,实现时分复用,基本流ES必须打包,就是将顺序连续、连续传输的数据流按一定的时间长度进行分割,分割后的小段叫做包,因此打包也称为分组。
MPEG-2标准中,有两种不同的码流可以输出到信号,一种是节目流(PS Program Stream),一种是传输流(TS Transport Stream)。
小结:
(1)原始音视频数据经过压缩编码得到基本流ES流,
生成的ES基本流比较大,并且只是I\P\B这些视频帧或音频取样信息。
(2)对ES基本流进行打包生成PE。
通过PES打包器,首先对ES基本流进行分组打包,在每一个包前加上包头就构成了PES流的基本单位——PES包,对视频PES来说,一般是一帧一个包,音频PES一般一个包不超过64KB。
PES包头信息中加入了PTS、DTS信息,用于音视频的同步。
(3)统一时间基准的PES包,经过TS复用器生成TS传输包。
PES包的长度通常都是远大于TS包的长度,一个PES包必须由整数个TS包来传送,没装满的TS包由填充字节填充。PES包进行TS复用时,往往一个PES包会分存到多个TS包中。将PES包内容分配到一系列固定长度的传输包(TS Packet)中。TS流中TS传输包头加入了PCR(节目参考时钟)与PSI(节目专用信息),其中PCR用于解码器的系统时钟恢复。
9. M3U8
M3U8是Unicode版本的M3U8,用UTF-8编码。m3u8文件其实是HTTP Live Streaming(缩写为HLS)协议的部分内容。HLS的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。在开始的一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的媒体流。
10. M3U8文件简介:
m3u8文件实质是一个播放列表(lpaylist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。内部文字使用utf-8编码。
对于点播来说,客户端只需按顺序下载m3u8文件,依次进行播放即可。
对于直播来说,客户端需要定时重新请求该m3u8文件,判断是否有新的片段数据需要进行下载并播放。
11. PTS和DTS:
(1)DTS(Decoding Time Stamp)是标识读入内存中bit流在什么时候开始送入解码器中进行解码。也就是解码时间戳。
(2)PTS(Pressentation Time Stamp)用于度量解码后的视频帧什么时候被显示出来。在没有B帧的情况下,DTS和PTS的输出顺序是一样的,一旦存在B帧,PTS和DTS则会不同。也就是显示时间戳。
12. GOP,即Group of picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离。
学习资料参考 && 致谢:
1.https://ke.qq.com/course/list/%E7%A6%8F%E4%BC%98%E5%AD%A6%E8%8B%91?page=1
2.https://study.163.com/instructor/1028768736.htm
3. https://support.shangzhibo.tv/hc/kb/article/1028655/
笔记:视音频基础6——视频基础相关推荐
- 音视频开发(5)---FFMPEG视音频编解码零基础学习方法
FFMPEG视音频编解码零基础学习方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/leixiaohua1020/article/details/ ...
- FFMPEG视音频编解码零基础学习方法
总结]FFMPEG视音频编解码零基础学习方法 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的"大神",有的是刚 ...
- 实验一 利用ffmpeg进行视音频信息提取 |音视频技术
实验一 利用ffmpeg进行视音频信息提取 |音视频技术 一.实验目的 1.深入掌握视音频的基本参数信息 2.掌握ffmpeg编译环境配置 3.掌握和熟悉提取视音频文件的基本方法 二.实验要求 1.对 ...
- 《音视频开发进阶指南》读书笔记(一) —— 音视频基础概念
前言 最近要学音视频,在图书馆借到这本<音视频开发进阶指南>,读了一段时间觉得挺好就在某宝买了. 以后一段时间应该都会沉浸在研究音视频中,开个专题记录哈每一章的读书笔记吧(以iOS开发的角 ...
- [总结]FFMPEG视音频编解码零基础学习方法--转
ffmpeg编解码学习 目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ff ...
- [总结]FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的"大神",有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然 ...
- [总结]FFMPEG视音频编解码零基础学习方法【转】
本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/15811977 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFM ...
- ffmpeg笔记(一)音视频基础
1 图像基础概念 1.1 像素 像素是一个图片的基本单位 pix 是英语单词 picture 的简写 加上英语单词 元素 element" 就得到了 pixel" 简称 px 所以 ...
- 【音视频】[总结]视音频编解码技术零基础学习方法
转载地址:https://blog.csdn.net/leixiaohua1020/article/details/18893769 [总结]FFMPEG视音频编解码零基础学习方法 [总结]视音频编解 ...
最新文章
- 3D视觉原理之深度暗示(即立体感)
- 量子态太「脆弱」如何纠错?MIT教授Peter Shor多年研究得到验证
- java web 的标准目录结构(zz)
- Leetcode 148. 排序链表 解题思路及C++实现
- 【CyberSecurityLearning 31】Linux网络信息查看与配置、日志文件的管理、备份及日志服务器的搭建
- 创建新的option
- 普通IO流字符输入输出流文件拷贝
- Pandas GroupBy 分组(分割-应用-组合)
- gim-实时通讯框架
- 5.3bash编程初步
- ( 4 )MySQL中的数据类型(字符串类型)
- redis string底层数据结构
- 体验ASP.NET 2.0客户端回调功能(CallBack)
- 141.PHP 对象赋值
- 山山的数学(简单版)
- Flash Builder 4.6桌面项目在Flash Builder 4.7中打开遇到的问题
- git config配置
- ffmpeg命令分析-acc
- 使用ROS提取udacity .bag文件中的压缩图片
- 使用Ballerina构建API网关