The end result was twenty minutes of 4K 29.97fps 4:2:0 8-bit. The codec was H.264, but there were two project-specific reasons for that choice: 1) H.264 was the only format supported by the projection system it was to be played back on, and 2) we needed a fast-encoding codec to beat a deadline.
Speaking of deadlines, I would personally be reluctant to rely on the cloud for a time-critical export because a rogue backhoe operator 20 miles from me could wreck my Internet connection without notice. But then the flip side is that if I don’t use cloud for time-critical projects, then by definition I have time to do the encoding myself. This is a case where “time-critical” may mean something different to a business than to a daily vlogger. My appetite for potential cloud downtime would probably vary on a case-by-case basis.
Speaking of businesses, part of my work is to create corporate training videos. There are policy restrictions that prevent me from sending any of that footage to any cloud provider for any reason. That material has to stay internal to the company. This is not a barrier for the average home user, but it does showcase a reason that a commercial user might be hesitant to put their sources on a cloud platform. And I’m guessing commercial users may have the most funds and interest in a potentially complex cloud solution. I wonder how targeted the advertising for this service would need to be to find the right users that would be willing to pay for it.
Speaking of backhoe operators, the files in these processes have potential to be massive. I assume your service would offer restartable transfers in the event a transfer is interrupted?
I’m hesitant to call them pretenders. They’re quite sophisticated, and there is custom hardware involved:
https://netflixtechblog.com/dynamic-optimizer-a-perceptual-video-encoding-optimization-framework-e19f1e3a277f
https://www.ssimwave.com/wp-content/uploads/2021/02/Per_title_SMC2021-1.pdf
https://www.spiedigitallibrary.org/conference-proceedings-of-spie/11842/118420T/Towards-much-better-SVT-AV1-quality-cycles-tradeoffs-for-VOD/10.1117/12.2595598.full
(this PDF paper is insanely useful and free)
Also see the Google Argos VCU, and the Netflix Archer and Reloaded platforms:
https://semianalysis.com/google-new-custom-silicon-replaces-10-million-intel-cpus-google-argos-vpu/
https://netflixtechblog.com/simplifying-media-innovation-at-netflix-with-archer-3f8cbb0e2bcb
To your point, this isn’t entirely proprietary because they were kind enough to share the details of how they did it with the world. The SPIE paper combined with a scene detector like PySceneDetect plus the techniques in the Netflix DO paper provides pretty much everything needed to copy their processes. But they did the hard work to get us all here, and they still do it better than anybody else, at colossal scale.
For me, better quality is the only reason I would even consider cloud. If encoding is fast (like H.264 using preset=veryfast
or like DNxHR/ProRes/lossless), then the encoding time on my local computer is inconsequential and the cloud offers little benefit.
Likewise, a fast but poor VP9 or AV1 encoding is of questionable value to the final audience.
The win for cloud is a fast (or at least offloaded) high-quality encoding in a slow-to-compress format like AV1 or VVC. Anything less, and I could do it myself in less time with less hassle.
(Exception case after I wrote this: see Documentary Filmmaker section below.)
Yes. These days, it seems like only two parameters really matter: 1) bitrate cap for services that have max bitrate requirements [the encoding could actually be 2-pass capped VBR rather than average bitrate], and 2) VMAF target of lossy export relative to a lossless export. Or possibly 3) a targeted service profile if a service is known to have exacting encoding requirements (like broadcast television).
Hmm… if your cloud had the sources and did the Shotcut export itself, it could use lossless as the output format. Then a follow-up 2-pass encoding would have the highest quality master to work with, and could generate meaningful VMAF comparison scores. Technically, Shotcut can do 2-pass on its own, but not against a VMAF target, and this route could be potentially faster. This route also enables scene-based chunked transcoding of the lossless master, which Shotcut cannot do on its own.
I can only speak for myself, but I rarely need more than two exports: an intermediate master (DNxHR/ProRes) when the project requires it, and then a deliverable format that “approaches visually lossless” in the smallest file size possible. I don’t do multi-resolution. I give the highest resolution I’ve got to the client, and then they deal with it from there. Naturally, some clients have specific requirements and I’ll make an additional export to meet those.
I wouldn’t be surprised to learn that home users editing family video might like a 4K master for their local archive, and a 1080p for uploading to social media.
I’m pretty sure those require licensing fees. And this puts you in the ladder/VOD world where MediaConvert already has a strong presence. Not trying to discourage you… just wondering if the average home user would need this, and that’s probably the majority of Shotcut users for now.
Other random cloud questions:
-
Would your cloud service offer long-term high-reliability backups of all files as part of the package? Or at least automated transfer to another service like Backblaze?
-
If your cloud does offer Shotcut exporting, will the user be able to select the version of Shotcut that is used? Or at least infer it automatically from the MLT file? The MLT format sometimes changes from version to version.
I’m seeing two more potential use cases for cloud the more I think about it:
-
A documentary filmmaker: Suppose they collect all their footage and dump it on the cloud at once. From this point on, all their time is spent editing and generating countless preview renders. If a filmmaker could queue a preview in the cloud then immediately continue editing the next section while the cloud churns in the background, this could be a nice boost to the editing process. The only thing transferred is an updated MLT file and the rendered output because the sources remain the same. (In this scenario, a “better speed/small size” export might be preferable to a “better quality/huge size” export.) This cloud workflow could technically be simulated by somebody with two computers having shared storage, where the second computer is triggered to render over the network. But that’s complex for the average home user, and it doesn’t allow a travelling filmmaker to do everything on a single laptop. Traveling Laptop Guy will really like that the cloud continues to render while the laptop is turned off.
-
Suppose a non-techie small business owner wants to advertise their business on a local television station by making a commercial. The TV station has rigorous ingest requirements that the non-techie person will never meet. What if your service offered transcoding into broadcast-complaint files that met the requirements of the major networks and popular playout servers?