俩木成林 发表于 2016-4-19 11:37:55

avs2bdnxml: ASS转BluRay SUP/PGS & BDN XML

安装方法:解压即可
需要的组件:AviSynth和VSFilter(v2.39版本以上)
软件功能:avs2bdnxml加载avs脚本将VSFilter可以渲染的文本字幕格式(如SRT、ASS/SSA等)转为BDN XML+PNG格式
               从v2.00版本开始支持直接输出SUP格式图形字幕

提示:工具安装位置等请使用英文路径,各类文件请使用英文名称且不要有空格,待转换字幕推荐先另存为UTF-8编码

1.创建avs脚本
[*]LoadPlugin("VSFilter.dll")
[*]MaskSub("subtitles.ass",1920,1080,23.976,framecount)
[*]# VSFilter.dll:字幕渲染插件路径 subtitles.ass:待转换ASS字幕路径 framecount:帧数

复制代码
编辑好的avs脚本内容
[*]LoadPlugin("E:FTPVSFilter.dll")
[*]MaskSub("E:TestEscape.Plan.2013.1080p.chs.ass",1920,1080,23.976,106293)

复制代码
2. 管理员模式进入CMD后运行avs2bdnxml


avs2bdnxml -o output input
-o, --output         Output file in BDN XML format. For SUP/PGS output, use a .sup extension输出命令输出BDN XML格式字幕使用后缀名为.sup输出SUP/PGS图形字幕                     
-j, --seek   Start processing at this frame, first is 0    指定从某一帧开始处理字幕默认从第一行开始
-c, --count         Number of input frames to process    指定处理的帧数
-t, --trackname    Name of track, like: Undefined    字幕流名称如简体中文为:chs
-l, --language       Language code, like: und   语言码中文字幕为:zho
-v, --video-format   Either of: 480i, 480p,576i,720p, 1080i, 1080p   视频分辨率
-f, --fps   Either of: 23.976, 24, 25, 29.97, 50, 59.94   帧率
-x, --x-offset      X offset, for use with partial frames.
-y, --y-offset      Y offset, for use with partial frames.
-d, --t-offset      Offset timecodes by this many frames or given non-drop timecode (HH:MM:SS:FF).
-s, --split-at      Split events longer than this, in frames. Disabled when 0, which is the default.
-m, --min-split   Minimum length of line segment after split.
-e, --even-y      Enforce even Y coordinates.
-a, --autocrop   Automatically crop output.    自动切割字幕无用的背景图层
-p, --palette       Output 8bit palette PNG.    按照八位色输出符合蓝光规范的图形字幕
-n, --null-xml       Allow output of empty XML files.
-z, --stricter      Stricter checks in the SUP writer. May lead toless optimized buffer use, but mightraise compatibility.
-u, --ugly   Allow splitting images in ugly ways. Might improve buffer problems, but is ugly.
-b, --buffer-opt    Optimize PG buffer size by image splitting. 分割输出的PNG图形字幕以降低PG字幕流流量
注:部分参数说明摘自 天神十三煞@a9vg的教程贴 在此感谢 原帖地址

                     
output为字幕输出路径   input为avs路径这两项为必选参数   其余参数为默认值,可以只设置部分参数
(定义两次-0命令可以同时输出SUP图形字幕和BDN-XML格式蓝光字幕)
比如:
[*]avs2bdnxml -t Undefined -l und -v 1080p -f 23.976 -a1 -p1 -b0 -m3 -u0 -e0 -n0 -z0 -o output.xml -o output.sup input.avs

复制代码
待转ASS字幕所在路径E:TestEscape.Plan.chs.ass
字幕渲染插件路径E:FTPVSFilter.dll
avs2bdnxml工具所在路径 E:FTPavs2supavs2bdnxml
设置转换后字幕输出路径E:FTPsubEscape.Plan.chs.xml
设置转换生成的sup字幕存放路径 E:FTPsubEscape.Plan.chs.sup
avs脚本存放路径E:FTPExample.avs

编辑好参数后回车执行命令
[*]E:FTPavs2supavs2bdnxml -t chs -l zho -v 1080p -f 23.976 -a1 -p1 -b0 -m3 -u0 -e0 -n0 -z0 -o E:FTPsubEscape.Plan.chs.xml -o E:FTPsubEscape.Plan.chs.sup E:FTPExample.avs

复制代码
字幕转换中


字幕转换完成输出的SUP图形字幕和BDN XML+PNG格式



本教程转自Doom9原帖地址

unsay11 发表于 2017-2-13 10:20:55

到处都找不到关于avs2bdnxml的具体教程,终于在这里找到了,实在是太感谢楼主了

按照教程,我尝试了几次终于完成了字幕的转换,不过遇到两个问题暂时没办法解决,想请教楼主指点一下:
一是avs里的“framecount:帧数”是如何确定的呢?虽然可以通过easyavs2bdnxml先过一遍来获取这个数据,但不知道有没更便捷和准确的确定方法呢?
二是转换后的文件夹里有sup和xml,却连一张png图片都没有,而我的后续制作需要这些图片

非常感谢

lgandwest 发表于 2017-5-23 08:42:15

avs2bdnxml还不知道更新了没有

mszro 发表于 2020-8-17 08:37:29

不错,又学到了新技能
页: [1]
查看完整版本: avs2bdnxml: ASS转BluRay SUP/PGS & BDN XML