Putting your TX1 videos on a slim fast diet
Monstrous! That's the only way to describe the file sizes produced by the TX1 when it comes to shooting video. Every second of high quality 720p video is a whopping 4.5 megabytes. Shoot for about 13 minutes and your 4GB flash card will be begging for mercy. But why?
The TX1 employs the Motion-JPEG codec to capture video. Some argue that this is a very inefficient way of storing video (because of the large file sizes), whereas others say that the method of capture results in better overall picture quality (than other codecs like MPEG4) because each individual frame of video is captured as if it were a still image.
Much time and many words could be expended debating the why's and wherefores of Canon's choice of codec. Personally I'm not too fazed by the large files sizes - and this is for a couple of reasons. Firstly, flash memory is coming down in price all the time. Before we know it, 32GB SDHC cards will be as cheap as chips, and suddenly 13 minutes per card mushrooms to over 100. The other reason is that these days there are so many different mediums to distribute and play your content - like YouTube, DVD, iPod, AppleTV - that you're inevitably going to transcode it to something else. And that's where this post kicks in.
I have taken one of the original example videos and transcoded it into a raft of other formats, from Apple TV and PSP to Windows Media, DivX and MPEG4 - with the intention of giving you an insight into the different formats and levels of quality available. The results vary from ropey through to impressive, and the reduction in file sizes is staggering.
All the transcoding was done using VisualHub software on a dual core MacBook Pro 2.16GHz and the results are in a table below. Compression times are noted and bit rates shown. Low quality is in 11Khz mono AAC, and standard and above is 44Khz stereo AAC for the most part. The difference between the quality settings is related to the data rate - i.e. - the number of Kilobits per second (Kbps). The higher the rate, the better quality video in theory.
The first file in the list is the original from the camera which can be used for comparison. Also for comparison are individual screen grabs of (almost) the same frame in each video. From those you can get an idea of the level of compression being applied to the videos. Just because a single frame looks rubbish doesn't mean the video will necessarily, as most compressed videos look much better playing than paused. Still it's an interesting insight into what's being compromised as the video is being compressed.
| Format | Dimensions | File size (% of original) | Encoding quality/time | Single frame example | Watch video |
| Motion JPEG (from camera) | 1280x720 (16:9) | 119MB (100%) | Original (29s in length), 36.67mbps | View | Save |
| Apple TV (H.264) | 960x540 | 1.7MB (1.4%) | Low, 518kbps (1m:40s) | View | Watch |
| Apple TV (H.264) | 960x540 | 8.7MB (7.3%) | Standard, 2672kbps (1m:52s) | View | Watch |
| Apple TV (H.264) | 960x540 | 15.3MB (13%) | High, 4705kbps (1m:49s) | View | Watch |
| Apple TV (H.264) | 1280x720 | 15.3MB (13%) | High, 4700kbps (2m:41s) | View | Watch |
| Apple TV (H.264) | 1280x720 | 21.9MB (18%) | Very High, 6730kbps (2m:51s) | View | Watch |
| Playstation Portable (AVC) | 368x208 | 1.8MB (1.5%) | Standard, 534kbps (41s) | View | Watch |
| Playstation Portable (AVC) | 368x208 | 2.8MB (2.3%) | High, 840kbps (44s) | View | Watch |
| DivX (Home Theatre) | 1280x720 | 12.9MB (11%) | High, 3960kbps (1m:38s) | View | Watch |
| DivX (Home Theatre) | 1280x720 | 21.8MB (19%) | Very High, 6694kbps (1m:39s) | View | Watch |
| Windows Media (WMV8) | 1280x720 | 15.2MB (13%) | Standard, 5247kbps (1m:10s) | View | Watch |
| Windows Media (WMV9) | 1280x720 | 24.8MB (21%) | Very High, 7764kbps (?) | Watch |
For mine, the very high quality 720p Apple TV conversion looks the best as compared to the original. Weighing in at 18% the size of the original, that's not bad at all. The low quality Apple TV and PSP settings look the worst, but considering they are around 1.5% the size of the original, that's not too surprising. I don't have a PSP to try that file out on, but I'd hasten to say it wouldn't look too bad on the smaller screen. Offline I also did a conversion to DVD (MPEG-2) and it looked very good. UPDATE: The WMV9 file is stunningly good quality! (Thanks for the encode UP).
These results above are just one batch of tests. By spending some more time tweaking codec settings, it's likely that better results could be obtained. If you're interested in compressing some of your own TX1 videos but don't know where to start, there are some resources below.
Resources
20 comments:
Well done! this is a very comprehensive overview of the available codecs. good idea to show single frames for each movie..
By the way, I saw a topic going on dpreview about mjpeg encoding. Someone came up with a good alternative to h.264: "WMV9 advanced profile"
http://forums.dpreview.com/forums/read.asp?forum=1010&message=22783660&q=movie+maker&qf=m
It may be worth checking out.
Keep up the good work! UP
Thanks UP, have added to the resources list. Matt
can you please add bitrate comparisons to your chart?
also did you compress audio? what settings?
Have added bit rates. For audio it depended on the setting. Low had 11Khz mono, Standard and above had 44Khz Stereo, all using AAC.
Is the 1280x720 Apple TV version at 24fps? I was playing around with some of your samples because this is the method I want to deliver video to my HDTV. I found the Apple TV would not accept 1280x720 at 30fps which was expected since the specs say it only supports 24fps.
Personally, I thought the 960x540 30fps looked better but I wanted to verify that you couldn't get 30fps working somehow.
Thanks for all the work.
BTW, I have not purchased the TX1 yet and a little concerned about the indoor video. I have read some about it being really bad. Your thoughts?
By the way, I highly recommend using the 'advanced' portion of VisualHub when transcoding videos. You'll notice that your transcoded movies are darker... and the colors are less subtle. Open the advanced tab and click on 'force Quicktime Decoding'.
You videos will come out looking a LOT closer to the originals.
Just want to say thanks for all the work you are putting into your blog. Seb
I convert my files to HDV 720p30 with Apple's Compressor 2. The files are half the size and the quality is very close to the original. Plus, it's a native Final Cut Pro 5 format that can easily be edited with real-time effects.
Check out the original Motion-JPEG file here and the same file converted to HDV 720p30 using Apple Compressor 2 here to see for yourself. The original is 82MB and the HDV 720p30 is 44MB.
I keep the HDV 720p30 versions on external hard drives for quick access and editing and burn the originals to multiple DVD-R disks.
If you don't have don't have Apple's Compressor 2 you might want to check out MPEG Streamclip
Word of warning to anyone converting to h264 and trashing their originals--DON'T DO IT!! H264 files don't work natively in most popular video editing programs. H264 is good for final output for web, HD-DVD, Blu-ray, Apple TV, etc.
Technology will improve through the years and new super-efficient codecs will be developed and you'll wish you still had your originals to work with. Case in point, Apple's Final Cut Studio 2's ProRes 422, Apple’s new post-production format offering uncompressed HD quality at SD file sizes.
For decoding mjpeg on win platforms I would highly recommend virtualdub. Can convert to a number of free mpeg4 formats such as xvid.
http://www.virtualdub.org/
hey matt,
I converted the original movie file with the WMV9 advanced profile. you can download it here:
http://rapidshare.com/files/30026750/mwv9advanced.wmv
unfortunately, my computer was too slow to play it well so I cannot really comment on the quality..
islisis said:
> For decoding mjpeg on win platforms I would highly recommend virtualdub.
I like this program very mauch, cause it can connect MJPEG-AVI clips without decompressing and re-compressing and therefore WITHOUT ANY LOSS OF VIDEO QUALITY!!! (audio track(s) can be changed)
Does anyone know, if there are other (more comfortable) programs, which also have this capability?
Would be appreciated!
It might be worth it to try include results from encoding with x.264 too. x.264 is the open source h.264 codec. It's probably not as easy to use as Apple or Microsoft's offerings, but it'll probably not be as restrictive either.
Here is a good WMV9 advanced profile sample that I made from the source above with Windows Media Encoder. It is reduced down to 2800 kilobits per second(about 7.5% of the original size). Honestly, I think if you are using any higher bit rate with this clip then you are just wasting bits. Check it out.
8.850 megs total
http://download.yousendit.com/668CF7C12189EBD5
Also, using virtualdub with ffdshow and lameenc installed is a good H.264 video and MP3 audio conversion route
Some people wanted near lossless quality with decent compression. You shouldn’t see any flaws in this one!
http://www.yousendit.com/download/UW15TG05UnE1aVkwTVE9PQ
Matt, fantastic site. Im in the States and have just purchased the TX1. Also purchased the Kingston 8GB SDHC card so many recommend. I am giving the TX1 a workout because I will be going to Thailand in the fall. I wish I was in Schweiz with you right now! Have a great time. I also use a Mac.
Hi everybody,
I'd recoment the snow video codec and vorbis audio codec for the long term. The only problem is the missing specification for the snow codec.
As an advantage it has a lossless compression mode.
Have a look at ffmpeg. It can be used on Windows, Mac OS X and Linux. And it is open source and seems to be patent free. This are the best premises for archiving our digital impressions I think.
Please support it. Ask for a final version 1.0 of snow on the mailing list.
For a little reading: forum thread
Highly recommend SUPER as an easy front end to ffmpeg. Been experimenting with your original file and trying a few variations on an xvid conversion using SUPER.
I play most of my files on a plasma with xbmc and I'm still amazed at the picture quality you get convertng your original 121MB m-jpeg file to an xvid avi with a size of 624 x 352 and a bitrate of 4145 kbits per second giving a total file size of 14.3MB - ie 11% of your original file size. XBMC then upscales this back to 720p and the result is beautiful on a HD plasma
Using SUPER, which are the best settings you have seen for minimum loss of HD quality (for storage of TX1 movies)?
Doesn't the xvid avi with a size of 624 x 352 and subsequent XBMC upscaling mean a loss of quality?
Can SUPER do WMV9 advanced profile?
Post a Comment