|
本帖最后由 JamHsueh 于 2025-2-1 02:05 编辑
最近了解到了子集化,自己尝试用mkvtool做了一些子集化字幕。但是使用Potplayer播放后却发现有字幕不同步的问题,而且只有mks的外挂字幕会有问题,如果内封到同一个mkv里字幕是同步的。
然后我发现任务栏里面有两个LAVSplitter,它们分别解流了mkv和mks文件,然后字幕流被字幕滤镜渲染,而potplayer自带的字幕功能是无法识别mks的。然后我再仔细看同步的情况,发现准确的问题是:字幕会直接把第一句显示的字幕直接在00:00的时候显示出来,就好像把字幕轨前面空白的部分剪掉然后再对齐视频流的起点一样。。。(这个问题和子集化没有任何的关系,只要是用potplayer播封装的mks字幕就会这样)
知道这点我就想出了一个解决方法:在字幕里面添加一个时间轴0处开始的空白字幕。结果是成功了。
。。。但是这样也太麻烦了吧! 有没有更好的解决方法?能不能通过设置滤镜或者混流时的参数解决?
我试着用ios上面的outplayer,发现是完全没有问题的。。
----------------------
另外我想问一下子集化字幕方案的现状是什么?有多少字幕组在使用这种方案?例如我发现lolihouse和喵鸣奶茶屋的败犬女主是内封的子集化字幕。
自我介绍一下,我最早接触到字幕和视频压制相关的技术是13年的时候,虽然没有加入过什么字幕组,但是也算是熟悉从时间轴到特效到avs脚本到压制的一整套流程。后来做字幕、做字幕内嵌也只是自己硬盘收藏而已。那时候我基本上是看美剧和电影,英语系的字幕组他们用的字体相对来说不算太多,安了一堆方正字体后基本上就很少再遇到缺少字体的情况了。
因为我自己也做过字幕,所以我实际上很在乎字幕的呈现效果,也受不了别人做的特效字幕因为缺少字体而变样。如果只是在自己的电脑里面看还好,自己配好自己外挂ass就可以了。但是如果要稍微分享一下,或者在别的设备看呢?那个年代我不知道有什么移动端或者电视端的视频应用可以很好地还原ass特效的,或者怎么在这些环境下配置字体(也有可能是我孤陋寡闻了)。所以我最终决定还是做内嵌好了。但是内嵌你得耗费时间和电脑去做视频编码,而且就算你字幕做得再好,特效做得再贴合画面,你还是污染了画面,并且没法关掉,这么好的原盘、remux,实在不想污染它。所以我一直想找替代方案,既可以保证可以准确呈现字幕特效,又可以不改变画面,甚至可以像音轨那样做选择和开关的方案。
我知道存在图形字幕格式(sub+idx和pgs),我也做过一些图形字幕转文本字幕的实践。然后我也想到或许可以把特效字幕转换成pgs,但是我感觉这样或许可以很好地呈现静态字幕,但是动态呢?或许可以分解成帧动画,但是这样文件大小会变很离谱吧?不管怎么说当时我也没见过有字幕组实现这种。不过近年我确实见过有些个人字幕发的是ass转pgs,然后我现在也知道mkvtool可以做到但是我没试过。
早年我也知道可以把字体文件一起附件到mkv里面,但是我不知道播放器支不支持,而且当时还没有子集化概念,所以考虑到这样会显著增加文件大小然后就没继续想了。我也听说过可以在ass里面内嵌字体(现在assfonts采用的方案),但是这个还是和封装到mkv差不多的原因。
17年后由于参加工作的原因我就减少了做字幕内嵌了,而且更多地在线看,19年后开始看动漫。后来某站越来越不行了,转硬盘的需求就越来越大了,终于又恢复到以前的模式。只是现在我不做内嵌了,看完就扔硬盘。但是为了保证字幕效果我又要找字体,更糟糕的是看了动画才知道,动画用到的字体库实在太多了,而且汉字的字符数多,字体文件大。我现在还是像以前那样,有新的字体就找,然后往系统里装,但是最近我越来越觉得这样不妥,每看一个新番都要安装几十M的字体,每次有新下的字幕第一步都要先看看有什么字体没安,然后我每次都会发出“这些字幕组都是哪里找来的这么多字体啊;他们的字体库得有多大;他们怎么从这么多字体里面找到合适的;能不能固定一点啊,字形有差别也没关系的,差不多就得了。。”之类的感叹。而且字体安得多了开始对其他软件的读取速度产生影响了。
直到这几天在论坛里面了解到子集化相关的概念,才想到,这样不就可以解决字体安装,甚至是我以前一直在想的呈现问题了?我觉得其中最好的方案就是子集化ass,然后把字体文件和ass一起打包成mks。这样字幕组可以像以前一样独立发布字幕文件,不需要再打包几十M的字体文件,而且可以把单集的不同字幕(简繁双语)打包到一个文件里面,用户只需使用支持的播放器,不需要关注字体,也可以随时替换字幕文件。真希望这样的方案和模式可以普及开来。在论坛里找相关的帖子,粗略看这些概念最早提及也是20年后了吧?不知道这么多年后现状如何?
ps: 现在的字幕组都有些什么新的技术?我刚发现aegisub最近发布了更新而他们已经10年没更新了。如果以后aegisub可以支持子集化的话。。。
|
|