AVS to BluRay SUP/PGS and BDN XML ================================= This program can be used to transform AviSynth scripts, which produce RGBA output, to BDN XML+PNG format. This in turn can be transformed into a SUP file, which can be used to master a BluRay disc with subtitles. Usage instructions ------------------ 0. If you want to build it: On Ubuntu: ``` sudo apt-get install mingw32 mingw32-binutils make ``` 1. Prepare subtitles. You can either produce subtitles in a normal format like SRT or ASS/SSA, or produce an RGBA video beforehand. 2. Create an AviSynth script. If you made a regular subtitle file, you can use something like this: ``` video=AviSource("video.avi") # This requires at least VSFilter 2.39 MaskSub("subtitles.ext",video.width,video.height, video.framerate,video.framecount) ``` If you created an RGBA video, do something like this instead: ``` AviSource("subtitles_RGBA.avi") FlipVertical() ``` 3. Run the program: ``` avs2bdnxml -t Undefined -l und -v 1080p -f 23.976 -a1 -p1 -b0 -m3 -u0 -e0 -n0 -z0 -o output.xml input.avs ``` 4. You get a BDN XML file in the following format: ``` 000000.png ``` 5. To convert output directly to BD .sup format, simply change extension for output file in programm call to .sup. **Don't use BDSupEdit or BDSup2Sub if you enabled -b for splitting images in multiple parts!** Commandline Parameters ---------------------- ``` Usage: avs2bdnxml [options] -o output input Input has to be an AviSynth script with RGBA as output colorspace -o, --output Output file in BDN XML format For SUP/PGS output, use a .sup extension -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 -l, --language Language code, like: und -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. [on=1, off=0] -a, --autocrop Automatically crop output. [on=1, off=0] -p, --palette Output 8bit palette PNG. [on=1, off=0] -n, --null-xml Allow output of empty XML files. [on=1, off=0] -z, --stricter Stricter checks in the SUP writer. May lead to less optimized buffer use, but might raise compatibility. [on=1, off=0] -u, --ugly Allow splitting images in ugly ways. Might improve buffer problems, but is ugly. [on=1, off=0] -b, --buffer-opt Optimize PG buffer size by image splitting. [on=1, off=0] ``` Detail informations on [doom9](http://forum.doom9.org/showthread.php?t=146493) > http://ps-auxw.de/avs2bdnxml/