Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Devlist Archive <devlist@rlb.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] Captions SCC
Date: Fri, 7 Feb 2025 10:32:17 -0800
Message-ID: <CANJxsBmJ+=8_Auy=5iBAFXqaicqCxPk5mbTKRU3TSrXXNSp-zQ@mail.gmail.com> (raw)
In-Reply-To: <CAHGibzEn5eofMBxVw80NfgwyyqidWi4fDuDWWP+gN82qvHEOjg@mail.gmail.com>

> I've actually got code in the tree to handle framerate changes for
> captions (the cc_fifo mechanism).  It works for CC within video
> streams (e.g. user_data or SEI), but isn't implemented in the case
> where you have C608 packets.  It might be possible to insert the
> "cc_repack" filter and framerate conversion in the first part of the
> command before sending the CC data to before handing off the data to
> the subcc output.  That said, I've never tried it and would probably
> have to play around with it to get the syntax right.

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.

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.

Zach



On Fri, Feb 7, 2025 at 10:05 AM Devin Heitmueller <
devin.heitmueller@ltnglobal.com> wrote:

> On Fri, Feb 7, 2025 at 11:42 AM Devlist Archive <devlist@rlb.org> wrote:
> > As such, I may be able to work out an edit workflow by using RCWT to
> make a
> > .bin file, using ccextractor to make an mcc file and importing into an
> edit
> > suite for transcode.  The part I will still be missing is something to
> take
> > the .ssc file output from Premiere and put it back in the .mp4 container.
> > Embedding seems to be present for some forms of subtitles, but not for a
> > proper captions file generated by MacCaption or Captionmaker which is
> > software I am trying to avoid having to buy as I would much rather those
> > funds go towards development.  One solution I guess would be to just
> > require sidecar files for playout which I would prefer not to require.  I
> > can look into those solutions off list.  MCC files or other formats that
> > support 708 are the ideal, but 608 is all that is required.
>
> For what it's worth, ffmpeg does have an MCC demuxer, but not a muxer.
> Writing one though would be pretty easy (it's a relatively simple
> format).  Probably the bigger issue is that internally ffmpeg tends to
> strip out all the 708 when using the "subcc" mechanism, only
> preserving the 608 tuples.
>
> I've actually got code in the tree to handle framerate changes for
> captions (the cc_fifo mechanism).  It works for CC within video
> streams (e.g. user_data or SEI), but isn't implemented in the case
> where you have C608 packets.  It might be possible to insert the
> "cc_repack" filter and framerate conversion in the first part of the
> command before sending the CC data to before handing off the data to
> the subcc output.  That said, I've never tried it and would probably
> have to play around with it to get the syntax right.
>
> 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".
>
_______________________________________________
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 18:32 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 [this message]
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

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='CANJxsBmJ+=8_Auy=5iBAFXqaicqCxPk5mbTKRU3TSrXXNSp-zQ@mail.gmail.com' \
    --to=devlist@rlb.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