From: Soft Works <softworkz-at-hotmail.com@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] Captions SCC Date: Sun, 9 Feb 2025 18:45:28 +0000 Message-ID: <DM8P223MB03653FC216774C2863D7747EBAF32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw) In-Reply-To: <CANJxsBkg7Lw3S8FzKopfAyEuwp8bU3Dup7TBWUqyrcmuBhsDWg@mail.gmail.com> > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Devlist Archive > Sent: Sunday, February 9, 2025 6:42 PM > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Captions SCC > > > > > Not to start an argument, but WebVTT is kind of a terrible format. > > It's a lowest common denominator and loses most formatting > information > > available even in 608 (which is now more than 40 years old). Stuff > > like rollup captions for live programming, color (to distinguish > > speakers) and caption positioning are pretty important to the > hearing > > impaired. > > > From the reading I have done, the WebVTT does support some placement, > italics, and appearance information, but not all players or ripping > programs support those functions. Yes, that's right. It also supports colors. The unfortunate part is that colors and styles need to be predefined as (CSS) classes. It's not possible to use inline styles, which essentially forces doing two passes for precise colors. With the 8 colors in case of 608 it's easy though. During the subtitle filtering work I had actually started adding missing features to the webvtt encoder but the requirement for predefined styles eventually set me off, making accurate conversions hardly possible. An idea was to create a predefined set of some-thousand styles and then always pick the closes matching one, but I hadn't followed that. > On Sun, Feb 9, 2025 at 6:03 AM Devin Heitmueller < > devin.heitmueller@ltnglobal.com> wrote: > > > > > To my point: no, I don't think normalizing everything down to > WebVTT > > is a good idea. Yes, WebVTT is not capable enough. ffmpeg internally uses the SSA/ASS format (for all text subs), which is undoubtedly the most capable format that exists. Any subtitle conversion in ffmpeg goes through this format, so when you convert sub title format A to B, it's always A => ASS => B So, when it comes to the question about a normalization, ASS is the way to go and ffmpeg made a good choice to do so. For those who haven't seen it yet: https://github.com/softworkz/SubtitleFilteringDemos/tree/master/Demo1 In this demo, the input is DVB bitmap subtitles and the output is DVB bitmap subtitles as well. But in-between, the OCR filter takes the bitmap and outputs ASS subs. The next filter manipulates the text and afterwards the ASS subs are rendered as bitmaps and encoded as DVB subs again. When you see this, you might think that it's kind-of like taking the source bitmaps, and writing new text on them, but that's not the case. Right in the middle, there's just the ASS format - which allows you to replicate any text subtitle feature that other formats have. > > Much of the goal, at least in the work that I do, is to conform to > the > > FCC requirements, which generally require that the original 608/708 > > from the content provider be preserved. All the above for getting to this answer: With ASS as storage/intermediate format it is possible to preserve the original content very precisely - without having to deal with a bitstream that cannot be safely applied to videos with different parameters than the original source. It "just" requires an encoder for 608/708, hopefully it's more clear now why I had emphasized that earlier. PS: Please note that this is not a proposal towards using ASS. The point is that ASS already _IS_ the intermediate format in ffmpeg and this won't and can't change (without re-implementing all text-subtitle encoders and decoders). sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-02-09 18:45 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-02-06 10:19 Devlist Archive 2025-02-06 12:57 ` Jack Lau 2025-02-07 5:12 ` Devlist Archive 2025-02-07 7:48 ` Soft Works 2025-02-07 7:58 ` Jack Lau 2025-02-07 8:16 ` Soft Works 2025-02-07 8:26 ` Jack Lau 2025-02-07 9:11 ` Soft Works 2025-02-07 9:44 ` Jack Lau 2025-02-07 15:38 ` Marth64 2025-02-07 16:05 ` Devlist Archive 2025-02-07 16:18 ` Marth64 2025-02-07 16:37 ` Marth64 2025-02-07 16:42 ` Devlist Archive 2025-02-07 18:05 ` Devin Heitmueller 2025-02-07 18:32 ` Devlist Archive 2025-02-07 19:03 ` Devin Heitmueller 2025-02-07 19:31 ` Devlist Archive 2025-02-07 19:44 ` Soft Works 2025-02-07 19:51 ` Devlist Archive 2025-02-07 19:55 ` Devin Heitmueller 2025-02-07 19:56 ` Devin Heitmueller 2025-02-07 19:56 ` Soft Works 2025-02-07 20:20 ` Devlist Archive 2025-02-07 19:52 ` Devin Heitmueller 2025-02-07 19:54 ` Devlist Archive 2025-02-07 17:37 ` Rémi Denis-Courmont 2025-02-07 17:31 ` Rémi Denis-Courmont 2025-02-07 17:47 ` Soft Works 2025-02-07 18:36 ` Tom Vaughan 2025-02-07 18:54 ` Soft Works 2025-02-07 20:09 ` Tom Vaughan 2025-02-07 20:49 ` Devlist Archive 2025-02-07 20:58 ` Soft Works 2025-02-07 21:05 ` Devlist Archive 2025-02-07 21:08 ` Devin Heitmueller 2025-02-07 22:02 ` Marth64 2025-02-07 22:18 ` Marth64 2025-02-07 23:12 ` Devin Heitmueller 2025-02-07 23:46 ` Soft Works 2025-02-07 23:58 ` Marth64 2025-02-08 0:10 ` Soft Works 2025-02-08 14:43 ` Devin Heitmueller 2025-02-09 3:39 ` Tom Vaughan 2025-02-09 14:03 ` Devin Heitmueller 2025-02-09 17:41 ` Devlist Archive 2025-02-09 18:41 ` Tom Vaughan 2025-02-09 18:45 ` Soft Works [this message] 2025-02-09 19:37 ` Marth64 2025-02-09 20:14 ` Soft Works 2025-02-09 20:23 ` Marth64 2025-02-09 20:33 ` Soft Works 2025-02-10 2:55 ` Devlist Archive
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=DM8P223MB03653FC216774C2863D7747EBAF32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \ --to=softworkz-at-hotmail.com@ffmpeg.org \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git