点击
搜索 / Search

Ok, 我们来开坑。Lz也是纯粹的一个新手,不过这次准备开始挖坑,也当作一边学习一边传播知识。各位不喜勿喷。

从标题你大概可以知道我准备挖的这个系列坑大致是什么内容。嗯,有这个想法的一个起源是在群里有人会问的一些关于视频格式或简单的制作问题。我学艺 不精,只能粗略的把一些简单的知识拿出来与各位共享。大部分内容援引自贴吧,论坛,知乎的大触们,在这里我也只是做一个简单的总结,希望能帮到一些人,也 希望见到这篇帖子的人多提一些建议,这样好根据大家的想法调整文章的内容。话不多说,进入正题。

今天首先解决的一个问题就是地球上为什么存在着那么多视频的格式。嗯,从身边入手。我们会发现,每天我们都在和各种视频打交道,电视上的节目,网站 上的动漫,你下到电脑里的学习资料片……嗯,所有这些东西都不是凭空存在的,而是通过一定的规则进行处理,最后发布。现在你去翻翻自己电脑里的隐藏文件 夹,看看每一段电影后面是不是会有类似于“.avi,.mp4,.rmvb”之类的后缀名。简单说来这就是视频格式。那么视频格式究竟是什么玩意儿,它有 什么用,不同的视频格式究竟代表了什么含义,我们继续。

先看百科定义http://baike.baidu.com/view/1913821.htm

http://zh.wikipedia.org/wiki/%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E6%9C%AF%E8%AF%AD%E5%88%97%E8%A1%A8(第一部分)

严格意义上讲常见的这些视频格式是一种封装容器的名称。影响视频质量的根本原因在于压制视频时使用的编码器,所以有时你会发现,一个后缀名为.hlv的视频,你把它改为.flv或.mp4都可以播放(前提是容器支持同样的编码器)。以下是常见的视频容器格式拓展名:

Windows Media:wmv,asf,wmvhd

Mpeg:dat(VCD),vob(DVD),mpg/mpeg,3gp/3g2(手机)

Flash video:flv,f4v

Matroska:mkv

Real Media:rm,rmvb

AVI:avi

QuickTime File Format:mov,qt

Ogg:ogg,ogv,oga

这一堆英文字我看着都烦。简言之,日常最主要的格式有:wmv,mp4,mkv,rmvb,flv。其中关于mp4我特别还要再提一些,一开始我去 查常用视频格式时,发现大多数文章都没有列出mp4,但我知道mp4是归属于MPEG-4规范之下的,所以我单独搜了一下,然后找到了一堆更恐怖的东西:

http://baike.baidu.com/subview/1358/8980006.htm

http://zh.wikipedia.org/wiki/Mp4

百度百科给的相当细,由wiki查到平时所说的mp4是整个规范的一个子集。不过现在人们更多的将mp4当作视频封装容器使用。接下来我来说一下容器的问题。

首先解释容器这个词的含义。

http://baike.baidu.com/view/3634205.htm

http://zh.wikipedia.org/wiki/%E8%A7%86%E9%A2%91%E6%A0%BC%E5%BC%8F

解释都很笼统。通俗的讲,我举一个例子,如果把一个视频文件比作一份盒饭的话,里面的饭菜就是音视频流,包括字幕之类;而容器就是包在外面的聚乙烯 泡沫塑料饭盒。这么说应该比较清晰了。当然,没有盒包着的盒饭也能吃,不过他就带不走了。容器出现的意义就是为了满足视频发布的需要。在一个视频容器里, 我可以放各种套餐,比如宫保鸡丁盖饭,咕咾肉盖饭,鱼香肉丝盖饭,甚至就是一盒白米饭。最常见的容器格式是mkv,这种开源的视频容器支持多种不同编码方 式的视频流和音频流,并可内嵌字幕,故而受到广大资源组的欢迎。不过有时如果你用硕鼠下载一些网站上的视频,会得到类似这样的格式:

19772499.flv

国内大多数网站使用的视频格式为flv,这个在前面的列表里有它。关于flv,这里借用知乎上一位大触的解答:FLV 和 F4V 用得多,不代表都是 “人类” 用的。[1]这 话说的很对。国内各大主流的视频分享网站,为了节约服务器开支,所以都会把用户上传的视频二次压制为低码率的flv格式,便于播放。这些都是在服务器后台 完成的,一般我们不会特意关注,除非追求画质,所以先在本地压制好合适的flv,再上传到网站。关于压制这一部分会在以后详细说明。回到容器的话题 上,flv也不错,但主要用于在线视频,所以一般不常见。

大致说了一下容器的事,下面来说一下盒饭的内容。这一块主要涉及编码的知识,还是先上百科:

http://baike.baidu.com/view/746807.htm

http://zh.wikipedia.org/wiki/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81%E5%99%A8

惯例上度娘下维基,这里就深入浅出了(翻回头来看,我邪恶了)。首先要搞明白的一件事是,利用算法压缩音频和视频的这个过程叫做编码。反之叫做解 码。一秒钟原始未压缩的avi文件就有大概几十兆,而利用合适的编码技术,可以把这个数值限制在几百千字节。目前主流的视频编码技术主要是H.264,几 乎世界上所有的视频软件都支持这种编码方式的视频。编码器的好坏,同一编码器的参数设置,共同决定了成品视频的质量。这就好比是做饭的厨子,厨子的手艺决 定了盒饭好不好吃。仅就个人目前的经验来看,NVidia cuda编码器压出来的视频质量不高,而且我用mc压制时经常性报错,可能有设置上的问题,也许是我的显卡不够(gt750m)。总之这时候还是软编码好,为了视频质量。大致上这么讲,应该可以说明编码器的用处吧。

这里再引一个链接,有关容器和支持的编码间的对应关系:

http://baike.baidu.com/view/1942911.htm

一个好的编码方式,配合合适的容器,一个视频就拥有了整个世界!

嗯,基本上想说的就先是这么多。这个坑看来要挖的很大,我会不定期填,中间有可能插入一些短篇文章,下一次更新大致要在两个礼拜以后。欢迎各种层面 上的探讨,也希望有更专业的人指出文章中的错误,以便改正。我是于桑,希望这个系列可以帮助到一些人,谢谢你看到这儿,下次见。

另:[1]补充引用的知乎回答http://www.zhihu.com/question/21437096,这里面的说法更加细致,并解释了一些视频格式为什么被各大字幕组继续使用,即使它过时了的原因。

声明: 本站所有图文遵循 署名-非商业性使用-相同方式共享 3.0 共享 协议.
转载请注明转自 ershiwo的私人研究所
标签:

1 Comments

  1. 沙发

    2017.08.15 at 00:15
    #1