I asked ChatGPT for an example to work in memory instead of ffmpeg with files and it just went on and on... plus the dependencies were pretty clearly most at home on Linux.
Writing against the ffmpeg c API is very very unpleasant. The official guidance you'll get is to read the source code of the command line app and copy what it does. This is not at all the normal use case. I would guess GPT will give you horrible advice here because it generally can't help with obscure APIs.
I've found the opposite to be true; the FFmpeg C API is pretty straightforward, although it tends to change a bit since the developers are deprecation-happy. The ffmpeg(1) CLI, though… that's crazy! I've mostly understood its model by now, but a lot of things are completely nonstandard and unexpected. (Like: ffmpeg a.mp4 b.mp4 means two output files, not an input and an output. Lots of arguments mean different things depending on whether they come before an input and an output argument; and yes, that's before and not after. And so on.)
if it is just encoding/decoding ffmpeg can go entirely from stdin to stdout IIRC, provided formats support it. So for example it won't work for mp4 output as it needs to seek to write some headers (again, IIRC) when saving it.
Wouldn't it work if you stream the resulting video as a Youtube Live stream?
You would have to set a stream up in the Youtube creator web page, in order to get a streaming key and with it, a full RTMP URL.
Then in FFmpeg, use "-f rtmp://...your target url" as output. Youtube will stream a live video (which you can hide as "unlisted") and afterwards, the video will remain in the channel as a VOD.
MoviePy is pretty committed to working with files, and I couldn't quickly figure out PyAV pts/dts for the concat even though the files were all exactly the same format.
I asked ChatGPT for an example to work in memory instead of ffmpeg with files and it just went on and on... plus the dependencies were pretty clearly most at home on Linux.
Might have been my inexperience?