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: Tue, 17 Jun 2025 23:15:25 +0200
Message-ID: <e558d20fa8d8fe3afa24eafa18b20395e209aa8b.camel@haerdin.se> (raw)
In-Reply-To: <20250613161941.GD29660@pb2>

fre 2025-06-13 klockan 18:19 +0200 skrev Michael Niedermayer:
> Hi
> 
> On Fri, Jun 13, 2025 at 04:53:14PM +0200, Tomas Härdin wrote:
> > fre 2025-06-13 klockan 16:21 +0200 skrev Michael Niedermayer:
> > > > 3) remove edit list hacks from all demuxers, especially mov.c
> > > 
> > > +1 (with ABI +2 bump)
> > 
> > I'm not sure why a (major?) bump would be necessary. Are removal of
> > options a major bump, not a minor one?
> 
> removial of things is major, it can break user applications
> 
> 
> > Either way, we could make the
> > options ffmpeg.c ones rather than mov.c ones. There's going to be
> > pain
> 
> unless iam missing something, this would still break library users
> 
> 
> > either way, partly because doing this in the demuxer was the wrong
> > thing to do in the first place.
> 
> yes, you are correct!
> 
> 
> > Another case of "oh let's just do a
> > quick and dirty thing" coming back to bite us.
> > 
> > Come to think of this, perhaps hiding this behind a major bump is
> > not
> > such a bad idea. That allows making more sweeping changes,
> > including
> > behavioral ones.
> 
> yeah

Sounds like you're not opposed to removing the hacks from the demuxer
then, even if this results in a change in behavior, assuming it is done
after a major version bump. Very good.

> > > > The main issue I see with this is that it risks turning ffmpeg
> > > > into
> > > > an
> > > > NLE tool,
> > > 
> > > If ffmpeg could do NLE, that would not be a bad thing
> > > And a full implementation of edit lists may be equivalent to
> > > this.
> > > I think thats a win not a loss
> > 
> > Fair enough. So long as I don't have to implement it or think
> > particularly much about it.
> 
> it will be needed to think about "if its possible" to implement
> during API design
> 
> That said if
> * proper edit list implementation is bascially NLE support
> 
> Then not only is it alot of work, it also allows us to attract a new
> group of developers and users

*We* shouldn't necessarily be attracting them. Libre multimedia is more
than just FFmpeg. It is better to focus NLE efforts on melt. We can
explicitly declare that FFmpeg's task is to carry the necessary
timeline metadata, and the essence, unmolested between formats. When
this is not possible, such as remuxing OP3c MXF to MOV, the ffmpeg CLI
should complain loudly. The present state of things is bad, because
essence is silently discarded by default. I'm sure Google's use case
can be accommodated with a small shell script combining ffmpeg and melt
(the elst hack appears to originate from Google)

Exposing this metadata on the other hand is highly useful to projects
like melt, because it allows proper handling of MOV-elst and higher
operational pattern MXF in tools like kdenlive. kdenlive can already
generate "scripts" that can be used to render timelines on the terminal
via melt. There is no need for us to reimplement such functionality.

FFmpeg's architecture is wholly unsuitable for NLE work. That way lies
madness. This becomes apparent when looking at melt. I suggest more
devs take a look at it.

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

  reply	other threads:[~2025-06-17 21:15 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 [this message]
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
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=e558d20fa8d8fe3afa24eafa18b20395e209aa8b.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