Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Tomas Härdin" <git@haerdin.se>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [RFC] Moving edit list handling out of demuxers
Date: Wed, 18 Jun 2025 17:50:10 +0200
Message-ID: <de4661a2c699e7161386b6df899cc4f6a83b3c2c.camel@haerdin.se> (raw)
In-Reply-To: <20250618035524.GO29660@pb2>

ons 2025-06-18 klockan 05:55 +0200 skrev Michael Niedermayer:
> What you suggest or hint toward to me, in plain english sounds like,
> drop the ffmpeg command line tool because it would otherwise need to
> have NLE support.

I am not suggesting that. As many others have been pointing out
recently, we don't have to support literally every use case. We can say
that we will transcode essence and expose/map relevant metadata/side
data. We can say that it is up to users to implement the relevant
business logic. melt again serves as a useful example. Another way
could be writing a Python program that parses edit list data supplied
by ffprobe, building an ffmpeg command line that it then executes to
effect the desired rendering


> My way is forward,
>     a streaming server (IF there are people who want to work on it),
>     NLE (IF there are people who want to work on it)
>     anything else multimedia related (IF there are people who want to
> work on it)

You should know by now that a significant fraction of developers
disagree with the kind of scope creep this implies


> If we dont implement full edit list support, then we should not
> pretend
>     1. ffmpeg even supports mov or mp4 (and thats the end of ffmpeg.)

FFmpeg does not support Flash or 3D meshes in mov files either. Despite
this, the world has not ended

> 3. a way to apply a edit list, so
>    mov (with edit list) ->  mpeg-ts (no edit lists) works

There is no "correct" way to do this that satisfies every user. This is
why I say this kind of stuff is business logic. It could be handled by
a small shell script. Or Python. Either way, it does not belong in lavf

>    also another example for "apply" is a player, which also needs to
> apply
>    the edit lists to be able to present a file to a human
>    thats ffplay but also many other players that use libavcodec &
> format

Yes, such as melt. Which already exists and does all the stuff
necessary for NLE work, so there's no need for us to reimplement it

In order to unblock work on fragmented indexes, which is important for
both mov and mxf, I need to be absolutely certain that the change in
behavior that this entails can be effected. I'm already working on the
assumption that it can be guarded by a major version bump. I can put
the API in place, after which someone else can implement the necessary
rendering if they really want to. It is not reasonable at all that an
already complicated task (opening .mov without having to parse the
entire damn file) is predicated on implementing a whole damn NLE
framework as well. Especially when such code already exists (libmlt)

The upside of a proper API is that we can export edit lists from other
formats as well, such as:

* IMF
* MKV
* MXF

Sharp minds should have realized back in 2016 that any hack that
"implements" edit lists in mov.c would also have to be duplicated in
demuxers for other formats with similar functionality. Which is just
silly. It was wrong then and it is wrong now

/Tomas
_______________________________________________
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".

  parent reply	other threads:[~2025-06-18 15:50 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-13 10:55 Tomas Härdin
2025-06-13 12:51 ` Kieran Kunhya via ffmpeg-devel
2025-06-13 13:28   ` Derek Buitenhuis
2025-06-13 14:34   ` Tomas Härdin
2025-06-13 14:41     ` Derek Buitenhuis
2025-06-13 14:21 ` Michael Niedermayer
2025-06-13 14:53   ` Tomas Härdin
2025-06-13 14:57     ` Gyan Doshi
2025-06-17 20:42       ` Tomas Härdin
2025-06-13 16:19     ` Michael Niedermayer
2025-06-17 21:15       ` Tomas Härdin
2025-06-18  3:55         ` Michael Niedermayer
2025-06-18 10:02           ` Michael Niedermayer
2025-06-18 10:09             ` Nicolas George
2025-06-18 15:50           ` Tomas Härdin [this message]
2025-06-13 16:22     ` Michael Niedermayer
2025-06-13 14:37 ` Gyan Doshi
2025-06-17 21:33   ` Tomas Härdin
2025-06-18  4:15     ` Gyan Doshi
2025-06-18  7:17     ` Nicolas George
2025-06-13 16:57 ` Nicolas George

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=de4661a2c699e7161386b6df899cc4f6a83b3c2c.camel@haerdin.se \
    --to=git@haerdin.se \
    --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