用户:星云nebulas

来自歌颂之丘
星云nebulas讨论 | 贡献2021年2月2日 (二) 10:48的版本
跳转到导航 跳转到搜索

这个页面暂时用来堆放目前的字幕流程及相关内容。因为堆在这里比较方便

流程未定稿,请不要复制/更改内容。其实我打算当沙盒用

sfd视频添加字幕流程

0.准备工具:

Sega sfd工具包(包名:SFD Tool Pack v1.0 by SWAT)

实况足球sfd工具(包名:SFDDC)(工具名:PES Video Convert)

VMware WinXP + WinNT4.0(兼容运行环境)

Aegisub

ffmpeg

小丸工具箱+Vsfiltermod.dll(插入图片的字幕)

Adobe PS/Pr/Me(制作图片/复杂效果时使用)

1.使用实况足球sfd工具解流原始sfd得到原始mpg视频文件与sfa音轨文件。

这一步在VM XP上进行。

2.使用sfd2mpg将原始sfd视频转换为含音轨的mpg视频。

本步骤是获取含音轨视频是为了便于字幕制作。

3.制作字幕。

注意:使用Aegisub制作字幕时,由于Aegisub不能识别延迟,且部分视频因编码原因不能正常进行帧跳转,需将源视频转码得到一份帧内编码的代理视频。

4.使用ffmpeg压制m1v格式的视频文件。

使用第一步得到的mpg视频添加字幕。压制后的m1v需尽可能小于原视频的大小。

5.使用sega工具将m1v视频与sfa音轨混流成新的sfd视频。

这一步在VM NT4.0上运行。需要通过拔插虚拟硬盘(将NT4.0的C盘连接到XP上)传输数据。

6.测试sfd视频。

需要将视频传回VM XP后才能传输回宿主机。

压制字幕的方式

一般的纯文本字幕

直接用ffmpeg压制进视频中即可。

请注意字幕中文字显示会被拉长,请调整样式文字宽高比为109:100/100:91。

使用Vsfiltermod的字幕

小丸工具箱-AVS使用Vsfiltermod压制字幕后转码为m1v。

注意:小丸工具箱内置AVS需以插入外置滤镜的方式调用Vsfiltermod滤镜

提示:使用VSfiltermode的字幕调用函数为TextSubmod()

使用Pr的字幕

使用Adobe Media Encoder的"H.264""高画质-匹配来源"预设压制后转码为m1v。

常用ffmpeg命令

1.压制m1v

ffmpeg -y -i in.mpg -an -c:v mpeg1video -vf "ass=Sub.ass" -b:v 50000k out.m1v

-y:强制覆盖

-i:输入流

-an:无音频流

-c:v:视频编码器

-vf:参数。"ass=xxx"为导入字幕。

-b:v:视频码率。极高码率等价于无码率上限限制。

2.转码为帧内编码

ffmpeg -i output.mp4 -strict -2 -qscale 0 -intra keyoutput.mp4

3.设置显示宽高比(DAR)及分辨率

-vf scale=320:224,setdar=dar=73/56

4.视频转化为帧序列(命令行only)

ffmpeg -i in.mpg %04d.bmp