格式工厂视频转换视频编码哪个好,使用格式工厂进行视频格式转换
我们经常在电脑、电视、手机或者其他终端产品上看视频。我们对视频有一个大概的了解,包括清晰度,大小,视频类型,但是对视频的内部结构应该是一无所知。现在,让我们一步步揭开视频的神秘面纱。
首先要明确两个概念,视频文件格式和视频编码方案。
你平时看到的视频文件的后缀有mp4、rmvb、mkv、avi等。这些是文件扩展名,即视频文件格式。这些格式也称为容器格式。顾名思义,它们是用来装货的。请把它用作午餐盒和野餐篮子。通常我们从网上下载的电影都是有声音的,所以容器格式通常包含至少两个流。有时包括字幕。视频流和音频流就像饭盒里的小菜和米饭。以下是通过ffmpeg获得的视频的详细信息。
{ streams : index : codec _ name : H264 , codec _ long _ name : h . 264/AVC codec _ tag _ string : av C1 height :960, coded_width: 544, coded_height: 960, het pix_fmmm color_range: tv , color_space: bt709 , color_transfer: bt709 、 nal_length_size: 4 , r _ frame _ rate 听力受损 clean _ effects 3360 0, attached_pic: 0, TIC 360 tags :{ creation _ tti on } language : und , handler _ name : coremedia video },{ index codec _ name 3360 codec _ long _ name : AAC(advanced audio code), profile : LC , codec _ codec 3360 . codec_tag: 0x6134706d , sample_fmt: fltp , samp LTP channel _ layout : mono , avg _ frate start _ pts :0, start_time: 0.000000 , duration_ts: 661427, duration max_bit_rate: 48000 , nb_frames: 648 , disposition 3360 { default 360 , dub
z , language: und , handler _ name : Core Media Audio } }], format :{ filename : F: python project python session record module ffmpeg 1 . mp4 ,Nb _ streams: 2, nb _ programs: 0, format _ name: mov,MP4,M4A,3GP,3G2,冷艳的胡萝卜2 , format _ long _ name : QuickTime/mov , start _ time : 0.00 duration : 15.011678
视频编码方式是指容器格式的视频流数据的压缩编码方式,视频数据的编码方式不能只从文件格式的后缀看出来。也就是说,一个盖着xqdhb的饭盒里面,你分不清是什么配菜。
H.264是视频编码,aaC,mp3等。是音频编码。我们按照mkv封装标准封装H.264视频编码和MP3音频编码,这样我们看到的就是mkv格式的视频文件。格式不影响画质,只负责整合内部视频轨道和音频轨道,不影响内容。不过值得一提的是,虽然封装标准不影响视频质量,但是不同的封装标准还是有不同的特点。早期的avi格式只能封装一个视频和一个音频,不支持流媒体。avi格式在未来可能会逐渐被淘汰。MP4是MPEG的官方打包格式,可以打包多种编码的视频和音频,也可以打包字幕。Mkv不仅具备mp4的特性,还支持流媒体播放,因此广受市场欢迎。
视频编码可以说是一个视频文件的核心,而这也是我们大部分用户平时并不关注的。视频编码主流有两个标准,一个是H.26X系列。另一个是MPEG系列。H.26X包括H.261、H.262、H.263、H.264和H.265,H.261和H.262主要用于视频会议和可视电话,H.264编码广泛用于视频录制和压缩。H.265在H.264的基础上进一步提高了图像质量,压缩率是H.264的两倍,被广泛认为是下一代编码标准。
MPEG包括MPEG-1 Part II、MPEG-2 Part II、MPEG-4 Part II、MPEG-4 Part X,MPEG-1的第二部分主要用于VCD,MPEG-2的第二部分常用于数字电视和广播系统。MPEG-4的第二部分可用于网络传输,压缩性能高于前两代。MPEG-4的第十部分非常接近H.264标准,两个编码组织甚至合作将这个标准命名为H.264/AVC,这也是目前主流的编码格式。我们看的很多视频都是H.264编码的。
如果你想播放一个视频文件,第一步就是你的播放器(无论是软件还是硬件)要能解析对应的容器格式,也就是所谓的demux。第二步是你的播放器应该能够解码其中包含的视频流和音频流。这样电影才能播放。
举个不太恰当的例子,玩家就像是你雇佣的一个食物品尝师,他会品尝饭盒(视频文件),然后告诉你饭盒里有什么。
所以,试吃员首先要知道如何打开饭盒,也要知道你能吃的时候饭盒里有什么配菜,这样才能得到你想要的信息。
编码器MPEG-4、MPEG-4/AVC、H.264之间的联系与区别
在视频编码和解码技术的定义中有两个标准组织。一个是国际电信联盟(ITU)致力于电信应用,制定了低比特率可视电话的H.26x标准,包括H.261、H.262、H.263和H.264;另一个是国际标准化组织(ISO)定义了运动图像压缩的MPEG标准,主要针对消费类应用。MPEG标准包括MPEG1、MPEG2和MPEG4。
1.关于MPEG4
MPEG-1和MPEG-2技术最初制定时,它们的定位标准都是高级媒体表示和结构。然而,随着计算机软件和网络技术的飞速发展,MPEG-1和MPEG-2技术的缺点也逐渐显露出来:交互性和灵活性较低,压缩后的多媒体文件过大,无法实现网络的实时传输。
MPEG-4技术的标准是对运动图像的内容进行编码,其具体的编码对象是图像中的音频和视频,术语上称为‘AV对象’。AV对象的高效编码、组织、存储和传输是MPEG-4标准的基本内容。在视频编码中,MPEG4支持自然和合成视觉对象的编码。(合成的视觉对象包括2D、3D动画和面部表情动画等。).在一套编码工具的支持下,MPEG4-4可以对语音和音乐等自然声音对象以及具有混响和空间定向的合成声音对象进行编码。MPEG4的技术规格如下表所示:
2.关于H.264
主要制定国际通信标准的国际电信联盟ITU-T完成了H.263(视频会议流视频标准),并与ISO/IEC组织合作。这两个组织共同成立了一个名为JVT(Joint Video Team)的联合工作组,该工作组基于MPEG-4技术,开发了更适合视频会议的标准,并共同制定了新的标准。
这个标准在ITU-T中被称为H.264.但是ISO/IEC在MPEG系列中总结了这个新标准,叫做MPEG-4 Part 10 (Part 10,也叫ISO/IEC 14496-10)。MPEG-4 Part 10的另一个名称是MPEG-4 AVC(高级视频编码)。
从这里可以看出,所谓的H.264其实和MPEG-4/AVC是一回事,就是h . 264=MPEG-4 Part 10=ISO/IEC 14496-10=MPEG-4 AVC。
3.H.264和MPEG-4的区别
有了MPEG-4 Part 2,为什么ISO/IEC要用ITU-T的H.264?H.264和MPEG-4有什么区别?或者说MPEG-4 Part 10和MPEG-4 Part 2有什么区别?
虽然MPEG-4已经被设计用于互联网传输,提供了比MPEG-2更高的视频压缩效率和更灵活灵活的播放采样率,但就视频会议而言,总是希望进一步压缩,因此需要H.264。
H.264最有价值的部分无疑是更高的数据压缩比。在相同的画质条件下,H.264的数据压缩比可以比当前DVD系统中的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。
正因为如此,H.264压缩的视频数据需要的带宽更少,在网络传输过程中更经济。而MPEG-2需要6Mbps的传输速率匹配,H.264只需要1Mbps-2Mbps的传输速率。
你知道H.264的好处是什么吗?我们可以将MPEG-2、MPEG-4(MPEG-4 Part 2)和H.264(MPEG-4 AVC和MPEG-4 Part10)的分辨率性能与所使用的带宽进行比较,
无论MPEG-2、MPEG-4还是H.264,都可以达到19201080i(非隔行)高清(HD)和24fps(每秒24帧)的画质,但MPEG-2的传输带宽需要12 ~ 20 Mbps,而H.264只需要7 ~ 8 Mbps。更直接的说,如果把MPEG-2的带宽作为100%的基准,MPEG-4的带宽只需要60%就可以达到同样的效果,H.264的带宽低至40%,大约是原来MPEG-2的1/2到1/3。