Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Devin Heitmueller <devin.heitmueller@ltnglobal.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] Captions SCC
Date: Fri, 7 Feb 2025 14:03:14 -0500
Message-ID: <CAHGibzHRmgTf206rJyQtsWDo3Lk_mVtOr1tmyaLGg=FEgnVbuA@mail.gmail.com> (raw)
In-Reply-To: <CANJxsBmJ+=8_Auy=5iBAFXqaicqCxPk5mbTKRU3TSrXXNSp-zQ@mail.gmail.com>

On Fri, Feb 7, 2025 at 1:32 PM Devlist Archive <devlist@rlb.org> wrote:
> That is good to hear, FYI any time 708 captions present in a DTVCC video
> stream there also must be 608 captions wrapped in that stream for legal
> compliance and backwards compatibility with older downstream equipment
> that downscales to SD.  Typically files come in with both 608 and 708
> streams, but sometimes there will only be a 608 stream.  Regulations only
> require 608, but 708 support is ideal.

Yeah, almost everybody ignores the 708 data, and in fact in most cases
the content is authored in 608 and then upconverted to 708 (i.e. so
you don't get any of the benefits of 708).  It's unfortunate how that
turned out, but it's largely related to economics for the content
providers.

I considered adding a c708 AVPacket format which preserves the 708
data, but never got around to it.  Even the MCC demuxer in ffmpeg
right now only uses the 608 tuples and throws away the 708 data.  It's
kind of a mess.

> I noticed that either the RCWT or ccextractor scc process is also messing
> with the display duration of the captions, so that is not a currently
> functional workflow for me.  Probably has something to do with the
> processing subcc is doing.  At least that workflow makes a more accurate
> scc file than what is produced when using ffmpeg's ability to write the
> .scc file directly.
>
> The functions on my wish list are full 708/608 support for extraction and
> embedding to/from mcc and preserving 708/608 during frame rate conversion
> and transcoding with ffmpeg.  I have been pleased to see that transcoding
> now works with standard commands, but frame rate conversion using normal
> commands does not automatically invoke the cc_fifo mechanism or cc_repack.
> It would seem that captions should be handled correctly automatically and
> not need special filter commands to preserve them.  The captions I work
> with are basically user data captions but in an mp4 file according to SCTE
> 128 / DTVCC Transport.

The cc_fifo mechanism is actually implemented within the various
filters which change the framerate (deinterlacing, framerate
conversion, interlacing), so no extra command line arguments are
required.  There are some edge cases though that don't properly handle
it, and those mainly relate to cases such as the captions crossing
back/forth between SEI and dedicated caption tracks (e.g. MP4 with a
caption track, the subcc output, etc).

The cc_repack filter itself should almost never be actually used.
It's there mainly to deal with certain broken streams to regenerate
the padding in a conformant manner (e.g. deals with cases where an
incorrect amount of padding is in the source stream, the 608 tuples
violate the interleaving rules, etc).

Devin

-- 
Devin Heitmueller, Senior Software Engineer
LTN Global Communications
o: +1 (301) 363-1001
w: https://ltnglobal.com  e: devin.heitmueller@ltnglobal.com
_______________________________________________
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".

  reply	other threads:[~2025-02-07 19:03 UTC|newest]

Thread overview: 38+ 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 [this message]
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

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='CAHGibzHRmgTf206rJyQtsWDo3Lk_mVtOr1tmyaLGg=FEgnVbuA@mail.gmail.com' \
    --to=devin.heitmueller@ltnglobal.com \
    --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