2019-05
7

遇到avs不兼容aac

By xrspook @ 11:13:30 归类于: 烂日记

前天当我把avs脚本拉到播放器里的时候会很卡,一开始的时候有声音,但声音很奇怪,卡了一段时间以后总算可以拖拉操作了,但问题是没声音了。我以为是电脑出了毛病,有些插件失效,但后来当我把脚本关联另一部视频的时候,完全没有这个问题。昨天我把这个状况告诉老手,他说这是因为avs脚本不怎么兼容aac音频,而这种aac不兼容不一定会发生,可能因为acc有很多种模式,有些是兼容的,但有些就不行。碰巧我遇到的这个视频是不兼容的,所以就出现了这种毛病。因为我打算挂avs脚本进行最后的视频审核,所以视频的图像和声音都必须正常,但如果用原视频显然就行不通,所以我首先要把那条aac音频压缩成ac3。我以为进行音频压缩需要很长的时间,但原来那只是几秒钟的事而已。简直就是迅雷不及掩耳就完成了。之所以这样是因为在一个几个GB大小的视频里,其实音频大多的时候只占几百MB,有时更加只有一百多MB,而我那个视频就只有100多MB。如果视频是封装了杜比dts的话,音频可能会超过1GB,但其它格式,无论是ac3还是aac,其实都很小。把音频压缩完以后,我再把原来mp4的视频跟ac3的音频封装在一个mkv里,然后再用avs脚本调用,一切就正常了。拖拉播放非常顺畅,音频没有一点问题,爽歪歪。

按照字幕组的压制惯例,在片头和片尾都要加入字幕组的戳。在片头处加入那个东西没有问题,但如果在开片的时候就加入,要把所有信息都表达完全却无法做到,因为片头太短了,整个信息全部加载完需要一分钟,但片头大概只有30多秒,让我觉得相当郁闷的是片尾只有大概20秒,我根本来不及加入那些东西。如果我在片子还没结束之前就加入那些信息,我觉得会影响观影,所以最终我的做法可能是把字幕组后面那些无关紧要的信息删掉,只显示一些核心内容,这样我就可以把戳控制在20秒。也只有这样,我才能顺利地把这些东西加载的片尾,否则我就要占用正片的时间,这是我不想做的。如果我在正片后段的空白处加入这些戳,会让人觉得这部片子是不是快结束了,因为通常只会在片尾放字幕的时候加入,但偏偏我的那个片源的最后部分是没有字幕的。

90年代初的电影会存在一种神奇的事,现在的片子通常都不会有这种问题,信息都是齐全的。当然现在的片子很多都已经是数字拍摄,也不存在胶片的问题。我正准备压制的这个片子,我觉得大概是用录像带转制的,所以清晰度可以,但问题是可能年代久远,录像带保存得不太完美,所以转制的时候有一些没办法纠正过来的偏色。总的来说虽然是偏色,但是颜色的控制却要比之前我所看到的全片长版本好。所以我觉得之前看到的那个全片长版本有可能是VCD转制的,考虑到那个时候DVD还不流行,我觉得非常有可能只是VCD。VCD跟录像带片源相比,后者出来的效果更优秀,当然前提是录像带保存得很好,否则就会像我的这个片源那样,从片子的某个部分开始,有严重的偏色。

在碰壁中前进吧。

2017-09
10

单个图片mp3生成mp4

By xrspook @ 18:01:41 归类于: 烂日记

今天花了好多个小时去研究怎么把一个图片和一个mp3合并一起生成一个mp4文件。从理论上说这很简单,不过是把图片的展示的时间等长于mp3。直觉告诉我,应该有一些很简单的脚本能实现这个功能。因为从油管下载回来的音频和视频可以通过一键完成合并。我不知道油管上面的视频和音频的长度是不是完全一致,反正对一张图片来说,那不过是跟音频等长而已,没什么设置的难度。我希望直接用我手头上的工具就实现这个功能。但实际上,貌似有点难度。如果不是要求那一定是视频文件,如果只需要展示,我们可以用PowerPoint。把图片设置为背景,把音乐设置为预览文件时自动播放,然后把文件封装。这种功能肯定非常容易实现,但问题是我要生成一个单独的视频文件,avi也好wma也好mp4也好mkv也好,反正那个视频文件,必须能被做字幕的软件识别。我就一连纠结了好多个小时。因为我觉得这是一个很容易实现的功能,所以一开始我去找一些能在线实现这个的网站。我第一次找的那个网站的确可以实现我想要的功能,但问题是那个网站生成的视频有好大的水印。如果要去掉水印就必须给钱,显然我是肯定不会做的。往后的一些网站,要不根本上传不了,要不速度非常慢,要不只能生成一个几秒钟没有音频的mp4。在尝试了几个小时之后,我已经被逼疯到装软件就装软件,只要能实现功能,我就接受的地步了。我是用过绿色版的格式工厂以及狸窝转换,但一个并不能实现我的功能,另外一个要做到那个功能是要给钱的。我也下载过一个外国的软件,需要安装,简单模式非常麻烦,高级模式也就是运用脚本的模式却无论如何都运行不了。其实在折腾这些之前,我就看到Google Code这有一个叫做imutube的项目。那个东西非常轻量级,只要你装好了脚本软件以及解码器以后,就可以轻松实现这个功能。但问题是,解码器我前天刚刚装了新的,脚本软件今天也装了新的,但是把东西却无论如何识别不了我的mp3以及图片文件。我差一点点就成功了,但是我无论如何都到不了那一步。

于是我只有回到最开始,一直以来我都觉得MeGUI应该可以实现这个功能。但是如果用AVS Script Creator选择视频的时候,我无论如何都不能选择图像文件。即便我选择了图片文件,确定以后,还是会告诉我出错,因为使用的解码器不对。视频的解码器无法识别图片。为什么我觉得MeGUI能实现这个功能呢?因为要把图片和mp3结合起来,只需要做一个设置,就是设置图片的帧速率,然后设置图片的帧数,让图片和mp3有相同的长度。我回到一开始,引领我去找imutube的那个页面,发现里面的确有人说通过编写脚本,可以用MeGUI实现这个功能,只是今天较早时候我没看清,错过了那段话。我把那段脚本复制下来,形成一个脚本文件,果然MeGUI能识别出来。这证明了MeGUI能识别的脚本,不一定得用那个脚本生成器,如果你够牛逼,纯粹可以自己写代码,而且那个更自由。按照我设定的帧数以及帧速率,果然那个图片的播放时长就是我目标的那个。接着,我把这个图片视频和mp3结合起来,生成一个mp4,成功了!但是,图片视频的时长实际上比mp3短,所以第二次在压制前,我在音频那里又加入了一个剪切的脚本,把mp3的长度调节为跟视频一样。因为那个mp3最后结束的时候其实是有好几秒钟空白时间的。现在回想起来,我真的有点傻,为什么我要把帧速率设置为25呢?!其实我完全可以设置为1,那么需要的帧数就只是mp3的秒数而已,我也不需要做更多的计算,当然生成出来的视频体积也不会那么大。但是别人看这个视频参数的时候,估计就会有点O了。

兜了一大个圈,最终,我还是用我手头上的软件就实现了我想要的功能。不得不说,写脚本写代码这些苦逼事,实在很强大,我还有很多很多的东西需要学习!

载入单个图片的AVS脚本如下:

1
2
ImageSource("单个图片的绝对路径", end = 5600, fps = 25, use_DevIL = true)
ConvertToYV12()

说明:end = 5600为视频帧数,fps = 25为帧速率,如果某首歌为3分钟,帧速率为25,帧数就填写3*60*25=4500

音频视频的剪切脚本:

1
2
3
4
5
6
7
8
9
10
11
< ?xml version="1.0"?>
<cuts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <framerate>25</framerate>
  <style>NO_TRANSITION</style>
  <allcuts>
    <cutsection>
      <startframe>0</startframe>
      <endframe>5600</endframe>
    </cutsection>
  </allcuts>
</cuts>

说明:如果这是个配到视频的音频用的,设置为和视频相同的帧数和帧速率即可。

2015-09
28

初试转压DVD

By xrspook @ 13:56:36 归类于: 烂日记

发现我近期很容易自然而然地就会盘腿坐。二郎腿通常不会,因为大腿太粗,叠上去不容易,一直以来通常我都只是随便地把腿平行地垂下来,但近期不知怎的,我很自然就把腿盘起来了,无论坐在哪里,无论坐的是什么凳子/椅子(我还没到可以双脚盘在瑜伽球上坐稳那么神奇,但偶尔会盘单脚)。这到底是为什么???

这个周末感觉时间刷的一下就没了,不太清楚自己做了什么。跑步的时候耗费的时间是恒定的,起码我能说出个大概得多长时间。看电影的时间是恒定的,做馒头的时间也是恒定的,唯独我睡觉和对着电脑折腾时的时间是个无法估算的数。妈妈很惊讶,为什么我比她早起,她昨天下午困得不行要去睡觉了,我却可以一直全神贯注地盯着电脑。我也不知道,大概因为心里有计划安排人自然就会在状态吧,如果我没事可干,我肯定去睡觉了,而且必定是睡到爸爸喊我去吃晚饭的时候才起来。

这个周末时间分配和平时不一样,对我来说就像是周六和周日的时间反过来用了。一天到晚,只要有时间,我就对着电脑,折腾用DVD文件压缩出单独的mkv视频。

上周,我把Taare Zameen Par的DVD内容拷贝到电脑上,这周我开始学着把里面的东西转成常规的视频文件。以前并非没做过,但那时我面对的只是一部老掉牙的电影,视频的构成相当的简单,但这次我需要转压的是包含多个内容的电影花絮光盘。哪里开始?哪里结束?内容到底是哪个跟哪个?这些我都要搞清楚。内容神马,研究一番DVD的索引也就可以了,但开始和结束粗放的很容易理解,但要纠结到黑屏的持续时间的话,那是得精确到毫秒计算的。不得不说,开始和结束的把握贯穿了我一路,因为我后来才发现使用方式不同,掐的点就不一样。关于DVD的转压对我来说有2个大部分:一、视频、音频的压制和合并;二、字幕的提取和转化。

视频和音频处理方面,MeGui流程大概是这样的:

1、用MeGUI中Tools文件夹里的dgindex对DVD的vob文件做选取和影音分离。一个DVD里可能有多个vob文件,每个vob文件最大也就大概1GB的样子。一个完整的视频可能并不单独在一个vob文件里,如果视频短的话,那可能只是某个vob里的一部分,如果视频长的话,可能横跨了好几个vob。dgindex的用途是把多个vob连在一起,然后你可以截取相应的部位得到你想要的完整视频。在dgindex里同时打开一个或多个vob是第一步,然后是选取你所需要的区间,最后就是生成任务。生成结束后如果那是个视频,有音频的,那么将会有3个文件诞生——音频(可能是acc,也可能是其它),视频(m2v)以及索引(d2v)。acc和m2v可以在播放器里播放,但m2v你在播放器里看到的文件信息不一定就是真的,通常来说,m2v在播放器里显示有7分钟内容的话,非常有可能实际上那存在的是14分钟的东西,d2v是m2v的索引,告知机器那个视频文件的具体信息和播放速度。

2、用MeGUI里Tools下的File Indexer对dgindex生成的m2v文件重新做索引,生成新的d2v文件。为什么不直接用dgindex的d2v文件?因为那据说经常出错,所以稳妥起见必须重新生成一发。

3、用MeGUI里Tools下的工具建立avs脚本。之前说的是分离和整理,这一步开始就真的是压制了。压制视频avs脚本视频输入的是File Indexer里生成的d2v文件。我折腾了两天结果不咋的就是我没搞懂原来这里必须用再次生成d2v而不能是dgindex分离出来的m2v!!!非常痛苦的觉悟啊啊啊~~~ 这一步开始已经涉及了压片的参数选择。要不要切边?要不要改变视频分辨率?要不要改变码率?DVD是不是交错需要进行反交错处理?以上列出的只是N多需要确定的问题的部分,具体情况得具体分析。就反交错而言,多个命令可以实现,需要用哪个呢?一个就能搞定还是得过个滤镜叠加使用?光说没用,你得通过预览来验证到底可不可以。

4、avs脚本生成后就可以设置压制参数进行视频压制了,压制参数也是个非常高深的学问,我只能通过请教别人和抄通用做法来完成,因为我不是高手,高手这些东西都是经过细调的!

5、如果视频和音频长度一致,用MeGUI的封装命令就可以把视频和音频封装在一起了,但如果视频和音频并不是你需要的长度,多了点东西,在压制视频和音频之前就得再在原先的avs脚本里限定一个时间,那会直接写入原本的avs,同时也会生成clt文件,clt文件是在音频压制时用做确定剪切位置的。

6、我比较笨,不知道在视频和音频封装合并之前如何通过播放器检查二者是否对得上。我每次都是把视频和音频封装到一起后在播放器里通过调节音频和视频来得知提前/延迟时间的。在知道了那个时间后,再在音频参数上加入,重新封装音频和视频。据说DVD的音频和视频大多不同步,所以在压制的时候最好把视频和音频分开处理,最后时刻才封装到一个容器内,毕竟压制是非常耗费时间的,压好了以后才发现对不上,那是非常悲痛欲绝的事,但封装很快,在封装前通过简单设置就能调节音视频同步。

以上是最基本的音视频压制操作。

关于DVD字幕的提取和转换,无非就是两步。利用VobSub从ifo文件里提取出idx+sub的字幕,然后用SubRip通过OCR光学识别把sub的图形转化为文字,也就是把idx+sub转成可轻松编辑的srt之类。VobSub的提取没什么难度,但SubRip的光学识别除非你有非常好的字库,否则那个过程挺郁闷,更郁闷的是字库不好出来的东西简直就是乱七八糟牛头不对马嘴!!!我觉得啊,整sub真的很苦逼~幸好的是Taare Zameen Par的DVD里有CC字幕,CC字幕有对应提取工具CCExtractor,把dgindex分离出来的m2v拉到里面就能把CC字幕提取出来。在PotPlayer播放器里CC字幕叫做内藏字幕,属于软字幕,工具提取出来的直接就是文字了,不是sub的那种图片,当然就不会有之前大囧的问题。DVD播放时能选择字幕,但CC字幕不是可选之一,因为据说那不是给人看的。就TZP的make of视频来说,里面的英文字幕只有当里面的人在说印地语的时候才会显示,但印度人说英语,虽然他们说的是地道英式英语,但那也是可以把你听楞了的节奏,要听译那些东西实在太有难度了!sub字幕里没有说英语时的内容,但CC字幕里连场景含义的说明也有了!当然包含了说英语时的内容。既然有CC字幕,我为何还要去整sub呢?不过呢,提取出来的CC字幕的问题是一开始还算对得上,后面就不知为何无踪影了,估计是时间轴出了状况。

折腾是个痛并快乐着的过程,要好好享受。

2015-09
3

进军ass特效

By xrspook @ 17:58:17 归类于: 烂日记

有什么不是斗智斗勇的?!!!!!!!

昨晚我过了凌晨12点才睡觉,为什么?因为半夜才开始压片,却发现MeGUI运行出错。一次一次又一次,到压制的时候才发现N多问题,到要做avs的时候才知道自己已经完全忘记怎么做,挖出2013年做Tales of Masked Men的avs参考,总算过了avs那关,但视频分辨率大小呢?分辨率要什么比例呢?要不要黑边呢?黑边怎么分配呢?字幕要用什么字体呢?字幕字体大小要多少呢?字幕的颜色要怎么整呢?默认的字幕设置肯定会让某些地方囧,我要怎么定位呢?很傻很天真,我觉得我做这个之前已经懂了很多,但实际上我什么都没考虑到位!

经过粗调和精校的srt时间轴只是第一步,只是最基础的,从srt到ass,情况就像从txt变成doc,最终我要做的不是doc而是mobi啊亲!txt的只是内容,doc的是格式,转化为mobi需要工具。我用SE和AE整出了txt,然后得通过认真学习AE特效制作和播放器各种试看(Potplayer,完美解码,射手播放器)完成doc的格式,射手反应慢,完美解码不知为何不懂得mkv外挂字幕,Potplayer不会读avs。用记事本打开ass,修改,保存,然后把视频拉进播放器,试看。再修改再保存再拉进去。即便用的是web的安全色,实际上播放器也可能识别不出来,在PhotoShop里选好的颜色,用在字幕上,播放器出来的效果完全不是那回事…… 颜色让我抓狂,字型让我抓狂,字体大小也让我抓狂。之前我试图学习一套“标准”模式,但那些都是各大字幕组的独门武功秘籍。我大概知道自己要的是什么,因为没经验,所以只能不断地尝试,直到我觉得靠谱满意为止。昨晚很傻很天真,因为今天我又足足用了1个下午(超过4小时)的时间才终于摸索出了一个最终效果。整出了第一个,往后的就好办多了(有了套路,往后只是套用而已),我懂的,但要整出第一个,对我这种力求完美的人来说太不容易了。

不同的视频分辨率即便设置同样的字号在上面的效果也会完全不同。纠结到底用什么比例的大小折腾了我半天。最终我确定把字幕压到MV画面中(视频的大小是720*320)。在电影原片里插入黑边,用16:9,即720*405,也就是说有85的黑边。85不能除以2,我又纠结了一番,我用了很长时间去测试黑边完全放在下边,但还是觉得黑边太宽我的字幕在下面垂直居中看字幕的会有点困难,最终我用了20+65的设置,20上黑边,65下黑边。之所以要设定为16:9是因为主流的各种智能设备就是这个比例的,如果小于这个数视频在智能设备上播左右会出现黑边,那时候就上下左右都黑边,效果就像明明的好视频却被无端端缩小播放了一般。16:9的设置基本可以确保在主流上播放只会上下有黑边。至于上面多一点还是下面多一点,我真的无能了。20+65纯粹是为了下面黑边的空间能放得下我全部的字幕(最多2行。设置底端边距让一行的时候字幕在黑边里垂直居中,两行的时候绝对定位让两行字幕也继续垂直居中),仅此而已。印坛压制的视频尤其是老电影各种形式都有,各种比例都有,有的字幕压在画面里,有的压在黑边里,有的部分在视频部分在黑边,有的上下黑边均高,有的上面没有黑边黑边全部在下面,有的字幕在黑边里垂直居中,有的字幕在黑边里靠上边缘…… 完全没有套路可言,很让人崩溃有木有!!!!!!!

今天我花了很多时间在黑边这个问题上,我也花了很多时间在字幕的配色上。直到今天下午,我才明白为什么有边框的字幕边框一定得用深色!今天我也懂得了ass代码里为什么控制颜色要在H后面加8位数,因为通常6位16进制的代码就能表示所有颜色了,6位代码之前的另外2位16进制代码原来是用来控制透明度的啊亲!!!!!!!我是格式控,我也是代码控,所以今天学的ass我既熟悉又陌生,既痛苦也兴奋。

不逼迫自己就不能成长起来,不成长起来就没办法成为靠谱、有担当、让人安心的好骚年。

PS:写这篇东西之前,终于整出了《爱在旅途》11个MV的其中一个,优酷把我的视频转码搞成渣了,泪奔~~~

归档:2015-09-03 小E。

2015-09-03_stamp01

2015-09-03_stamp02

2015-09-03_stamp03

2015-09-03_stamp04

2013-02
19

BE BETTER

By xrspook @ 18:47:37 归类于: 烂日记

我不是天下无敌,我只是不一般的执着罢了。

Tales of Mased Men的字幕制作出来已经超过10天了。之前我觉得压制工作是一台好电脑就能搞定的,结果发现不是那么回事……中文字幕需要什么格式?因为有内嵌英文字幕,中文字幕不能保证都可以在一行里写完,所以如何调节不是一般的困难。要在16:9的画面里展示完全,还是外加黑边让影片变成5:4,让字幕在黑边里展示?但这都是后续的话,因为首先得找到一个压制的方法。

2013-02-19_talesofmaskedmen

最终我选择了在标准的720p外上下各加120从16:9变成5:4的1280*960!

几年前,当rmvb还很流行的时候,我用的是erp,但现在mp4已经大行其道了,因为rmvb的压制效果会让人很囧,如果用现在的高清机器看的话。

我的源文件是mkv,erp默认的识别格式里没有,当然,我们可以用“所有文件”的方式载入mkv,但这样的话,即便字幕和视频放在同一个文件夹,但压制的时候字幕不会被自动调用。怎么才能实现自动调用呢?制作AVS!AVS是一个脚本,异常的强大,可以用最最简单的记事本编辑,如果你懂的话,神马特效都能实现,根本不需要很牛逼的压制软件。

昨天是WWE PPV Elimination Chamber 2013,但我花了一整个下午+一整个晚上研究用记事本写avs,还有如何调节VobSub。神奇到一个境界了,我已经把我看到右下角的绿箭头的VobSub都调节到蓝色黑体,但erp压制出来的东西仍然是白色宋体(默认字体,完全忽略我的设置!)。我想用srt,但我没有选择余地,要控制字体格式(包括播放时的位置)我只能用ass。

ass么,看上去比srt麻烦很多,但那是PopSub和Aegisub的默认格式,所以,我早就认识了,我不过必须不能再囫囵吞枣而已,我必须啃下所有代码,理解它们的意思,再活用起来!最恐怖的不是代码本身,是你畏惧代码不去试着理解吃透它们。

今天的,我是用MeGUI的内置AVS编辑器写avs的。更快捷,更简单,而且伟大的DirectShow预览很过瘾。调节字幕变得方便了!正是MeGUI让我明白到avs的强大!短短几句话就能处理特效,而且把制作出来的avs放到erp里压制效率比我昨天用记事本写的效率更高,膜拜!!!

我没有配置精良的电脑,但我会让我的电脑战友发挥他最大的效率。

进步永无止尽!!!

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