高清编码封装,编码与封装
高清编码封装,编码与封装(1)采用帧间压缩的视频编码格式,当前主流是H.264,未来主流应该是H.265。2、导出视频用于网络传播时对于Mac系统:ProPres对于Windows系统:Cineform(2)如果采用上述的的视频编码格式,默认会被封装为MOV文件格式。
如果想在剪辑视频或调色时更加高效,或者,想导出体积小并且质量高的视频,就得先搞清视频编码与视频封装的概念。\
先给出建议,如果不是很清楚的话,请参阅后面的内容。
1、在剪辑视频或调色时
(1)采用帧内压缩的视频编码格式。
对于Mac系统:ProPres
对于Windows系统:Cineform
(2)如果采用上述的的视频编码格式,默认会被封装为MOV文件格式。
2、导出视频用于网络传播时
(1)采用帧间压缩的视频编码格式,当前主流是H.264,未来主流应该是H.265。
(2)封装格式为MP4
(3)码率为5~10Mbps
【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发-学习视频教程-腾讯课堂
C 音视频开发学习资料:点击莬费领取→音视频开发(资料文档 视频教程 面试题)(FFmpeg WebRTC RTMP RTSP HLS RTP)
原因是: 码率越大,视频质量就越高,但文件体积也就越大。码率越小,文件体积变小,但视频质量也就越低。
一般的视频平台会将上传的1080P视频再次压缩到1.5Mbps左右的码率。所以,设置较高些的码率再导出视频,可保证上传后的视频画质。
视频封装
常见的视频文件的扩展名有 .mp4、 .mkv、 .mov、 .AVI等 ,这些文件扩展名就意味着文件的封装格式。
视频封装,其实就是把所有相关信息(视频、音频、字幕、媒体信息等)打包为一个文件。比如,将H.264编码的视频和MP3编码的音频按照MP4的封装标准封装起来,这样我们看到的就是MP4格式的视频文件了。
封装格式并不影响画质,它只负责把内部的视频轨和音频轨集成在一起,并不对内容造成影响。
封装标准虽然不影响视频质量,不过,不同的封装标准依然有不同的特点。
比如,较早的AVI格式只能封装一条视频和一条音频,而且不支持流媒体播放,所以,未来,AVI格式可能会被淘汰。而MP4是目前主流的封装格式,可以封装多种多条编码的视频和音频,还可以封装字幕。\
因此,某种视频文件如果不能导入到某个剪辑或调色软件中,这极大可能是封装格式的问题,或者是文件中的视频编码格式不被支持。
导出视频时,参考一下导出界面中的“估计文件大小”。如果达不到自己的要求,就需要调整分辨率、帧速率等参数了,影响最大的参数是视频编码的码率。也可以通过公式自行估算文件大小是多少MB。\
码率 × 时长(秒)÷ 8 ÷ 1024 ÷ 1024
【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发-学习视频教程-腾讯课堂
C 音视频开发学习资料:点击莬费领取→音视频开发(资料文档 视频教程 面试题)(FFmpeg WebRTC RTMP RTSP HLS RTP)
视频编码
1、视频编码的主流标准
视频编码可以说是一个视频文件的核心所在。视频编码有两个主流标准,一个是H.26X系列。另一个是MPEG系列。
(1)H.26X系列
H.26X包括H.261、H.262、H.263、H.264、H.265。
H.261、H.262主要用在视频会议和视频电话中,而H.264编码则是被广泛使用在视频的录制与压缩上。H.265 是在H.264的基础上进一步提升了图像质量,并且在压缩率上是H.264的两倍,被普遍认为是下一代编码标准。
(2)MPEG系列
MPEG则包括MPEG-1第二部分、MPEG-2第二部分、MPEG-4第二部分、MPEG-4第十部分等。
MPEG-1第二部分主要用在VCD,而MPEG-2第二部分一般在数字电视和广播系统中应用的比较多,MPEG-4第二部分则可以用在网络传输上,在压缩性能上也比前两代高。MPEG-4第十部分与H.264的标准十分接近,两个编码组织甚至合作,为这个标准命名为H.264/AVC,这也是目前主流的编码格式,我们所看的很多视频都是采用H.264编码。
2、视频压缩
压缩是视频编码的重要组成成分。先来看看一个15秒的未压缩的1080P(帧速率25fps,位深度12)视频大小:
1920×1080×12比特/像素×25帧/秒×15秒÷8÷1024÷1024÷1024≈1GB
这还不是一个视频文件的最终大小,因为视频文件里通常会包含音频信息,尽管音频信息的体积要远远小于视频。
要使得此原始格式的视频能进行正常传输或播放,则每秒钟需要读取或传输622M比特的信息,称之为比特率,又叫码率。
1920×1080×12比特/像素×25帧/秒÷10^6≈622Mbps
这个速率,目前的网络及机械硬盘都无法承受,所以必须要对视频进行压缩。
视频压缩分为有损压缩和无损压缩两种。
无损压缩是指压缩前和解压缩后的数据完全一致,通常压缩比比较低。有损压缩意味着解压缩后的数据与压缩前的数据不一致,在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,几乎所有高压缩比的算法都采用有损压缩,这样才能达到小体积、低比特率的目标。
压缩算法主要有两大类:帧内压缩和帧间压缩。
(1) 帧内压缩
帧内(Intraframe)压缩,也称为空间压缩(Spatial Compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像的压缩类似。帧内压缩一般达不到很高的压缩比。
由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑,因此,帧内压缩适合在剪辑调色视频时采用。\
常见使用帧内压缩的视频编码格式有:
ProRes
苹果公司推出,在苹果系统上高效优良。封装格式为QuickTime(.MOV)。
DNxHD/DNxHR
Avid公司推出,相当于Windows系统上的ProRes。封装格式为.mxf。
GoPro Cineform
当前非常高效的编码格式,可导出带有Alpha通道的视频。封装格式为QuickTime(.MOV)。
(2)帧间压缩
帧间(Interframe)压缩,也称为时间压缩(Temporal Compression),它通过比较时间轴上不同帧之间的数据进行压缩,由于视频中连续的帧之间具有很大的相关性,丢掉相邻帧之间的冗余量及一部分相关帧,就可以大大提高压缩比。
当然,如果这样,在解码播放视频时,需要耗费更多的电脑资源去计算出那些丢掉的信息。一般来说,这些计算出来的视频的画质肯定比不上原画质,但AI技术的来临可能改变这一结论。
帧间压缩适合在最终导出时采用。
常见使用帧间压缩的视频编码格式有:
MPEG2(DVD,已经过时)
H.264(MPEG4,当今网络传播最佳)
H.265(HEVC,尚待普及)
关于码率
码率(Bit Rate),也称比特率,或叫位速率,是单位时间内视频(或音频)的数据量,单位是bps(bit per second,位每秒),一般使用kbps(千位每秒)或Mbps(百万位每秒)。
不同的码率,决定了编码器的压缩视频的程度。反之,也是决定最终视频质量和文件大小的关键因素。
码率越低,表示压缩程度越高,画质越差。
码率越高,视频质量相对越高,视频文件也就越大。较高码率的视频在网络观看时通常需要缓存才能不卡顿,即使在本地观看,对电脑的性能也会有更高的要求。
影响码率大小的因素有:
C 音视频开发学习资料:点击莬费领取→音视频开发(资料文档 视频教程 面试题)(FFmpeg WebRTC RTMP RTSP HLS RTP)
(1)分辨率
比如,分别对1080p(1920x1080)和4K(3840x2160)的视频用5Mbps进行编码压缩,编码器会更多地压缩4K的视频从而达到5Mbps的码率,所以,画质反而比不上1080p.
附:常用视频分辨率\
标清Standard Definition:640 x 480p
高清High Definition:1024 x 720p
全高清Full High Definition:1920 x 1080p
超高清Ultra High-Definition:3840 x 2160(4K)、7680 x 4320(8K)
对于高分辨率和高帧速率的视频,需要更大的码率,才能在达到标清视频相同的画质。
(2)帧速率
帧速率也一样,帧速率越大,每秒的数据量就越高,在相同码率下,压缩的程度也就越大,最终画质将越差。
(3)色彩空间位深度
位深度影响码率的原理同上。
(4)编码器
不同的编码器由于压缩算法等不同,最终的编码质量也就有差异。比如,目前使用H.264在5Mbps码率下编码,图像质量比采用其他编码器好。
即便是H.264,内部也有不同的画质级别(基线、主要、高等)选择,使用“高”配置文件可比“主要”配置文件降低10%的码率。
“基线”配置文件(Baseline profile)多应用于实时通信领域;
“主要”配置文件(Main profile)多应用于流媒体领域;
“高” 配置文件(High profile)则多应用于广电和存储领域。
码率的分类
(1)CBR:静态码率(Constant Bit Rate),每一秒画面的码率都相同,适用于网络流媒体视频编码,恒定的码率可以保证视频在播放时,不会有卡顿缓冲等现象。
(2)VBR:可变码率(Variable Bit Rate),针对每一秒画面的细节多少,从而进行变化码率的视频编码,细节少的画面码率低,细节多的画面码率高。动态码率的好处是,在相同画质的前提下,可以缩小文件体积。
通常可变码率有三个常用参数:目标码率、最大码率、最小码率。目标码率代表整体的码率水平,最大码率和最小码率则表示根据视频内容可变化的码率区间。\
可变码率中还有一个扫描次数的概念。扫描次数(Passes),决定了编码器在执行压缩之前对整体内容进行分析的次数。分析的次数越多,码率的变动越优化越智能,但编码的时间会增长。
码率的设置
(1)上传到网络时,应使用5M~10M或更大的码率,因为一般的视频平台都会再次压缩,较高的码率容易保证画质。
(2)传到移动设备时,可以Adobe Media Encoder等软件里的预设,建议再适当提高一点点预设中的码率值。
(3)音频的码率:原理跟视频是一致的,只不过音频的数据量相对少很多,单位通常为kbps(千位每秒)。音频码率一般大于128kbps每秒就不会有多大问题。