We’ve had a lot of questions about our new Mp4 web export format in ScreenFlow 4, so I thought I’d take a little space here to explain in depth what changed, why, and what some of the settings mean.
As a quick overview: the ScreenFlow 4 Web-High and Web-Low encoding presets now use the x264 codec to encode to H.264 video format, wrapped in an MP4 container. (As a comparison, ScreenFlow 3 presets used the Apple H.264 codec to encode H.264 format, and wrapped it in a .MOV container).
What are Codecs?
Codecs are like translators; they tell the program and hardware how to encode and decode a file for optimal viewing. (The word ‘codec’ literally comes from a contraction of COmpressor-DECompressor (or COder-DECoder). ) The goal of most lossy video codecs is to compress the data enough to keep file sizes low, while not sacrificing too much image quality.
Apple H.264 and x264 are just two of the available codec implementations that encode to the H.264 compression standard. X264 is considered by many (including us!) to be the best choice in terms of quality and file size for the H.264 file it renders. Moscow State University, Graphics & Media Lab Video Group, an authority on compression, tested and verified that x264 is the best choice in terms of quality and file size for the H.264 file it renders. Here’s a report of their most recent comparison of various H.264 codecs. (If you really want to geek out, here’s MSU’s full report. They do this test every year.)
What is a container?
A container is, essentially, a bundle of files. Usually a container consists of a video codec and an audio codec, though it can also contain things like subtitles. The main difference between different containers is not only the codecs they support but what other features they support—like subtitles, chapters, and metadata.
MOV was originally developed by Apple as a file format for its QuickTime movie player. The International Organization for Standardization (IOS) approved the QuickTime file format as the basis for the MPEG-4 file format specification. By 2000, the MPEG-4 formats became the industry standard. (http://en.wikipedia.org/wiki/QuickTime#QuickTime_and_MPEG-4)
Both containers MOV and MP4 support H.264-encoded video files, and they are almost interchangeable in a pure QuickTime environment, but MP4 has wider support outside of the QuickTime environment. Most, if not all media players, support the Mp4 file format. Even in handheld devices like video players and gaming devices, you are more likely to find .MP4 compatibility than .Mov. In fact, even Apple is moving away from QuickTime framework to AVFoundation. (QuickTime X and Final Cut Pro X are examples.)
So in sum:
- MSU tested and they determined that x264 is the best implementation of H.264 (Quality relative to file size)
- QuickTime MOV was the basis for MP4. MP4 was made the International standard by IOS
- While MOV and MP4 are nearly interchangeable in QuickTime-based programs, MP4 is the broader standard.
By changing our web presets to x264 codec in an Mp4 container, we believe we have improved the compression quality (higher quality at lower file sizes), as well as the usage options for Web exports.
(All that being said, it’s still possible to export to Apple H.264 in a .Mov container by using our Lossless preset.)
What do all the customizable settings mean?
So now that we’ve explained the reason behind the change in our Web export presets, what do all the new customizable settings mean? Here is a brief explanation of each setting:
H.264 Video: Uncheck this when you do not want your exported file to contain video tracks.
Video is essentially a series of separate still images displayed quickly enough to fool our brain into thinking it’s seeing a moving object. “Frame rate” is the term used to specify how quickly these individual images are displayed per second (i.e. frames per second (fps)). So if you export at 20fps, that means your eyes are processing one still frame every 1/20th of a second. The higher the frame rate, the more data there is in the outputted file, the higher the file size will be.
There a lot of factors to consider when choosing the optimal frame rate, including your source video(s) and the content of your video. But the goal is to create a smooth, high quality-looking video output.
If your frame rate is too low, the video will seem to stutter or jerk – because your eye is perceiving the frames individually, rather than seeing them as continuous. But as you raise your fps, there’s a point at which your eye will not perceive any visible difference. Also, it is possible that if the frame rate is too high it could blur the details of the animation and take so much computer processing power to view that it results in the overall deterioration of your video. In this case the effect would be similar to having a frame rate that is too slow – it would appear to stop and start.
Digital video generally uses 30 fps, motion pictures (cinema) uses 24 fps, and NTSC TV is around 30 fps. Generally, 12-15 fps can produce pretty good results for the web, (again, depending on your source content), and at this rate, your file sizes will be lower than at 30 fps. But you’ll want to try some tests with your own content.
Data rate (also known as bitrate) is the amount of data that is used for each second of video. In the video world, this is often measured in kilobits per second (kbps).
Like frame rate, you’ll want to find a good compromise between a high and low data rate.
Too low and you’ll lose detail and start to see chunked areas in your video. Too high, you’ll have a larger file without a significant increase in quality. If you’ve ever watched an online video that stopped and started repeatedly, it probably had a high data rate.
I recommend starting with a data rate of around 1000 kbps for a video that does not have a lot of action and motion in it. If the quality of the exported file seems poor, then try again at a higher rate, noticing the quality/size changes to see what you’re comfortable with. In ScreenFlow 3 web exports, the data rate defaulted to “Automatic”. This tended to create a larger file – though the image quality was also very high, sometimes unnecessarily high. Your best bet is to do some experimentation on your own files and see where you feel most comfortable in that quality/size tradeoff.
There are various encoding techniques and algorithm options (profiles) that can be used by the codec to compress your file. The Profile controls the degree of sophistication in encoding and decoding. The basic tradeoff is enhanced quality and a more complex file that’s harder for the viewing device to decode vs lower quality but easier decoding.
Baseline profile: This is the simplest profile; quality is good, but not as high as videos produced using the Main Profile. But because it uses simpler encoding techniques, the decoding requirements of a Baseline-encoded video are also less. Additionally, older iOS devices, and many Android devices only support playback of H.264 media using the Baseline profile. Use this profile for faster, simpler encoding for media with limited scene changes; and for improved compatibility for playback on mobile devices.
Main profile: This profile is compatible with most devices and offers better compression than the Baseline profile. This profile results in longer encoding; it was designed primarily for SD digital TV broadcasts. It is well-suited for playback on desktop computers.
Automatic profile: This option allows the codec to determine which profile to use, based on the size of the input video.
AAC Audio: Uncheck this option when you do not want your exported file to contain audio tracks.
Advanced Audio Coding (AAC) is a lossy audio format for digital audio that typically produces better sound quality than MP3 at similar bit rates. Both of the options below, like the frame rate and bit rate for video, allow you to balance the quality of your audio vs. compression and file size.
If you choose 48 kHz, it means you’re sampling your source sound wave 48,000 times per second. Choosing 44.1kHz samples at 44,100 times per second. So as you might expect, the 48k file will be slightly larger. Depending on your content you may or may not be able to hear a difference between the two options. Standard CDs are sampled at 44.1kHz. 48k sampling is used by some high-end recorders, but is rarely used for casual music files.
Data rate for audio is just like the data rate for video – it determines how much data is used for each second of audio. Generally, 128 kbps sounds pretty good for casual listening, but if you have lots disk space and your listeners will be using high quality equipment, you might be better going with 192 kbits or higher.
But really you should let your own ears decide. Pick 4 or 5 of your typical videos, encode them at different rates and perform your own blind listening tests on your own sound gear. Then you’ll know what works best for you.
In general, keep in mind that we developed our presets to be an easy, quick way for you to export your video for various purposes, WITHOUT needing to have in-depth knowledge of codecs, containers and compression! So our Web-High and Web-Low presets will work for most people exporting video for the web. But I hope this more in-depth information helps explain some of your options so you can make more informed encoding decisions.
Your best bet is to try some of the different options with YOUR content and see what works best for you in terms of file size and playback quality.