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".
next prev 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