Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Dennis Mungai <dmngaie@gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/movenc: add support for fragmented TTML muxing
Date: Fri, 8 Dec 2023 18:36:38 +0300
Message-ID: <CAKKYfmHJU2eOJQC5SgCRYs8dfzFn2TJizRBPK5LJAQfR9cys+Q@mail.gmail.com> (raw)
In-Reply-To: <AS8P250MB074457A83633E8018E7E04A18F8AA@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>

On Fri, 8 Dec 2023 at 15:14, Andreas Rheinhardt <
andreas.rheinhardt@outlook.com> wrote:

> Jan Ekström:
> > From: Jan Ekström <jan.ekstrom@24i.com>
> >
> > Attempts to base the fragmentation timing on other streams
> > as most receivers expect media fragments to be more or less
> > aligned.
> >
> > Currently does not support fragmentation on subtitle track
> > only, as the subtitle packet queue timings would have to be
> > checked in addition to the current fragmentation timing logic.
> >
> > Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
> > ---
> >  libavformat/movenc.c                        |    9 -
> >  libavformat/movenc_ttml.c                   |  157 ++-
> >  tests/fate/mov.mak                          |   21 +
> >  tests/ref/fate/mov-mp4-fragmented-ttml-dfxp | 1197 +++++++++++++++++++
> >  tests/ref/fate/mov-mp4-fragmented-ttml-stpp | 1197 +++++++++++++++++++
>
> Am I the only one who thinks that this is a bit excessive?
>
> >  5 files changed, 2568 insertions(+), 13 deletions(-)
> >  create mode 100644 tests/ref/fate/mov-mp4-fragmented-ttml-dfxp
> >  create mode 100644 tests/ref/fate/mov-mp4-fragmented-ttml-stpp
> >
> > diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
> > index 6cb493ceab..5c44299196 100644
> > --- a/tests/fate/mov.mak
> > +++ b/tests/fate/mov.mak
> > @@ -143,6 +143,27 @@ FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, TTML
> SUBRIP, MP4 MOV, SRT_DEMUXER TTML
> >  fate-mov-mp4-ttml-stpp: CMD = transcode srt
> $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt mp4 "-map 0:s -c:s ttml
> -time_base:s 1:1000" "-map 0 -c copy" "-of json -show_entries
> packet:stream=index,codec_type,codec_tag_string,codec_tag,codec_name,time_base,start_time,duration_ts,duration,nb_frames,nb_read_packets:stream_tags"
> >  fate-mov-mp4-ttml-dfxp: CMD = transcode srt
> $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt mp4 "-map 0:s -c:s ttml
> -time_base:s 1:1000 -tag:s dfxp -strict unofficial" "-map 0 -c copy" "-of
> json -show_entries
> packet:stream=index,codec_type,codec_tag_string,codec_tag,codec_name,time_base,start_time,duration_ts,duration,nb_frames,nb_read_packets:stream_tags"
> >
> > +FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, TTML SUBRIP, MP4 MOV,
> LAVFI_INDEV SMPTEHDBARS_FILTER SRT_DEMUXER MPEG2VIDEO_ENCODER TTML_MUXER
> RAWVIDEO_MUXER) += fate-mov-mp4-fragmented-ttml-stpp
> > +fate-mov-mp4-fragmented-ttml-stpp: CMD = transcode srt
> $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt mp4 \
> > +  "-map 1:v -map 0:s \
> > +   -c:v mpeg2video -b:v 2M -g 48 -sc_threshold 1000000000 \
> > +   -c:s ttml -time_base:s 1:1000 \
> > +   -movflags +cmaf" \
> > +  "-map 0:s -c copy" \
> > +  "-select_streams s -of csv -show_packets -show_data_hash crc32" \
> > +  "-f lavfi -i
> smptehdbars=duration=70:size=320x180:rate=24000/1001,format=yuv420p" \
> > +  "" "" "rawvideo"
>
> Would it speed the test up if you used smaller dimensions or a smaller
> bitrate?
> Anyway, you probably want the "data" output format instead of rawvideo.
>
> > +
> > +FATE_MOV_FFMPEG_FFPROBE-$(call TRANSCODE, TTML SUBRIP, ISMV MOV,
> LAVFI_INDEV SMPTEHDBARS_FILTER SRT_DEMUXER MPEG2VIDEO_ENCODER TTML_MUXER
> RAWVIDEO_MUXER) += fate-mov-mp4-fragmented-ttml-dfxp
> > +fate-mov-mp4-fragmented-ttml-dfxp: CMD = transcode srt
> $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt ismv \
> > +  "-map 1:v -map 0:s \
> > +   -c:v mpeg2video -b:v 2M -g 48 -sc_threshold 1000000000 \
> > +   -c:s ttml -tag:s dfxp -time_base:s 1:1000" \
> > +  "-map 0:s -c copy" \
> > +  "-select_streams s -of csv -show_packets -show_data_hash crc32" \
> > +  "-f lavfi -i
> smptehdbars=duration=70:size=320x180:rate=24000/1001,format=yuv420p" \
> > +  "" "" "rawvideo"
> > +
> >  # FIXME: Uncomment these two tests once the test files are uploaded to
> the fate
> >  # server.
> >  # avif demuxing - still image with 1 item.
>

Hello Jan,

Taking this note into account, and I quote:

 " Currently does not support fragmentation on subtitle track only, as the
subtitle packet queue timings would have to be checked in addition to the
current fragmentation timing logic."

Wouldn't it be ideal to have this merged until after support for
fragmentation in subtitle-only tracks is complete, at the very least? That
way, the fate tests for such a workflow (case in point CMAF) would
therefore be feature complete?
The typical workloads that depend on such functionality, such as ingesting
CMFT require a subtitle-only stream be present in such a representation.

See:
1.
https://www.unified-streaming.com/blog/cmaf-conformance-is-this-really-cmaf
2. https://www.unified-streaming.com/blog/live-media-ingest-cmaf
_______________________________________________
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:[~2023-12-08 15:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15 13:16 [FFmpeg-devel] [PATCH v2 0/3] Initial " Jan Ekström
2023-09-15 13:16 ` [FFmpeg-devel] [PATCH v2 1/3] tests/fate-run: add support for specifying the final encode muxer in `transcode` Jan Ekström
2023-09-15 13:16 ` [FFmpeg-devel] [PATCH v2 2/3] avcodec/avpacket: add functionality to prepend to AVPacketLists Jan Ekström
2023-09-15 13:17 ` [FFmpeg-devel] [PATCH v2 3/3] avformat/movenc: add support for fragmented TTML muxing Jan Ekström
2023-12-08 12:15   ` Andreas Rheinhardt
2023-12-08 15:36     ` Dennis Mungai [this message]
2023-12-08 17:05       ` Jan Ekström
2023-12-08 17:09         ` Jan Ekström
2023-12-08 17:17           ` Jan Ekström
2023-12-08 11:52 ` [FFmpeg-devel] [PATCH v2 0/3] Initial " Jan Ekström

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=CAKKYfmHJU2eOJQC5SgCRYs8dfzFn2TJizRBPK5LJAQfR9cys+Q@mail.gmail.com \
    --to=dmngaie@gmail.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