Advice desired for "correct"/optimal compression of After Effects motion graphics projects
I'm new here but will try to behave. :)
I seek the knowledge of the oracles for a project I am doing - a long presentation that includes two motion graphic sequences. One is a little over 7 minutes long, the other will be approximately 6 minutes.
Computer: This will be played back on an HP Elitebook 8570w running...
Operating system including exact version number: Windows 8 Pro
Software used including version number: Adobe After Effects CC (Creative Cloud member)
Source codec (file you put in): No video files - just picture files (jpg/png) and other motion graphics.
Destination codec (file you want out): I guess this is what I would like advice on.
Type of destination use: To be played as part of a Powerpoint presentation.
Now, I believe that the PC itself will be more than powerful enough to handle the playback, but I still want to give this the best shot possible at succeeding.
One other factor that might be important here: The display for the presentation will be a Sony VPL-CX70. The projector has a "native" resolution of 1024x768 (yes, 4:3), and can do a max of 1400x1050, but I'm thinking that native will perhaps give a better result...? Please correct me if I am wrong, I have not yet seen the output from this projector. I also see in the specs that it has an h-sync range of 19.0 - 92.0kHz, and a v-sync range of 48 - 92Hz.
As you understand, I want to set up my two After Effects CC projects so that they will look as smooth as possible. I believe I will use the Adobe Media Encoder (or whatever it is called, I didn't sit down to look at it yet) to compress the After Effects project into its' final form. During playback, the Powerpoint 2013 file (I believe Powerpoint will embed the video files as a part of its' own file) will live on an SSD disk.
There will be audio included as well, but I'm not too worried about that - the laptop Audio will be sent to an external amplifier/sound system.
So, what would you recommend me to do to get the smoothest, most fluid video possible?
Unless someone convinces me otherwise, I will go with 1024x768, so I am left with the following big questions:
1. Frame rate. Given the projector, should I go with 25fps, 30fps, 60fps, or hey, does the 92Hz refresh rate of the projector mean it's a good idea to go with 92 fps? :) I don't think so, but would love to hear some opinions of people more experienced that me (that's all of you!)
2. Compression settings. What file format, codec, bit rate, etc? Keep in mind the projector this will be displayed on, and the fact that Powerpoint 2013 will be used for playback.
At the point of the presentation the PC will pretty much be dedicated to running the presentation (which will be huge apart from the videos as well, ~700 slides, many of them pictures, with an expected running time of around half an hour), so any non-essential software will be disabled, the SSD will be cleaned up as much as possible, and there will be a sickening amount of RAM in there (probably 24GB), so hopefully playback should be simple. However, I want to give myself the best possible chances of a supersmooth playback experience.
Sorry for the long rant, and thanks in advance for any help with this!
Three things: test, test, test. Do you have access to the hardware prior to the presentation?
Here are my thoughts regarding your questions, but YMMV:
1) If refresh rate can be manually adjusted on the projector, set it to match the local input power frequency: 60Hz in US and Canada, or 50Hz in Europe. Use a frame rate that is a fraction of the refresh rate (i.e. 30fps or 25fps).
2) For clarification, it sounds like the video will be embedded in PowerPoint and then the presentation will be played with PowerPoint Viewer. Correct? H.264/MP4 or VC-1/WMV should meet your needs.
The projector's native resolution should work best.
Encoder settings will largely depend on your constraints for file size and picture quality. If you have a maximum file size requirement, calculate bitrate using the following formula:
Bitrate (Mbps) = File Size (MB) * 8 (bits/Byte) / Runtime (seconds)
For example, a 100MB file playing for 6 minutes has an average bitrate of 2.22Mbps.
Picture quality will probably be constrained by the projector, so try a few different bitrates to find the hardware limits. Here are some general guidelines for viewing 1024x768 H.264 on a monitor:
1.5 Mbps is OK
2-3 Mbps is good
5-8 Mbps is very good
~15 Mbps is excellent
For best H.264 quality I recommend High Profile @ Level 3.2 or 4.1. Use Baseline Profile @ Level 4.1 and a high bitrate for nearly the same quality and smoother playback.
Set Maximum Bitrate to the max setting for playback from a computer disk. When streaming online set Maximum Bitrate to 1.5x average bitrate.
Keyframe distance equal to frame rate will yield good results. Increase the distance for static slides that don't change very often. Decrease the distance if there is a lot of motion.
If this is a one-time event (as opposed to an ongoing display) it would be in your best interest to have two or three versions of the videos available in case there are playback problems. For example: High Profile H.264, Baseline Profile H.264, and maybe a WMV version, too.
Thank you very much for you thorough reply!
I will have access to the laptop next week and until the time of the presentation. I will not have access to the actual projector until then (except perhaps briefly, in which case I will prepare some test projects at different fps etc. to see what looks good), but I will have access to another projector in the meantime so that I can verify that the playback performance of the machine as such is good enough.
I'm in Europe, so I guess 25fps for me then. The only thing I worry about is choppiness in some parts of the animation where there is quite a bit of horizontal motion - is there any reason beyond file size/bitrate why 50fps is not a good idea? I imagine I will at least create a 1024x768 50fps test file to play side by side with a 25fps one if I get a moment to test with the actual projector that will be used.
You are correct in your point 2 - so I will give these settings a go.
I am fortunate enough to only have to deal with local playback (no streaming, everything is coming from local SSD), so I have few restrictions on file size/bitrate. I will experiment, but sounds like a bitrate of around 15Mbps will give me what I need. I'll test different encodes of the high/baseline profiles you mention to see what looks best.
When you say keyframe distance - we are talking about the compression concept of keyframe, right? This has nothing to do with the keyframes I use for my animation in After Effects? Sorry for what must be a really stupid question, but I am new at this and just need to make sure.
And finally, thanks again - a LOT - for your extremely helpful answer. I will note down your tips and make sure I test this until my eyes bleed. My background is actually as a programmer, and I practice something called Test Driven Development, so having the safety net of testing is very comforting when I'm on "thin ice" like this. :)
Again - thanks!
[Rune Jacobsen] "The only thing I worry about is choppiness in some parts of the animation where there is quite a bit of horizontal motion - is there any reason beyond file size/bitrate why 50fps is not a good idea? I imagine I will at least create a 1024x768 50fps test file to play side by side with a 25fps one if I get a moment to test with the actual projector that will be used."
The media player or the projector might skip frames when playing files with high bitrates and high frame rates. You are taking the right approach by testing with both 25fps and 50fps (preferably within PowerPoint as per the presentation setup).
[Rune Jacobsen] "When you say keyframe distance - we are talking about the compression concept of keyframe, right? This has nothing to do with the keyframes I use for my animation in After Effects?"
Yes, I am referring to the distance between consecutive I-frames. The parameter called Key Frame Distance appears under the Advanced section of the Video settings tab in the Adobe Media Encoder export panel. You might need to scroll down to see it. The units are frames. I tend to use ~10 for recorded video. Animations and screen captures can be much greater (50-75+) if there isn't much change from frame to frame.
Side note: If you are rendering an After Effects composition, use Adobe Media Encoder instead of the AE render queue. Open AME, insert the AE composition into the queue, and click on the orange text under Format to open the export panel. This is the same panel used by Premiere Pro.
[Rune Jacobsen] "I am fortunate enough to only have to deal with local playback (no streaming, everything is coming from local SSD), so I have few restrictions on file size/bitrate. I will experiment, but sounds like a bitrate of around 15Mbps will give me what I need. I'll test different encodes of the high/baseline profiles you mention to see what looks best."
You should be fine at 8-10 Mbps for the 25fps file, especially when displaying through an overhead projector. If desired, here are some higher quality settings to try, but they will likely be overkill. In each case start with the Level setting.
L4.1, High Profile, 25fps, 1024x768, PAL, 2-Pass VBR, ABR=62.5, MaxBR=62.5, KFD=10
L4.1, Baseline, 25fps, 1024x768, PAL, 2-Pass VBR, ABR=50, MaxBR=50, KFD=10
L5.0, HiP, 50fps, 1024x768, PAL, 2-Pass VBR, ABR=168.75, MaxBR=168.75, KFD=10
L5.0, Base, 50fps, 1024x768, PAL, 2-Pass VBR, ABR=135, MaxBR-135, KFD=10
Also, under the Multiplexer tab set Stream Compatibility to Standard. It defaults to iPod.
These settings should produce excellent quality video with the 25fps and 50fps bitrates around 17Mbps and 35Mbps, respectively. Perform the encoding, calculate the actual average bitrates for your exported files, divide by two, use this as a new average bitrate target, and re-encode. Increase the keyframe distance, too, if desired. The files at 1/2 bitrate target should look very good. When compared at high magnification you will see some loss of detail, but when viewed at 100% the files will look practically the same. I use the "excellent" bitrates when upscaling during playback -- like playing SD material on HD monitors, for example.
Thank you very much once more for the excellent advice! Both the quantity and quality of your suggestions and help are way beyond what I had hoped for. You, sir, are a gentleman and a scholar! :)
You are welcome. Good luck with the presentation.