***MPEG-2 (aka H.222/H.262 as defined by the ITU) is a standard for "the generic coding of moving pictures and associated audio information".
MPEG-2 was the second of several standards developed by the Moving Pictures Expert Group (MPEG)
***MPEG transport stream (MPEG-TS, MTS or TS) is a standard format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data.
In telecommunications and computer networks, multiplexing (sometimes contracted to muxing) is a method by which multiple analog message signals or digital data streams are combined into one signal over a shared medium. The aim is to share an expensive resource. For example, in telecommunications, several telephone calls may be carried using one wire.
A device that performs the multiplexing is called a multiplexer (MUX), and a device that performs the reverse process is called ademultiplexer (DEMUX or DMX).
码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。可以轻易地实现多种视频格式之间的相互转换,例如在本例中可以把MP4,MOV等文件转成我们用来切片的MPEG-TS文件。
利用ffmpeg对视频文件进行转码 ,视频文件 -- >ts文件
利用软件segmenter将转换好的ts文件切割成多个ts片,并生成.m3u8的索引文件。
视频,其实是一张张连续图片快速显示形成的。首先了解几个词:
帧率:每秒显示的图片数
分辨率:(矩形)图片的长度和宽度,即图片的尺寸
码率:把每秒显示的图片进行压缩后的数据量。
视频码率是指每秒钟视频的数据量,码率越高视频质量好。码率大小还取决于分辨率、帧速率及编码器设置。
http://www.vmovier.com/43744
视频播放过程
- 3.1 H.261
- 3.2 H.263
- 3.3 MPEG-1第二部分
- 3.4 MPEG-2第二部分
- 3.5 MPEG-4第二部分
- 3.6 MPEG-4 第十部分
- 3.7 MPEG-H 第二部分
- 3.8 AVS
- 3.9 DivX,XviD和3ivx
- 3.10 WMV
高清
http://hexdigi.jimdo.com/2011/07/26/mpeg-h264-wmvhd-rmvb/
目前MPEG格式有三个压缩标准,分别是MPEG-1、MPEG-2、和MPEG-4,但真正能达到高清标准的只有MPEG-2和MPEG-4。MPEG文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法从而减少运动图像中的冗余信息。MPEG的压缩方法说的更加深入一点就是保留相邻两幅画面绝大多数相同的部分,而把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的。
相对于高清视频来说,MPEG-4格式 还显得有点不够用,因此它也不是主流的高清视频信号来源。这种视频格式的文件扩展名包括.asf、.mov和DivX 、AVI等。
H.264是一种高性能的视频编解码技术。目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。
当前在网络上见的最多的,肯定是RMVB视频,RMVB之所以这么流行,主要是RMVB在图像质量与文件大小之间取得了最好的平衡。
网络摄像机VS传统摄像机 http://www.xiangb.com/faq/faq_1660.html
http://blog.csdn.net/yangzhiloveyou/article/details/8832626
在视频压缩的过程中, I帧是帧内图像数据压缩,是独立帧。而P帧则是参考I帧进行帧间图像数据压缩,不是独立帧。在压
缩后的视频中绝大多数都是P帧,故视频质量主要由P帧表现出来。由于P帧不是独立帧,而只是保存了与邻近的I帧的差值,
故实际上并不存在分辨率的概念,应该看成一个二进制差值序列。
PTS和DTS
幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中的包有种叫做DTS(解码时间戳)和PTS(显示时间戳)的机制。为了这两个参数,你需要了解电影存放的方式。像MPEG等格式,使用被叫做B帧(B表示双向bidrectional)的方式。另外两种帧被叫做I帧和P帧(I表示关键帧,P表示预测帧)。I帧包含了某个特定的完整图像。P帧依赖于前面的I帧和P帧并且使用比较或者差分的方式来编码。B帧与P帧有点类似,但是它是依赖于前面和后面的帧的信息的。
GOP是由固定模式的一系列I帧、P帧、B帧组成。MPEG-2压缩的帧结构有两个参数,一个是GOP(Group Of Picture)图像组的长度,一般可按编码方式从1-15;另一个是I帧和P帧之间B帧的数量,一般是1-2个。前者在理论上记录为N,即多少帧里面出现一次I帧;后者描述为多少帧里出现一次P帧,记录为M。
对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中的信息。因此,帧可能会按照这样的方式来存储:IPBB。这就是为什么我们会有一个解码时间戳和一个显示时间戳的原因。解码时间戳告诉我们什么时候需要解码,显示时间戳告诉我们什么时候需要显示。所以,在这种情况下,我们的流可以是这样的:
PTS: 1 4 2 3
DTS: 1 2 3 4
Stream: I P B B
通常PTS和DTS只有在流中有B帧的时候会不同。