2007-07-12, 12:43
Since XBMC's FFmpeg-based in-house DVDPlayer video-player will be XBMC's primary cross-platform video-player core I like too submit this little more formal suggestion for the handling of external subtitles in the DVDPlayer, preferably via portable (supporting both Xbox/Win32 and Linux/POSIX) library.
Something in the lines what is suggested here in the FFmpeg Wishlist:
MPlayer (MPlayer has multiple subtitle libaries? like libass for SSA/ASS subtitles)
VSFilter (formally called "VobSub") DirectShow filter (advanced subtitles with styles and realtime karaoke effects. All rendered in high quality with anti-aliased fonts)
Something in the lines what is suggested here in the FFmpeg Wishlist:
Quote:* Create a common 'subtitles parser library' (and/or an API system for adding support for additional subtitle formats?) - a common sub-library to FFmpeg with all subtile decoders/demuxers/parsers gathered (similar to the libpostproc and libavutils). Call it "libsubs" (or "libsub", "libsubtitles" or whatever). Move FFmpeg's existing VobSub and DVBsub code there, so no matter if they are bitmap or text-based subs all existing and future subtile code is collected there. This will help reduce future code replication by sharing common code, thus making it easier to add support for additional subtitles.Possible Source code libraries:
**Maybe use MPlayer's recently added "libass'" (SSA/ASS subtile reader) as a base for such a common library?
* Support for advanced SSA/ASS rendering
**Possible source are libass or the asa library
* Support bold, italic, underline, RGB colors, size changes and font changes for a whole line or part of one line
* Line 23 signal (a.k.a. "Wide-screen signal") detecting and use for DVD-Video (VobSub)
* Support for the subtitles HTML tags
* Capability of displaying subtitles with no video enabled (for example for audio-books)
* Support for Karaoke subtitles (for kar and cdg, etc.)
* Dual-subtitle-display (display two subtitles/languages at the same time, one at the bottom as normal plus one at the top of the screen)
* Capability of moving the subtitles in the picture (freetype renderer)
*Support more subtitle formats (text and bitmap-based):
** Closed captioning (CC) subtitle support - (Closed captions for the deaf and hard of hearing, also known as "Line 21 captioning", uses VobSub bitmaps)
*** xine have a SPU decoder for subpictures and Closed Captions software decoding
** DirectVobSub (VSFilter) - standard VobSubs (DVD-Video subtitles) embedded in AVI containers
** DivX Subtitles (XSUB) display/reader/decoder (Note: bitmap based subtitle, similar to VobSub)
** SubRip (.srt) subtile support (Note: simple text-based based subtitle with timestamp)
** Subviewer (.sub) subtile support (Note: simple text-based based subtitle with timestamp)
** MicroDVD (.sub) subtile support (Note: simple text-based based subtitle with timestamp
** Sami (.smi) subtile support (Note: simple text-based based subtitle with timestamp)
** SubStation Alpha (.ssa+.ass) subtile support (Note: advanced text-based based subtitle with timestamps and X/Y location on screen)
** RealText (.rt) subtile support
** PowerDivx (.psb) subtile support
** Universal Subtitle Format (.usf) subtitle support
** Structured Subtitle Format (.ssf) subtile support
MPlayer (MPlayer has multiple subtitle libaries? like libass for SSA/ASS subtitles)
VSFilter (formally called "VobSub") DirectShow filter (advanced subtitles with styles and realtime karaoke effects. All rendered in high quality with anti-aliased fonts)