So I thought, can I do the editing on one machine and then move the export job (ie: the melt xml saved from the job queue) to another machine to actually run the export and encode? It looks like it should work, that the XML job file is a melt file that can be fed into the melt commandline tool. All the information appears to be there.
It doesn’t work. I still think it should and wonder what incantations I’m missing…
In a bit more detail: Interactive editing machine is a Mac running 21.05.18, this includes a melt 7.1.0 binary (which I presume comes from git master as that’s later than the stable release).
Desired encoding machine is Linux running Ubuntu 20.04, on which I have compiled and installed melt 7.1.0 from git master, using cmake, and provided all the dependencies it seems to want. But ignore potential issues with that build (for now) as, when it didn’t work, I just tried the file against the melt binary in the shotcut app on the Mac and am still seeing the same problem. Needless to say, running the encode jobs in shotcut does work.
(The encode itself is just using avformat, libx265, all software-based, no attempted use of GPU accelerated encoders. The only transitions being used are cuts, no filters. And I did amend the file to point to the different locations of the files on the other machine. And it is finding them.)
The commandline is just melt <filename.mlt>
, although also tried with -verbose and -debug which showed some more output but nothing very useful (like: error messages or indications of anything going wrong).
The symptom is that, after a lot of output from the decoders (which I see just the same when eg: using handbrake), it gets to:
Current Position: 0
And it stays there forever. the ‘melt’ process taking 100% of a single CPU core. Although, visible on Linux at least, it seems to change which core from time to time. The output file is created, but stays stubbornly at 0 bytes.
This is on both the Linux system and the Mac system with the melt binary inside the shotcut app.
I do notice when exporting in shotcut itself, that it too sits for a while seemingly preparing itself for the task ahead, before it starts actually encoding. But here “a while” is typically about a minute or so? I’ve left the commandline melt processing running an hour in the hope of seeing it produce something, and there’s nothing.
I think it crashed. I can’t ctrl-c to stop it, or kill -15. Only kill -9 works. (Or the equivalent “force quit” from the mac activity monitor.)