Menu
Active11 months ago
![Adobe Media Encoder Streaming Settings Vidblaster Adobe Media Encoder Streaming Settings Vidblaster](/uploads/1/2/6/3/126332034/712700656.png)
Learn about effects, video, audio, and publish settings available in the Export Settings dialog for Adobe Media Encoder. Export Settings dialog box overview To open the Export Settings dialog, select Export Settings from the context menu of the asset, or select Edit > Export Settings. This article is the sixth in a loose series of beginner's tutorials. This particular tutorial shows you how Adobe Flash CS4 Professional, Adobe Flash Media Live Encoder 3, and Adobe Flash Media Server 3.5 team up so you can create live video streams from your own webcam or other sources.
On my machine, Adobe Media Encoder is very slow. It takes 12 hours to render 4 minutes of 1080p video for YouTube (the video is based on Adobe After Effects project with an original MOV file and four effects: curves, remove grain, unsharp mask and hue/saturation.
I noticed that it doesn't use all the memory available, nor does it try to use as much CPU as possible. Here's the actual usage during the encoding process:
Is there a way to speed up the encoding process by convincing the application to use all CPU and all memory available?
Arseni Mourzenko
Arseni MourzenkoArseni Mourzenko46322 gold badges66 silver badges1919 bronze badges
5 Answers
There might not be a way. Based on your description of the problem, it sounds like the processing is the slow part. While the video encoder itself is able to do multi-threaded processing, the image processing you are doing may not be able to. By default, Premiere has always done as much parallel processing as possible for me and I frequently see it hit 99% CPU usage on my hyper-threaded quad core desktop.
The problem is most likely that some of your effects require the result of the previous frame to begin processing on the next frame. If this is the case, there isn't an easy way to break it down across multiple threads and that would make it impossible to hit 100% CPU usage on a multi-core computer.
Similarly, RAM wouldn't be expected to cap on encoding as it is a stream operation. There are some things that may need to be tracked over time, but for the most part, it is a stream operation with data going out as fast as it comes in, so there isn't much accumulation of data.
There are two main things that can improve the performance. The first is GPU processing. General purpose CPUs aren't really ideal for many audio/video processing tasks. They are designed for doing a wide variety of general purpose operations, but aren't super efficient at basic operations. GPUs, on the other hand, are designed for doing simple operations very quickly. They can often reduce video processing tasks quite a bit.
A further improvement can be found in purpose built hardware. There are professional cards designed specifically for processing video and provide real time processing and encoding of video. These are often included in high end professional video editing workstations, but the price can be quite high. It isn't unheard of for a professional video editing workstation to be able to get up in the $15,000 to $20,000 range or even higher, just for hardware. They can go for a lot less if you don't mind waiting for renders (I work on a $2,350 system for my video work) but they can also get very high.
AJ Henderson♦AJ Henderson18.4k33 gold badges1919 silver badges4343 bronze badges
I'm not happy when I'm rendering unless I can actually smell burning plastic, nothing is more frustrating than AE telling you that your render won't complete until the heat death of the universe, while at the same time your CPU is barely raising a sweat. However there is something you can do about it.
After effects comes with a command line renderer called aerender.exe plain ol' aerender on mac). It's in the AE program folder. Using it is a bit challenging for people unused to the -=awesome -=power of the command line, but it is definitely worth doing if you're doing some heavy lifting in After Effects, and you want to be able to harness all the power of your machine.
The beauty of it is that you can run as many instances as you like. What I normally do is keep adding instances until I start running low on memory. I have a 40 physical core machine and it takes a lot to max out the CPU but here's a screenshot where I finally managed it. Each one of those windows is a new instance of the AE render engine:
In that example the per-frame speed of each renderer barely decreased compared to a single instance, so I achieved a speed increase of roughly 4000%. YMMV, depending on how many cores and how much ram your machine has. I went to the effort because I had a project involving very long and and reasonably complex comps. The project would simply not have got done without this technique, or I would have had to farm it out to a commercial render farm.
Of course the speed-up comes at a price, which is a slight increase in complexity of your workflow. You need to set your comps to render as image sequences, and use the multi-machine settings so that each renderer will look for the next unrendered frame. At the end if you need a movie file you'll have to do a compression pass, but in my case I usually master to a png or tiff sequence, and then run off h.264 encoded copies for clients from the master.
And you need to know a little bit about the command line. Stop looking so glum—that's a GOOD thing, that's a GOOD thing. https://generousvideo611.weebly.com/political-theory-by-rajeev-bhargava-pdf-merge.html.
Windows
The powershell command line I used in that scenario was:
This is executed in a powershell window (type in WindowsR and then type powershell.exe). This is a shell scripting language integrated into modern versions of Windows that can be used for all kinds of stuff.
MacUsing Bash version > 3 (default shell in current versions of OSX), or indeed with cooler shells like zsh, you can use this script:
The script works thus:
- starts a loop which goes for 40 repeats, you can change the 40 to whatever you think is a sane amount.
- Then it starts aerender as a new process either with the
start-process
command in PS or with the&
in bash, Obviously change the path to aerender.exe / aerender and your project to whatever it is on your machine. A quick and accurate way of filling in paths with the command line is to drag files and folders into it. Also using the tab to auto-fill paths saves a lot of typing and typos. - Finally it sleeps for 5 seconds—I found that opening too many instances of aerender too quickly was a reliable way to bluescreen / kernel panic my computer.
it will render the third comp on the render queue. Putting it into a script you can do:
Windows
Mac
That will start a new aerender instance for each comp–once again, change the 12 to however many comps there are in the queue. Note that this technique can run into problems if you have lots of comps in your queue–if you use all your physical memory things will come to a shuddering halt pretty quick. To keep the number of instances down you have to check how many aerender processes are running and only start a new one when a running one finishes. Enterprise management suite software. A simpler workaround is to make as many copies of your project as you want there to be instances, with the render queue divided up between them, and then render them all concurrently. So render thread one would be rendering comps 1,2,3, render thread two would be doing 3,4,5, and so on.
More details here (my blog).
stibstib9,97811 gold badge1919 silver badges4444 bronze badges
While this question has already been answered; my recommendation:
Use AfterEffects for your rendering if you have a system with a high number of cores and a lot of RAM.
My main workstation is a Dual E5-2697 v2 (24 Logical / 48 Hyper Threaded Cores); with 128 GB of RAM.
If you have to do simply a transcode of a file; or can use Bridge to import your PPro Project into AE (barring your edits will remain intact); the feature under Memory (Edit -> Preferences) allow for you to use Multi-threading.
That being said:
If I am doing just a straight render; or something simple; I can use AE to allocate 32 of my 48 HT cores; additionally; I can allocate 3 GB of ram to each Thread; which is depending on what type of encode I'm doing, anywhere between 2-100x faster in terms of rendering even with my Dual Titan Black GPUs.
This of course; only applies if you have a LOT of cores; and a LOT of ram..
Premiere; rendering through AME; will be limited to using only 1 Thread unfortunately; and will rely on your GPU unless you have that disabled to use software rendering under Project Settings.
Hope this helps!
McFlySoHighMcFlySoHigh
How to speed up Media Encoder to use 100% of your cpu? Here is an example:Create a file: settings.iniplace inside of it
[Settings]mode=developermthread=enabledmthreadcount=3 (for a 4 core 8 threaded machine say, 7)sli=falseslimode=allpriority=highscaling=lowcloud=falseloadwhenneeded=truespeakers=2
Place in Adobe Premiere, After Effects, and Media Encoders executable folders.
For a quad core / 4 threadded machine like mine, this made Media Encoder jump from 1 core to using 96% of all four. You must watch the youtube video 'Render 300X FASTER | Premiere / After Effects / Media Encoder ' I'm successfully using this with CC 2018 products.
DugadugalovelydidDugadugalovelydid
Close After Effects while rendering with Media Encoder.By doing so my CPU usage went from 30% to 60%. I guess because Adobe isn't sparing CPU power for working simulatiously in AE.
Cost Of Adobe Media Encoder
RolandRoland