Adobe Premiere: Make it go faster by using two PCs

Adobe Premiere

Adobe sort of dominates this space. After Effects seems to get all the optimization love from the programmers. Will Adobe Premiere ever render significantly faster than real time?

We’ve done a lot of testing on our 16-32 core systems. Adobe Premiere is a program that just doesn’t scale very well with more compute horsepower on both the CPU and GPU side of things.

One thing we found was that using two computers (“Two Computers One Editor”) was the simplest and most cost-effective solution to speed workflows that involved mixed rendering/editing throughout the workday.

Proxies and efficient Proxy generation can be a big part of this workflow as well. Proxies stored locally on fast NVMe storage with the original 4k/8k RED reference footage stored on shared networked storage. If you haven’t heard the term Proxy before – in this context it means video files that are versions of the source footage that are re-encoded typically at a much lower bitrate and resolution. This footage is also encoded using a codec that is low CPU/GPU overhead to decode in order for a video editor to be able to quickly scrub through all of the footage, make edits and preview their work. At render time, the proxy video files (“proxies”) are quietly replaced with the original source footage.

This is a little bit more on the topic of good workflow hygene than the technical aspects of this how-to. Just be aware that it is totally fine to have each editor have local proxies with shared/networked storage of the original source video files.

The Setup

The first and best setup step is to set up your two computers so that all the files and assets are at the same path. We mapped a shared folder, “V:” to a Videos folder that has been shared using windows file sharing.

10%20setting%20up%20shared%20folders
Setup a folder on your storage drive, and share it. In our case, Videos is shared.


Map the network drive on both PCs and be sure it is working on both PCs (you can save files, edit files, etc)

If you really need help setting up basic file sharing, post on the forum here. Maybe we could do a video on that if you are lost. It’s a built-in windows feature.

Adobe Setup

Adobe Media Encoder is what is used to automate rendering. Pick which computer is going to do the rendering.

Before you get too deep into this process, it would be a good idea to copy some movie clips and other assets to your network drive and make a new Premiere project. Save it to the shared network drive. Then try to render it in Premiere on both PCs. It is totally normal to have issues because Premiere can be very finicky – make sure your graphics cards are setup properly on both machines and that both machines are capable of hardware acceleration in Premiere.

If you have trouble with Adobe Media Encoder, you can usually use Premiere to troubleshoot the issue on whatever computer is doing the rendering.

Now we can configure Adobe Media Encoder (AME) to Watch A Folder with Watch Folders. Haha?


_Literally just File, Add Watch Folder in AME _

Make a folder on your shared drive called something like WatchFolder or _AMEWatchFolder (I like to use names that sort it to the top or bottom of the list so as the drive gets a lot of stuff, it’s always in the same place). Set that folder to the watch folder. DO NOT set the entire shared drive to the watch folder accidentally!

AME will add an “Output” folder under your watch folder automatically.


the watch folder

Next, you’ll want to configure settings for render.


Project Settings are honored, but what about output details like codec and upload helpers?

So AME can directly upload to youtube, or FTP, or any number of other options. You can configure that here. Any Adobe Premiere project saved to the Watched Folder will be picked up by AME and rendered to the output folder.

That means if computer 2 is running AME, and computer 1 saves a project to the watch folder, computer 2 will attempt to start rendering the project.

Only one computer can render at a time – but this enables dual editing+rendering workflows.


Watch folder with saved project in it for automatic processing


media encoder doing its job for a change

If you check the output folder, you will find the rendered project. The Watch Folders tab of AME will have additional info if something went wrong.

80%20media%20encoder%20is%20working

This approach scales pretty well too. If you have a couple of editors, they can each save projects to the watch folder and the render PC will render the projects in sequence, one at a time.

It’s also possible to make multiple watch folders with multiple instances of AME. That’s a bit trickier but AME seemed to scale just fine to about 2-3 simultaneous renders on Threadripper 2990WX. That might be a separate video later, though. You could also have multiple render PCs watching multiple render folders as well – just be aware that network bottlenecks (even at 10 gigabit) may be problematic for more than two render PCs.

And there you have it! Network Rendering with Adobe Premiere is just that easy. There is a lot of opportunity here for increased complexity and better workflows – this is just to get you started.

11 Likes

Huh, this is similar to the Twitch “Dual System” approach, but you’re rendering directly to a network map. I remember This Week in Tech (TWiT) using a SAN based approach, where files are recorded directly to the SAN, and editors edited off of the SAN and rendered to the SAN. They were one of the first to adopt this approach. LTT followed with this approach.

Edit: Here’s rare video of the TWiT SAN while they were at the TWiT Cottage, from a video that no longer exists:

1 Like

This here is the reason i joined the forum today, I’ve been looking for a solution for years now, my Macbook pro handles video editing much better then my PC, but I rather use windows for all my work.

Is HBCC enabled under macOS for Vega?

Does the same process work on just one computer? If the only connection between the two processes is the file system and not even a network socket, that should be fastest on just one machine. And if the windows scheduler struggles, what about using 2 Windows VMs instead if individual PCs? Then the Linux or VMware Scheduler can take over.

Another bottleneck seems to be the file system. I wonder if a mapped ZFS storage with large ARC can eliminate or reduce that

Windows doesn’t do great balancing GPU load on one machine. Ironically if you run two AME and it’s a mixed GPU/CPU worload you can render 2x movies with AME on one system with virtually no loss of performance but rendering one movie on AME doesn’t speed up.

It can also help if you have separate well-organized block devices (media cache, render, proxies, destination) but that’s a bit more advanced.

How will that effect running 2 virtual machines on one pc?

the VMs can’t share a graphics card, so probably a worse experience than just two instances of AME both with access to the h/w

What file system are they using because it’s not easy to share San storage without a cluster file system.

You’ll need to ask Alex Gumpel. He’s the engineer for TWiT. He’s Anelf3 on Twitter.

https://twitter.com/Anelf3

can you… i dont do the twitter

You can email them. You could try alex [at] twit [dot] tv.

1 Like

What if you used 2 GPUs, each being passed through to a Windows guest from a Linux KVM host? (Like say you put both GPUs from the video into the Threadripper machine and then gave each guest half of the cores and RAM from the Threadripper)

1 Like

It must be in UMA mode to ensure interrupts don’t “interrupt” the other VM if an editor is working on it. It’s SUPER important each VM on a die gets local access to the RAM connected to the die rather than access all 4 channels at once. The NUMA video Wendell did explains this very well.

A virtual share will still be bottlenecked by how fast the QEMU virtual network can do I/O. An external 10G share makes more sense, since the adapter is directly passed through to the VM using PCI-E Passthrough rather than QEMU NIC passthrough.

This is similar to what LMG did right ?

I remember once the AME was running they had to change the media format editors used and the camera / footage ingestions had to be imported and converted to this format.

Once you get all your ducks in a row so to speak. Adobe can work better.

TWiT did it before LMG. WAY before.

Im sure they did. I just indestest what I find. Even the last Wan show Linus eluded to buying a mac mini because the raw footage could not be ingested well by pc’s and a mac mini can come spec’d with a 10G lan port…

This is some fucked up software compensation needed to deal with Adobe that no PC can beat a mac mini. In this task.

Im onto Twit now and I like security now and this week in tech… Regardless Steves old old man love for Intel :slight_smile: He makes up for it still coding in ASM :slight_smile:

I mean I watch Phoronix a new codec AV1 from intel is going into browsers and etc etc…Read the comments and people are asking is it multithreaded yet… Reply’s no version 1.0 is not multithreaded.

How about running 2 windows VMs from a linux host with 2 GPUs pass through ?

I literally answered that related to Threadripper in this post:

UMA mode on multiple dies is mandatory, so monolithic die systems might run into issues regarding this setup. I’ve had issues with a monolithic die setup where resources in the VM being hogged severely affected audio latency on the host.

This is off topic for sure but…

How did adobe become the default when it is so bad even with the likes of proxies for speed that suggesting using two PCs is a thing?