Go to file
2014-06-14 23:50:07 +08:00
locale README and Help - "opaque" -> "opacity" 2014-02-03 18:54:40 +08:00
test test-3drot.py 2014-06-08 20:48:43 +08:00
COPYING Add GPL license 2013-09-15 09:16:21 +08:00
danmaku2ass.py Add Aspect Ratio header 2014-06-14 23:50:07 +08:00
Makefile Update Makefile 2013-11-03 12:38:18 +08:00
PKGBUILD Add PKGBUILD 2013-10-01 08:56:07 +08:00
README.md README and Help - "opaque" -> "opacity" 2014-02-03 18:54:40 +08:00
screenshot.jpg jpgcrush screenshot.jpg 2014-06-10 19:52:55 +08:00

Danmaku2ASS

What is it?

Danmaku2ASS converts comments from Niconico/Acfun/Bilibili to ASS format so that you can play it with any media player supporting ASS subtitle.

This software is free software released under GPL 3 license. There is no warranty to the extent permitted by law.

How to use it?

First, you will have to get the XML or JSON file from Niconico/Acfun/Bilibili, many software can help you get it. For example, you-get and nicovideo-dl.

Then, execute danmaku2ass. You can see further instructions below.

Example usage

./danmaku2ass -o foo.ass -s 1920x1080 -fn "MS PGothic" -fs 48 -a 0.8 -l 5 foo.xml

Name the output file with same basename but different extension (.ass) as the video. Put them into the same directory and most media players will automatically load them. For MPlayer, you will have to specify -ass option.

Make sure that the width/height ratio passed to danmaku2ass matches the one of your original video, or text deformation may be experienced.

You can also pass multiple XML/JSON files and they will be merged into one ASS file. This is useful when watching danmakus from different website at the same time.

Screenshot

5 Centimeters Per Second with Danmaku2ASS

Video: 5 Centimeters Per Second

Source: http://www.bilibili.tv/video/av135209/

Command line reference

usage: danmaku2ass.py [-h] [-o OUTPUT] -s WIDTHxHEIGHT [-fn FONT] [-fs SIZE]
                      [-a ALPHA] [-l SECONDS] [-p HEIGHT] [-r]
                      FILE [FILE ...]

positional arguments:
  FILE                  Comment file to be processed

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output file
  -s WIDTHxHEIGHT, --size WIDTHxHEIGHT
                        Stage size in pixels
  -fn FONT, --font FONT
                        Specify font face [default: sans-serif]
  -fs SIZE, --fontsize SIZE
                        Default font size [default: 25]
  -a ALPHA, --alpha ALPHA
                        Text opacity
  -l SECONDS, --lifetime SECONDS
                        Duration of comment display [default: 5]
  -p HEIGHT, --protect HEIGHT
                        Reserve blank on the bottom of the stage
  -r, --reduce          Reduce the amount of comments if stage is full

FAQ

The text is moving laggy. / The text is slightly blurred.

Most ASS renderers render ASS subtitles at the same resolution as the video. This is probably because the video is at low resolution or framerate.

If you use MPlayer, you can add options similar to -vf scale=1920:1080 (change the values as you wish).`

I would like to render the danmakus into the video.

Use ffmpeg:

ffmpeg -i foo.flv -vf ass=foo.ass -vcodec libx264 -acodec copy foo-with-danmaku.flv

Change the parameters as you like.

Danmaku2ASS gave me some warnings of 'Invalid comment'.

This is probably because of comment styles that are not recognized by Danmaku2ASS. This is mostly normal. However, if you think that Danmaku2ASS missed some important things, please feel free to submit an issue.

Is there a GUI?

Currently no. But there will soon be one made of Gtk+ 3. If you would like to help me, please contact with me.

Contributing

Any contribution is welcome. Any donation is welcome as well.