2021-05
17

痛苦全家桶的开胃菜来了

By xrspook @ 10:21:32 归类于: 烂日记

单位的下载速度很慢,家里的下载速度很快,于是我确信周末理论上我就一定可以把所有东西都下载回来,实际上不需要周日,光是周五跟周六两天我就已经把BLF 116集全部下载回来了,但问题是我把东西下载回来随机拉了一下,发现其中有些很有问题,比如说视频跟音频对不上,音频跟视频完全是错乱的,又或者视频在某个时间会卡在那里,音频还在继续。为什么会发生这种事呢?通常情况下,这通常都意味着上传或下载的文件不齐全。如果是从前从油管上下载的文件,遇到这种情况就意味着我重新下载一遍就好,我通常重新下载回来的文件要比原来那些大一些。有些视频的进度条不能拉,通常也是因为下载不齐全。但也不排除如果那个视频是别人上传的,上传的时候就已经出状况了。还记得我切过一些蓝光的视频,发现某些部分如果不用某些专业的东西根本切分不开,无论我多么努力还是不得不被某些关键针给卡住。AVI还好一点,MP4的关键帧根本不是用毫秒去算的,可能是5秒甚至10秒。

为了找出那些有问题的,周六晚上我一个一个文件拉。拉得不是很仔细,因为我想的是大概如果视频跟音频对不上,很大一部分都会出状况吧,而且这些事情通常发生在视频的结尾,所以如果视频的结尾进度条是无法拉的大概就意味着这个文件有问题。116个文件,我拉出了30个有问题的。网友那边把我帮我重新把这些搞回来了,然后我当我又重新对这些文件的时候,我不得不用左键头5秒快进来浏览一个40多分钟的视频,但当我试了一两个之后,实在顶不住,所以我改为了ctrl加左键头,也就是30秒一个快进。这样浏览速度是快了,但是到某些文件我发现不会整体的音频视频对不上,但就会在某个地方卡帧,卡个10秒。但即便我用30秒一个的快进还是会漏掉这些,所以我正一次反一次。即便我已经非常努力,还是难免会有这种事情发生。

后来帮我下载这些视频的网友发现下载回来的那些视频和网上播的时间如果有差别的话,通常就意味着出状况了。在NBC网站上已经放出来的BLF,绝大部分都是43分钟以内的,所以如果下载回来的视频时长大于43分钟,通常就意味着卡了,不管你有没有找到那个卡的地方,反正是一定有卡的。所以我们就彻底改变丝路,直接在网站上一个一个视频打开,把一个一个视频的播放时长抄写下来,然后在和我们已经下载回来的视频的时长做对比。

结果是惊人的!后面已经修正的那30个视频还是有7个有状况,余下的那些里面有40个视频有状况的,当我们彻底对比NBC网站上的视频后,发现我们下载回来的视频有47个是不一致的。再加上之前已经修正过的23个,118个视频里面有70个视频出状况。超过50%的概率!!!为什么居然会发生这种事呢?如果是用youtube-dl下载油管的视频不会发生这种事。因为我已经下载过很多了,虽然我用的不是这个东西,但是却从来没有遇到过这种事,当然大多数情况之下,我把视频扒回来了以后会对比一下。视频的播放长度因为绝大多数情况是不会有差别的,所以这次我们也就没有检查,导致了我们不得不进行大量的翻工。希望这次翻工以后那些播放时长全部能对上的视频不会有问题。

NBC的视频能随着新的一集放出以后旧的那些可以自动解锁免费看是件好事,但这些视频当我要把它们抓回来后又会发生这种问题。实在让我们始料未及。之前我觉得下载上百个GB的视频很痛苦,但现在看来,原来那些痛苦还都只是痛苦全家桶里面的其中一部分……

2018-06
9

我的m2ts修复及压制套路

By xrspook @ 8:29:04 归类于: 烂日记

家里的电脑是32位i3加4G内存,单位的电脑是64位i5加8G内存。CPU这种东西,平时你看不出差别有多大,但是压片的时候区别就非常明显。时长差不多的东西,单位的电脑只需要5分钟左右就搞定,但家里的电脑却需要接近50分钟。虽然从压制速度上看来,数据不过是一个是另外一个的两三倍而已。所以,用电单位的电脑压制,压制时长不过是上个厕所而已,但用家里的电脑压制,压制时间则可以完成一篇blog,再睡个小觉。二者最大的区别在于在单位的时候,我只能在某些时间干这种事,但在家里,只要我没有睡着,我都可以一直干。用了电脑这么多年,我觉得最能显示CPU性能的大概对我来说就只有压片了,因为我不玩游戏,尤其是大型游戏,其它电脑程序通常都只会耗费内存,如果硬盘容量不够,电脑也会被拖慢,但很少情况下需要CPU持续飙到100%。

昨晚我终于接受了这么一个事实。下载回来的《古拉姆》的五首歌舞的m2ts文件一律关键帧都有问题,天知道那个好心人用的是什么剪切软件。所以在压制的时候会出现一开头卡死。到现在为止我已经压过三首歌,最夸张的那一首卡了18秒,但即便是不怎么夸张的也要卡不到一秒,或者一秒多一点。第一帧是否关键帧我是通过Aegisub去看的,因为如果遇到关键帧,显示当前帧数和当前帧对应的开始时间的格子会显示绿色,否则是灰色。把下载回来的原盘文件,放到Aegisub里,一律一开始的时候都不是绿色。Aegisub觉得这不妥当,压制软件也觉得这不妥当,但是视频播放软件已经习以为常了。要解决这个问题,昨天我用的是Smart Cutter for DV and DVB剪切软件,剪完以后再放回Aegisub里测试。昨晚我明明可以十点多就睡觉,但却搞到了12点多,因为我一直都没有得到我想要的结果。后来发现,之所以得不到是因为我想太多了。只要把原盘文件放到那个剪切软件里面重新输出,自然就会修复关键帧,再放回Aegisub里,第一帧就是绿色的。即便在Aegisub里播放的时候仍然会有问题。这个是我的最终结论,在这之前我用那个剪切软件剪过不下十个视频,然后再一个一个的放到Aegisub里播放。到底应该从哪一帧下剪刀?我试过把下载回来的m2tv文件放到Aegisub里找到关键帧,记住那个时间,然后在剪切软件里也同样找到那个时间。结果发现,即便这么较劲,剪切出来的的东西放到Aegisub里播放还是神经病。发现剪切软件输出的视频第一帧都是关键帧是我非常偶然的发现。既然保证了那是关键帧,压制的时候能不能通过呢?于是我在AVS脚本里加入了trim剪切代码,试压一开始的几十秒。试验证明保证第一帧是关键帧就可以!我需要做的只是把所有下载回来的m2ts都放到剪切软件里修复关键帧。到现在为止,理论上我觉得这样就能解决一开始的卡帧问题。只要放进去输出就行,根本没必要纠结必须选择从哪一帧开始或结束,全部选上就好。

需要注意的是经过剪切的文件时间总会跟之前不一样,至于相差多少,很难说,所以如果在剪切之前就已经调好时间轴,剪切后就得根据修复后的m2tv把字幕调整一下。之前我的步骤是这样的,首先根据下载回来的原盘文件做精准的时间轴,然后把那个原盘文件拿去修复关键帧,调整时间轴。然后,把时间轴跟视频压到一起。最后用dgavcindex从原盘文件中提取两个音频,它们分别是DTS和AC3。之所以用那个分离,是因为那个索引软件能自动读取出音频的延迟时间。虽然根据修复后的视频我已经调整过一次时间轴,但如果音频的延迟时间超过一百毫秒,出来的东西还是会跟我料想的有一点点区别。所以我的制作步骤就应该调整为首先是根据原盘文件制作精准的时间轴,然后是dgavcindex输出原盘文件的音频文件,接着是用剪切软件修复原盘文件的关键帧。按照修复后的m2ts调整时间轴,调整的时间的时候还得同时考虑音频输出的延迟时间,也就是说,我要预先把那个音频的延迟时间加上去。字幕轴调整的时间包括修复前后的m2ts差异以及音频延迟。接着,我就可以把修复后的蓝光文件以及字幕拿去压制。最后把压制后的视频和原盘文件提取出来的音频封装在一起。严格按照这个流程操作,理论上我只需要压制一次就行了,但这是我做到第三首歌舞的时候才得出的结论。之所以之前没有得出,首先是因为我太着急了,第二是因为当时我有新手的运气,第三次是单位的电脑性能好,压制不怎么耗我时间,我可以不断地失败重来,但是家里不一样。为什么我要从原始的m2ts里提取音频而不是从修复后的m2ts文件里提取音频呢?果然不出我所料,从修复后的m2ts文件里提取音频,延迟的毫秒数就只是个位,完全无需额外调整!!!

在一次又一次挫败中,我逐渐摸索出我自己的套路。

http://www.bilibili.com/video/av24578736/

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress