视频压制技巧点滴

唉看到了FC2那篇所谓的教你如何翻墙文章,真是淡淡的忧伤啊……orz

那么为了表示支持,还是继续发博文罢。

这几天由于在压樱花祭的视频,所以又重新开始研究压制相关的一些东西。我发现有些东西虽然当时看过了很简单,但是如果不常见练习很快就忘,即使将相关网页加成书签,以后找起来也挺麻烦;不如专门建立一个像这样的「剪贴簿」,把一些技巧收集起来。

需要声明的是这帖子完全是小白向,所以其中不免会有一些错误、不合理的想法和做法,如果有人阅读后能帮忙指正或者提出改进意见,那实在是感激不过。

1 处理视频前是否一定需要做demux?

我原来其实只压过DVD,所以一切步骤都是按照MeWiki上那篇简易dvdrip教程来的。里面提到了要用DG creator先把音轨demux出来,同时再用那个d2v/dga的索引文件制作AVS(提示:如果看一些比较老的教程里可能不是叫DG Creator,因为原来有两个DGIndex和DGindexNV或DGAVCIndex是分开的,现在新版megui都合并到一起了)。

但是我们现在在AVS里面Source可以选成DSS(DirectShowSource),那么是否还一定要有这一步呢?我只能说不知道。但是理论上来说,还是应该先demux音频←其实这不是关键,关键是那个索引文件,对视频接下来的读取和压制都会有引导作用。

但是有些时候,会发现有的视频用DG Creator搞不定,表现为Process开始后根本干读秒不干活(我这次压制的这一批MTS有1/3会出现这种现象,而且更诡异的是我在网上搜有人说DG Creator根本不支持MTS呢= = 可能又是新版GJ了?),那就只能在AVS里用DSSource了,效果么也没看出什么区别(吐舌头),不过如果要挂滤镜比如反交错可能会有问题,参见下节。另外如果这种情况下你需要自己手动分离音频出来(因为这音频本身就只是256kbps aac 我就抠出来直接封装了没有重压。如果需要重压,那么估计不用抠出来直接用megui读取那个mts当input大概就行),工具么megui自带的eac3to(在Tools里叫HD Streams Extractor)就OK。

最后两道思考题,主要是我也没搞懂的部分。

1.1 d2v和dga的区别?

我个人觉得可能一个是mpeg2,一个是avc?…

1.2

我在分离我这批DV录下来的视频时,发现DG Cretor分离出来的音频自动帮我加上了-80ms的delay(写在文件名上,之后不管是封装还是重编码megui都会自动读取代进去的)。那么问题来了:我用DDS压制的视频,和音频合并时,是否需要手动加上这-80ms delay(因为这是我手动分离出来的音频)?首先提示下这个音频和DG Creator分离出来的是完全一样的我算过Hash;但是问题在于如果用DSSource,说不定视频那边已经包含了+80ms?幸亏只是80ms这么微小的差别,我最后还是决定手加了,如果大了我就纠结了……

2 如何反交错

反交错不是什么难题,应该说是压制视频必备的技术。我之前倒是一直没压过隔行视频,以为只要靠megui的analyze就OK了。结果实际操作起来不是那么回事。我一开始是用的DDSource,analyze也很正常也帮我选了几个参数我就开压了,结果出来就是各种残影(残影和拉丝,是反交错失败两种经典表现……)。换了AVCSource后直接分析失败OTL。既然这样那么还是自己手选吧…隔行,Field Order随便选了反正没啥区别我就用了默认的-1(Various Field),但是看到那一坨滤镜我又傻眼了。虽说对于新手随便选个好用的就随便了,但是完美主义作怪我又纠结了…去找了个CHD压制组的问他们一般用什么,答曰FFDshow里的ffmpeg Deinterlacing。于是我就用之…结果发现一个问题,AVS如果是DDSource,就可以调用到FFDshow,但是如果是AVCSource就不行。汗…那么还是从AVS级入手吧,随便挑了几个发现肉眼眯着看(喂)区别不大,就选了传说最快的Yadif了。唔效果上倒也没什么大问题…只是我想吐槽这算快的么,压起来也只有14fps…………(x264配置:unrestricted 1pass cqf 22)

3 压制Acfun用视频

这部分没什么技术含量,都是应用上的活。

我本来想随便传个让sina二丫去,结果发现1是质量实在太惨;2是acfun在投稿出恐吓我说被2压的视频很有可能通不过审核blabla,我赶紧删了返工去了。去某avfun技术blog本来以为现在还是vp6的天下,才知道现在新浪已经修复了那个bug,现在必须用其他的bug(喂,新浪你好惨..),比如封装h.263文件头,比如黑屏补丁拉低平均码率啥的。不过喜讯是最近开始新浪不会再无条件二压h.264视频了,只要码率合乎规范(<524kbps)长度没超过6-7min就行了,既然我也不追求什么超高画质,那么就自己压个500出头的传上去就OK了。

如果你也用MediaCoder,那么直接参照这文章即可。不过我是megui的干活,就不那么傻瓜了。先写avs,sina的分辨率是512×384,宽屏的话需要加黑边补够,否则让性浪给你加?那是二丫没商量。加黑边的语法是

Lanczos4Resize(512,288) # Lanczos4 (Sharp)
Addborders(0,48,0,48)

第二位=第四位=(384-你的视频实际高)/2。

x264 profile选2pass的,比如自带的HQ balanced啥的都行,码率选440kbps吧,音频还要留至少64吧…音频选Nero AAC LC或HE 64kbps。

全部压好了之后封装成mp4,然后发现megui似乎无法封装flv?难道为了封装专门下个MC?太累了吧。查了下MC也是用ffmpeg封装的,那么你只需要自己下个ffmpeg(提示:megui的tools就有),然后命令行(可以写成bat以后好用)

ffmpeg -vcodec copy -acodec copy -i 1.mp4 -f flv 1.flv

就可以将同目录下的1.mp4封成flv了,很快只需要几秒。OK接下来就可以传渣狼了——测试Ok。

100330


……我其实只是测试一下这个模板的一个bug,ms引用加粗体显示不太出来?
我是粗体

我是粗体加引用


前几天微调了一下模板,缩小了左边栏的宽度,同时缩小了整体占浏览器的宽度(我不喜欢那种很宽的画面…经常一大段话现实起来才1两行 而且脖子都要转动好累)。

OK,发现了一的问题是<strong>的样式的问题?…去瞅瞅css看能不能解决orz

棍,粗体的问题倒是很好解决,但是发现一个ie下搜索的文本框缩到一起的诡异问题…求css达人。

庆祝fc2复活兼上篇「Firefox 3.6的几个小问题」的后记

没隔太久fc2就能再访问了,真好。

那么废话不多说,我们继续来谈论上期的话题。上次我把那问题捅到一个firefox的社区后发现没人鸟我,遂又发到了Bugzilla。没想到上面还真有人和我一样发现了这个问题——Bug 550750

其实,这个所谓「bug」的发生是来源于一个Smart Bookmarks的隐形参数——redirectsMode。这个参数的意义很简单,就是是否统计跳转页。比如我访问google.cn,那么他会跳转到google.co.hk——虽然我确实访问了google.cn,但是他最终还是会指向google.co.hk的。那么如果如果把这种中间跳转页也给计算在内的话,会给用户体验带来一些问题。毕竟大部分时候用户只是想到达最后那个页面而已。所以在3.6以来,Firefox将默认的MostVisted这个smart bookmarks略作修改,增加了redirectsMode=1这一参数,而从此忽略了上面提到的那种跳转页。

但是须知,这个跳转的判断是有很多问题的。很多网站其实都某种意义上已经泛用了这个概念,比如一个论坛,你登录了和没登录会看到不同的页面,他有时候会经过一次url不变的跳转来读取你的cookie,从而帮你自动刷到那个登录后的界面。所以这就在判定上造成很大困难——比如我常去的萌妹的post页面,就存在这种隐形跳转来读取是否有新的comments和thread(如果有会粗体显示),结果就被Firefox认成中间跳转页面而予以排除了。通过这个Bugzilla的帖子可以看到很多人遇到和我一样的困扰。

至于上贴提到过在管理界面看两者并没有不同这点,则确实是一个bug。至于解决办法自然就是自己建立一个,加个redirectsMode=0或者干脆不写就行了。我上帖似乎没有提到过我后来遇到的一个问题——默认的删不掉,每次重启都会出现;要解决这个问题,进入about:config,将

browser.places.smartBookmarksVersion

的值设置为未设置就可以了。(这个设置的用处就是如果你误删了那些SmartBookmarks而又想恢复,就将他设置一个数值就会在重启的时候恢复了。顺便一提不但会阻止你删除, 连位置也不能很随意的挪动,orz)

Firefox 3.6的几个小问题

寒假在家里的时候那台电脑其实已经升级成3.6了,当时就有发现下面提到的几个小问题,不过当时没在意,以为是偶然的。而由于3.6几个我常用的插件(比如Easy DragToGo)不兼容,所以来学校后就没有急着升级这个beta版。今天它自己推送了,而且Easy DragToGo也兼容了(仍有一些扩展不兼容,不过都很少用了,但是让我惊奇地是居然出现了IETab的大名,这几乎是fx上最著名的扩展之一了,虽然我基本没用过),就毫不犹豫地装了。结果发现之前遇到的两个小问题都出现了,尤其是「访问最多」的问题还不是那么好解决,我觉得有必要写Blog来说明一下。

第一个问题是标签页切换的问题,与著名扩展「Tab Mix Plus」有关。类比alt+tab,利用ctrl+tab来切换标签页相信对于经常上网的用户来说是一个非常熟悉的操作,但是一般来说,「ctrl+tab以最近被浏览的顺序切换标签页」相信是更好的选择——因为这样你可以非常方便的在两个标签页中切换,这样在对比什么东西的时候异常方便;如果你需要切换到第三个标签页,那么方法是按着ctrl不松再多按一下tab(我说的很复杂,但实际其机理和alt+tab是完全一致的)。不过更新到3.6之后,可能是fx实现方式或者参数存储位置的变化,导致这个设置被归零,需要自己手动改过来(给不知道的人:位于Tab Mix Plus的设置中->事件->标签页特性)。

上面那个确实不是什么复杂的问题。但是接下来这个就有点蹊跷了:我平时用Firefox上的最多的网站就是萌妹了,多到什么地步呢?其Index界面多达4k多次。所以在Firefox自带的一个所谓「Smart Bookmarks」——「访问最多」中,它永远是排名第一的。这样我点击起来就很方便。但是升级3.6之后——它居然从第一个位置消失了!

firefox-3.6-bug-01

那么让我们先来了解一下Smart Bookmarks——参考这篇文章,说得很详细。这玩意的出现始于fx3.0,当时引入了将书签和历史合二为一的一个概念——Place,而这种Smart Bookmarks,其实就是对Place的一种Query。如果需要更详细的参数列表可以参照dev.mozilla上的文档。而你安装完Firefox自带的几个包括「访问最多」、「最近使用的标签」、「最近使用的书签」等,其实也无非是用一些参数给定制出来的。那么在许多文章(比如这篇)中可以看到的这几个官方的例子,摘录如下:

Recently Starred Pages (最近添加的书签):
place:folder=2&folder=2&sort=12&excludeQueries=1&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1
Recently Visited Starred Pages (最近使用的书签):
place:minVisits=1&folder=2&folder=2&sort=4&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1
Most Visited Starred Pages (访问最多的书签):
place:minVisits=1&folder=2&folder=2&sort=8&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1
Recently Used Tags (最近使用的标签):
place:folder=3&group=3&sort=12&resolveNullBookmarkTitles=1&applyOptionsToContainers=1&maxResults=10&queryType=1
Most Used Tags (使用最多的标签):
place:folder=3&group=3&sort=16&resolveNullBookmarkTitles=1&applyOptionsToContainers=1&maxResults=10&queryType=1
Most Visited Pages (访问最多的页面):
place:sort=8&maxResults=10

不难看出,Firefox装好自带的几个Smart Bookmarks就包含于这几个例子中。
那么我自己新建一个书签,在地址中填写「place:sort=8&maxResults=10」,是否能解决这个bug呢?

——答案是肯定的!

firefox-3.6-bug-02

(虽然还有一个与之前的不同的)

那么,这到底是为什么呢?我只能说并不得知,可能是Firefox的bug?另外一个奇怪的地方在于,如果在「管理书签..」里看的话——

firefox-3.6-bug-03

咦,为什么两个完全是一样的啊?但是为什么在菜单里和工具栏里看,却又不一样呢?

我也只能彻底orz了。

MONSTER

浦泽三部看下来,从「Pluto」(未完结,甚至还未到高潮感觉)到「20世纪少年」到「MONSTER」… 可以说在我眼中,他完成了走上神坛,又重新蜕变为人的过程。也许,这样我才会更客观的做出评价。
这三部作品,无论是故事风格还是技法,可以说是完全一脉相承。都是那样黑暗的世界,都是无助的正义主角,都是威能的终极BOSS…可以说刚从少年漫那种人物脸谱化的套路中跳脱出来的话,会觉得非常耳目一新。打来的人物交织成网,却是好人少坏人多,而且无论好坏,说不定下一个格子你就面临着死亡——浦泽似乎非常善于操纵大量的人物,用他们的命运来给读者一种强烈的压迫感和阅读欲望。
这种悬疑类的作品,应该在前期制造大量谜团,埋下伏笔,最后一一给人解答,这才构成了完整的阅读体验,给人一种恍然大悟的感觉。即使有所谓开放式结局,也该是作者替你解释了大多问题,留给你一个耐人寻味,但仔细想想却有无关紧要的问题。如果全盘乱搞,只会让人大呼上当。浦泽在前半部分做的很好,在无数事件和人物中,总有那么几位,会贯穿始终,如同线一般将剧情串起。而且浦泽有个习惯是不会让他们各走各的,然后最后来个大汇总;而是在过程中就不断产生交集,可以说最后坐在一起时,大家都是「老相好」了。而且有趣的是,能走到最后的坏人和好人,基本都是三七开,曾经无敌于天下的大boss会倒下,多少有点齐心协力的意味。不过对于结局,我就颇有微词了。在「20世纪少年」里,在我看来作者最后太过于纠结朋友的真实身份,为了给人新鲜感(?)浪费了太多笔墨,而且引入一些之前没有过的新人物来圆场,可以说是犯了这类悬疑推理类作品的大忌。所以看到最后,我已经稍显疲倦,不太关心到底谁才是“朋友”,只是在寻求一个Happy Ending。
对于monster这部作品,结局可以说是紧凑程度不错,没有感觉像20世纪少年那么拖沓,但是看到那些过去的故事,我却有茫然若失:我之前是期待这样的解释么?不,其实根据之前的种种提示,到底发生了什么基本已经可以猜出了,那么我到底想在结局看到什么呢?我发现我根本不知道在期待什么,而既然无所期待,那么谜底怎样也都无所谓了。而且那个双胞胎身份互换、到底谁被拉去见到了那屠杀的场面,更让我觉得莫名其妙——被拉去的不是哥哥,哥哥都变成变态,那么到底谁被拉去又有什所谓?搞着一套的目的是?我彻底迷茫了。
我不无恶意的想浦泽是不是小时候受过什么创伤,所以如此纠结于童年的伤疤对未来的影响。对于心理的作用,在这部作品和20世纪少年里都是至关重要的,但是介于这是故事的大前提,所以也无需去深究其可能性和合理性,反正这样故事也更好编。这部作品虽然名为「MONSTER」,但是实际给人的恐惧不如「20世纪少年」强,可以说我当时半夜看后者看到他们童年去鬼屋探险的回忆时,还真是有点瘆。
最后,我还是有个非常EP的问题,其实我看很多作品时都想过了,比如我看电影「黑暗骑士」时我就想,小丑给人的心理压迫感,虽然我感觉不到但是我相信可以有,所以我可以接受他挑拨两船人互残(未遂);但是他是如何一人做到给整个医院装满炸弹?又是如何用他那憔悴的身板,单挑肌肉男+满身高科技武器的蝙蝠侠却又不落下风?同理MONSTER,你说约翰是什么绝对恶也好天才也好,可以几岁就杀人变不改色我也欣然接受;但是我不能理解一个未经过超专业训练的小孩子如何在一次次地凶杀现场全身而退,不留痕迹……?对方可是BKA诶。好吧我承认这是工科生的蛋疼-_,
总体来说,感觉浦泽有点自我重复了。不知道他有没有别的风格的作品?这样的稍微有点厌烦啦…但是依然是佳作。打分应该能给8.5,20世纪少年大概是9.5的样子。另外,感觉他的画风真是非常适合讲故事,很舒服;只是人物太多偶尔还是会有分不太清的感觉……orz 最后一句,浦泽笔下的少女都好美啊。