Posted on Sun 9 Mar 2008 at 12:55 AM PST. Filed under Software.
I am a bit bothered by the iPhone SDK’s terms. It is still not as open as it should be, and this says a lot about the way Apple does business. More specifically, the terms disallow:
- Background applications: say goodbye to services, VoIP or a multi-IM application running on the background. They can only run when you have them loaded full screen.
- Interpreters: Say goodbye to J2ME, Python and what not. Sun said that they want to port J2ME to the iPhone, but I wonder, did they actually read the terms of service, or are they betting on buying Steve Jobs lunch and getting away with it?
- Data sharing: While copy/paste might get handled by the system in the future, you are not allowed to include spreadsheet data on a word processor app. It feels like J2ME all over again. Yuk.
- Plugins: say goodbye to, well, all kinds of plugins and extensions. Including a port of Gnash, as our beloved Jesus Jobs doesn’t feel that Flash is appropriate for the iPhone.
- High-bandwidth applications: I wonder, will they limit their iTunes app too? What if Napster builds a music store client too? Will they allow it?
- Too many of the same app: so what if the 4th Sudoku app is better than the first 3 already on the App Store? Will Apple disallow it just because there are too many of them? What about the time and money the developers put into it, who might have actually started working before the first 3 such apps, but were late because they wanted to make it a BETTER app? Bad luck? Well, it’s not bad luck for the devs only, but for the consumers too, who are stuck with 3 inferior apps.
Ok, Apple feels that needs to protect users. But instead of building an operating system that is made for this job (e.g. making sure that no app can crash another app, or steal data), they limit their own market. This is a lot like leaving the door of your house unlocked, but hiring a bouncer to keep the unwanted out.
On the other hand, from the customer’s point of view, they offer a clean solution. But it’s only as clean as iMovie is. Users that heavily do video, usually use iMovie for a while, but soon enough they hit the wall. They need more features. And they move to Final Cut Express or Pro, or After Effects. But there is no such upgrade path for the iPhone. You are stuck with an iMovie-limited software market. Hopefully, Apple will eventually see the light, or users will have to jailbreak the iPhone again and use a third party App Store.
Posted on Thu 6 Mar 2008 at 3:26 AM PST. Filed under Software.
Oh, shut up. Jobs says that Flash is too slow for the iPhone. Well, there a few problems with this statement:
1. Apple has the power to push Adobe to optimize Flash for ARM.
2. The iPhone is one of the fastest embedded devices in the market. When Nokia sells a 300 Mhz phone with full Flash support (not just Flash Lite), I don’t see why the iPhone can’t do so, especially when Youtube should be able to playback fast enough on the iPhone. Youtube is the No1 flash application that reviewers are testing when getting devices with full support, and iPhone’s CPU and accelerated drivers should be able to handle it fine.
3. This smells like a strategic problem, Apple not wanting to give in video support to Flash more than anything else.
4. …and look who’s talking. Has this guy used Quicktime on the PC? QT is extremely slow decoding on the PC. Maybe he should optimize his own shit first before taking aim at others.
Personally, I am waiting for full IM and Flash support on the iPhone. It’s the two features really missing. And I don’t take “no” for an answer.
Posted on Thu 28 Feb 2008 at 9:33 PM PST. Filed under Software.
Oh, shut up. Slashdot posted this story about Apple being “evil” because they use undocumented APIs on Safari. That’s not evil, that’s NORMAL. In the Agile software development this is important, otherwise you will be having a past generation code for your browser to ship with your next generation OS.
Be, Inc. was doing that all the time too. Many parts of the OS were built using undocumented APIs that were not too stable to become public at the time, or that were simply too low level. The Be scrollbar and the Be Terminal were such examples.
Posted on Mon 25 Feb 2008 at 7:28 PM PST. Filed under Software.
So there was this question on that video forum, right? About how to transcode an h.264/AAC MOV file into an h.264.AAC MP4 one without re-encoding so it plays back on the XboX360 and PS3 devices. Owners of such devices that use Vimeo to download videographer’s videos will probably have stumbled into the problem already.
So here are my tested solutions using popular software:
1. Quicktime Pro. Costs $20. You load the MOV file, you make sure that it’s indeed h.264/AAC using the “Show Movie Inspector” window. Then, you export, select “Movie to MPEG-4″ and then click “Options”. There, you select the MP4 option, and you select both for video and audio the “passthrough” options from the format drop-down menu. That’s it, in 30 seconds you will be having a PS3/XBoX-compliant video file without re-encoding.
2. Download AvideMux2. It’s free. First, Avidemux2 will ask you if you want to use an alternative algorithm to load this kind of file. If you say “no”, you will get a crash after a while. If you say “yes”, you will get a known audio/video sync issue. So choose your poison. Then select “copy” for both video and audio, MP4 for exporting format and then you save your .mp4 file. The created file is compatible with the PS3 (dunno about XboX360), but Quicktime itself can’t play it back. It seems that Avidemux2 has an MP4 container bug.
3. Download FFmpeg. It’s free. You run the file like this: ffmpeg -i movie.mov -f mp4 -vcodec copy -acodec copy output.mp4
It creates a compatible MP4 file but B-Frames are all fucked up and so the file stutters on playback.
4. Download Mencoder. It’s free. You run the file like this: mencoder movie.mov -oac copy -ovc copy -o output.mp4
It says that it’s broken and that it can’t copy AAC audio and that you will need to override this by using the -fafmttag 0×706D option. You add that and you get an MP4 file. Only that this file is broken and it doesn’t work.
So, commercial proprietary solution 1, open source 0. You get what you pay for, obviously. This doesn’t mean that Quicktime is perfect, I still hate its “tick” problem with h.264 MP4 videos and the fact that the MPEG-4 exporting has no de-interlacing option. So in general, you have to use a gazillion utilities that each one does one part of what you need in order to accomplish a seemingly simple task.
In all fairness, the “Transcode” OSS utility might be able to do what we need to do here, but it only runs under Linux, and this takes out 99% of the Vimeo users.
Posted on Sat 23 Feb 2008 at 2:35 AM PST. Filed under Software.
Here is how to burn your own HD video in a Blu-Ray format on normal DVD discs, completely free. This method worked with my Sony PS3, it is known to work with most Blu-Ray players but not all of them. Of course, this won’t work with plain DVD players or HD-DVD players (read here how to create HD-DVD discs on plain DVDs). The funny thing is that 80% of both these methods are identical for both HD architectures: from the moment you have completed step #7 (which takes care of the mutual mpeg2 encoding), creating a Blu-Ray and an HD-DVD disc should take 10 minutes for each from that point on, it’s that fast! Basically, this method allows you to use a common DVD burner and common DVD disks to burn HD video. But you will still need a Blu-Ray *player* to play that video back.
This method is credited to “Racer-x“, but I have modified his version in order to adapt it in terms of video editing. This version also features a custom mpeg2 bitrate option which allows you to fit more footage on a single disk. More significantly, I use all-freeware utilities, without the need to purchase Nero.
1. Install the stable 2.5.7 version of the AVISynth application. Follow the default options during installation. Once it’s installed, you can safely delete its downloaded installation file.
2. Download the plain version of Mplayer for Windows and unzip it somewhere that you can find back easily, e.g. c:\video\mplayer\
3. Download the Huffyuv lossless codec. Unzip the .zip file on your desktop, right click on the huffuyv.inf file and select “Install” (note: Vista might not give you that option, in which case manual registration of the codec’s DLL file must happen via the DOS prompt, google it). After about 15 seconds, you can delete these files from your desktop, as the Huffyuv lossless codec is now installed on your system. Open a DOS prompt and navigate to the mplayer folder (e.g. “cd c:\video\mplayer\”, without the quotes). There, run this command: vfw2menc -f huff -d huffyuv.dll -s settings.mcf and on the new dialog that pops up select: “Predict median (best)” from the first drop down menu, and “<-- Convert to YUY2" from the second drop down menu, while leaving unchecked the other options. Then click "ok" to discard the Huffyuv configuration dialog. This action only needs to be done once for your system and it helps us by forcing the Huffyuv codec to create smaller files. You can now delete the c:\video\mplayer\ folder and the Huffyuv files from your desktop.
4. Capture, set up the right Project Properties for your footage, and edit your HD or HDV footage as usual with Premiere or Vegas or other editor. Thorough exporting example under Vegas follows: To export, click "File" and "Render As". Select .avi for the "Save as type", and the "HDV 1080-60i intermediate" template (or 50i if you are on PAL). Then, hit "Custom". On the first tab select "Best" quality. On the video tab leave everything as is except the video format, select there "Huffyuv v2.1.1". Then, hit "Configure" and a new dialog pops up. There, make sure that "Predict median (best)" from the first drop down menu, and "<-- Convert to YUY2" from the second drop down menu are selected (leave unchecked the rest of the options there). Then click "ok" to take that new dialog away. On the Video tab make sure you export as progressive, with the right frame rate as the original footage and 1440x1080 and aspect ratio 1.3333 (if this was HDV footage, that is). Leave unchanged the "Audio" tab, and then hit "ok" in the "custom template" dialog. Then, you must give a name to your .avi file (e.g. "huff.avi") and hit "save" to a predefined folder (e.g. C:\video\huff.avi). The encoding procedure will start. Regarding Premiere/AE, I heard nightmare stories about not being able to export correctly in Huffyuv, so you might want to try a frameserver technique instead.
5. On Vegas, export again, but this time the audio alone: click “File” and “Render As” and from there select the “AC3″ filetype. Name the audio file “audio.ac3″ (or something like that) and export it on the C:\video\ folder again. If you can’t see an AC3 option on Vegas it’s either because you are using a pirated version of it, or because you forgot to install DVD Architect, the companion Vegas application. If you are not using Vegas, or if your video editor does not support exporting in AC3, you can use a freeware called BeLight to do the job. Try exporting the AC3 audio with a bitrate of 128 kbps, or 160 kbps and 192 kbps depending how much space you want to waste on audio versus quality.
6. Open notepad.exe or other text editor and add this line in it: DirectShowSource("C:\video\huff.avi")
Save the text file as “avisynth.avs” on the same folder: c:\video\
If you get error messages, or you are using a frameserver, use this two-line code instead: AviSource("C:\video\huff.avi", false)
ConvertToYV12()
Alternatively, you can also try this (in other words, use whatever works for you): AviSource("C:\video\huff.avi", false).ColorYUV(levels="PC->TV")
7. Download and install the HCEnc utility. Load the HCEgui.exe and make it look like this. Leave the rest of the tabs of this app as is. If you are using a 24p Huffyuv AVI file instead of PAL 25p or NTSC 30p, use an “autogop” of 12 instead of the suggested 15 and also check the “3:2 pulldown” option too. When everything looks like the above screenshots, select “encode” and wait for the encoding to complete (it will take a while). Just a note, you might want to use more bitrate for the video than the 12000/15000 kbps suggested, maybe at around 15000 kbps average, 18000 kbps maximum. Don’t use more than that though, as the video will stutter during playback. Besides, the less bitrate you use, the more HD footage you can fit on a plain single-layer DVD disc, so find a golden balance between bitrate/quality and video duration.
8. Rename the “c:\video\output1.m2v” file to “c:\video\out.mpv”. Download, install and load tsMuxer, and “start muxing” with these settings.
9. Download, install and load tsRemux, and “remuxe” with these settings.
10. Download, install and load ImgBurn 2.4.x (new version required). Select “Create image file from files/folders” and then hit the “browse for a folder” icon and give it your “C:\video\BluRay\” folder. On the “Destination” option select “c:\video\bluray.iso” as filename. Click “Options” and select “UDF” for file system & UDF Revision “2.50″, while leaving the rest unchanged. Then click the big button “Build” and wait a bit. Then from the “Mode” menu select “Write”, and in the “Source” select the “c:\video\bluray.mds” file. Then put an empty DVD-R or DVD-RW disc on your burner (warning: avoid dual-layer discs, not very compatible). When you do this, the big button will be enabled, and then you can start burning the disc! Enjoy!
If you would like to test this method but you have no HD footage of your own yet, feel free to download my favorite HD clips found on Vimeo.com (if you have a Vimeo account and you visit their respective pages, you can download the original uploaded HD video file):
Posted on Tue 19 Feb 2008 at 4:29 PM PST. Filed under Software.
Oh, the irony: now that the HD-DVD format is dead, now there IS a devised freeware way to burn your own HD video on plain DVD media discs. This method is attributed to um3k, I just put it together in a (hopefully) more comprehensive tutorial so everyone can follow the method easier, while I included a workflow that is more consistent with the way people work and edit their footage. The difficulty of carrying out the tutorial is “intermediate”, but after you are successful once, it should be a piece of cake from that point on. Basically, this method allows you to use a common DVD burner and common DVD disks to burn HD video. But you will still need an HD-DVD *player* to play that video back.
The interesting thing about this method is that it does not use EVO files, but plain VOB files that happen to be HD. This means that you can mix 480p and 720p and 1080p VOB files in it, and thus making it compatible with every DVD player out there (plain DVD and Blu-Ray players will be able to recognize the 480p VOB files and play them back, while HD-DVDs will play back their HD versions of the clips on the same disc).
You don’t need to use this method if you own the latest Pinnacle video editor, or the latest Ulead+Nero utilities as these apps can create 3xDVDs on their own. But if you use a different editor, e.g. Vegas or Premiere, and you are the unlucky owner of one of these 1.3+ million HD-DVD devices sold so far, this is the way to go. The method works with the A3 and A2 Toshiba HD-DVD devices (I tested it), and very possibly with their other HD-DVD models too (not sure about the XBoX360 though, you gotta try it yourself). The created HighDef DVDs also work with VLC and Media Player Classic on the PC. Don’t try these discs on the PS3 if you don’t also offer 480p versions of your videos on the same disc, because it will crash (I had to reboot my PS3). Other Blu-Ray players might, or might not work, let us know of your findings. Here is a similar tutorial for Blu-Ray video on plain DVD discs btw. The funny thing is that 80% of both these methods are identical for both HD architectures: from the moment you have completed step #7 (which takes care of the mutual mpeg2 encoding), creating a Blu-Ray and an HD-DVD disc should take 10 minutes for each from that point on, it’s that fast!
The following method is for Windows. For Linux, use this tutorial.
1. Install the stable 2.5.7 version of the AVISynth application. Follow the default options during installation. Once it’s installed, you can safely delete its downloaded installation file.
2. Download the plain version of Mplayer for Windows and unzip it somewhere that you can find back easily, e.g. c:\video\mplayer\
3. Download the Huffyuv lossless codec. Unzip the .zip file on your desktop, right click on the huffuyv.inf file and select “Install” (note: Vista might not give you that option, in which case manual registration of the codec’s DLL file must happen via the DOS prompt, google it). After about 15 seconds, you can delete these files from your desktop, as the Huffyuv lossless codec is now installed on your system. Open a DOS prompt and navigate to the mplayer folder (e.g. “cd c:\video\mplayer\”, without the quotes). There, run this command: vfw2menc -f huff -d huffyuv.dll -s settings.mcf and on the new dialog that pops up select: “Predict median (best)” from the first drop down menu, and “<-- Convert to YUY2" from the second drop down menu, while leaving unchecked the other options. Then click "ok" to discard the Huffyuv configuration dialog. This action only needs to be done once for your system and it helps us by forcing the Huffyuv codec to create smaller files. You can now delete the c:\video\mplayer\ folder and the Huffyuv files from your desktop.
4. Capture, set up the right Project Properties for your footage, and edit your HD or HDV footage as usual with Premiere or Vegas or other editor. Thorough exporting example under Vegas follows: To export, click "File" and "Render As". Select .avi for the "Save as type", and the "HDV 1080-60i intermediate" template (or 50i if you are on PAL). Then, hit "Custom". On the first tab select "Best" quality. On the video tab leave everything as is except the video format, select there "Huffyuv v2.1.1". Then, hit "Configure" and a new dialog pops up. There, make sure that "Predict median (best)" from the first drop down menu, and "<-- Convert to YUY2" from the second drop down menu are selected (leave unchecked the rest of the options there). Then click "ok" to take that new dialog away. On the Video tab make sure you export as progressive, with the right frame rate as the original footage and 1440x1080 and aspect ratio 1.3333 (if this was HDV footage, that is). Leave unchanged the "Audio" tab, and then hit "ok" in the "custom template" dialog. Then, you must give a name to your .avi file (e.g. "huff.avi") and hit "save" to a predefined folder (e.g. C:\video\huff.avi). The encoding procedure will start. Regarding Premiere/AE, I heard nightmare stories about not being able to export correctly in Huffyuv, so you might want to try a frameserver technique instead.
5. On Vegas, export again, but this time the audio alone: click “File” and “Render As” and from there select the “AC3″ filetype. Name the audio file “audio.ac3″ (or something like that) and export it on the C:\video\ folder again. If you can’t see an AC3 option on Vegas it’s either because you are using a pirated version of it, or because you forgot to install DVD Architect, the companion Vegas application. If you are not using Vegas, or if your video editor does not support exporting in AC3, you can use a freeware called BeLight to do the job. Try exporting the AC3 audio with a bitrate of 128 kbps, or 160 kbps and 192 kbps depending how much space you want to waste on audio versus quality.
6. Open notepad.exe or other text editor and add this line in it: DirectShowSource("C:\video\huff.avi")
Save the text file as “avisynth.avs” on the same folder: c:\video\
If you get error messages, or you are using a frameserver, use this two-line code instead: AviSource("C:\video\huff.avi", false)
ConvertToYV12()
Alternatively, you can also try this (in other words, use whatever works for you): AviSource("C:\video\huff.avi", false).ColorYUV(levels="PC->TV")
7. Download and install the HCEnc utility. Load the HCEgui.exe and make it look like this. Leave the rest of the tabs of this app as is. If you are using a 24p Huffyuv AVI file instead of PAL 25p or NTSC 30p, use an “autogop” of 12 instead of the suggested 15 and also check the “3:2 pulldown” option too. When everything looks like the above screenshots, select “encode” and wait for the encoding to complete. Just a note, you might want to use more bitrate for the video than the 12000/15000 kbps suggested, maybe at around 15000 kbps average, 18000 kbps maximum. Don’t use more than that though, as the video will stutter during playback. Besides, the less bitrate you use, the more HD footage you can fit on a plain DVD disc, so find a golden balance between bitrate and video duration.
8. Download Avidemux2 and install it somewhere. After installation, load its avidemux2_gtk.exe executable. Load in it the output1.m2v file that HCEnc created on the previous step on the C:\video\ folder. When it asks you to index it, say “yes”. From the Audio menu option on the top menu bar select “main track”. Select “audio source” to be “external ac3″, and then using the “external file” browsing option tell it to load the “audio.ac3″ file you created on step #5. Click “Ok”. On the sidebar on the left select “copy” and “copy” for both audio and video, but from the “Format” option select the “MPEG-PS (A+V)” option. Then from the main menu, select “File”, “Save”, and “Save Video”. Give it the name “output2.mpg” and export it on the C:\video\ folder again.
Note: If you want your 3xDVD to have separate videos clips instead of a single video, you must follow steps #4 to #8 for each of your clips.
9. Download and install the DVDAuthorGUI utility, and then load the application. Select NTSC or PAL from the right side of its window, depending what your footage is. Select “add title” from the toolbar and change the “files of type:” to “mpeg with NAV packets”. Then load the “output2.mpg” file you exported in the previous step. If you have exported more than one clip above, you will have to load the rest of these .mpg files the same way, one by one. Now you can continue authoring the DVD the way you want to, with menus and other beautifications, or go straight to the meat and select “Author DVD” from the toolbar. Select “folder” as the “Save as type”, navigate to c:\video\ and give it the file name “dvd”. DVDAuthorGUI will create a folder called “dvd” inside the c:\video\ folder, and inside that “dvd” folder it will create the HD DVD files and folders as required by the DVD spec.
10. Download and install ImgBurn. Go to “Build” mode, select the C:\video\dvd\ folder from the “Browse for a folder” icon on the vertical toolbar. On the “Destination” option select c:\video\hddvd.iso as filename. In the “options” tab on the right side select the ISO9660+UDF filesystem. Then click the big button that “builds” the DVD ISO file. When this is done, change to “Write” mode. From the “source” select the “browse for a file” and seleect the “hddvd.mds” file found on the c:\video\ folder. Then put an empty DVD-R or DVD-RW disc on your burner (warning: avoid dual-layer discs, not very compatible). When you do this, the big button will be enabled, and then you can start burning the disc! Enjoy!
If you would like to test this method but you have no HD footage of your own yet, feel free to download my favorite HD clips found on Vimeo.com (if you have a Vimeo account and you visit their respective pages, you can download the original uploaded HD video file):
Posted on Sun 17 Feb 2008 at 2:21 AM PST. Filed under Software.
We went to eat at “Pasta Pomodoro” with JBQ last night and as usual, we started talking geek. I started telling him about a pet peeve of mine: “Wouldn’t it be nice if I could save in a lossless codec my final cut video but to also save a ‘reference’ file to tell the video editor where the ’splits’ are so I can re-edit that in the future? Sure, I wouldn’t be able to have layers, transitions and plugin information, but at least I would have the cut information, which is most important. Right now, I am forced to keep 12 GBs per tape footage on the hard drive, while I am only using 1/10th of that usually.”
And he replied: “That’s not the correct way of doing things. The right way would be to save only the portions of the .m2t or DV .avi files you are actually using. These formats can be chopped off and saved without a re-encoding, so this way you don’t lose quality at all. And you get to keep all your plugin, transition and other project information in the project file! It should also keep 10 seconds of extra footage left and right of your cuts!“.
At that point I thought: “Hell, that’s why JBQ is a software engineer, and I was just a petty programmer” (there’s a difference).
So, when we came back home I opened Vegas and tried to find such a feature. I was ready to fire up a feature request if there was no such feature. And yet, there is. Both on Vegas Pro and on Vegas Platinum (not sure about the plain version). Vegas 8 Pro is able to cut/save .m2t and DV AVI without re-encoding, while Platinum 8 can do only DV AVI (although it’s safe to assume that the next version should be able to do .m2t too). All you have to do is to “save as” your project, and check that “Copy and trim media with project“. The next screen will even ask you how many extra seconds left and right of your trims you want Vegas to save.
Posted on Thu 7 Feb 2008 at 11:57 PM PST. Filed under Filmmaking, Software.
This is a generic tutorial on audio/video compression. It does not adhere to any specific application, but it teaches you what is what, so by using this knowledge you can export from ANY application in the market. So, here’s what you need to know:
* Many video editors require that you “tell them” in their project properties what kind of source footage you got. For example, if your source footage is NTSC HDV, you need to tell them to accommodate/optimize for 1080/60i. For PAL that would be 1080/50i. Then there is 24p footage, different resolutions, or plain DV or just digicam VGA video. You must always know what kind of source footage your camera outputs, so you can configure your video editor or utility to accommodate it. For example, if your camera shoots HD at 24fps and you let your video editor to use the default DV in a 60i timeline, you will get bad quality, and performance degradation during editing. So, get it right! Not all editors automatically recognize your source footage and auto-configure themselves.
* If you are using Sony Vegas, I would recommend you right click on clips in the timeline that lots of motion, select “Properties” and then “Disable Resample”. This will get rid of the “ghosting” effect during the final export. Not sure how to do that on other video editors, most of them don’t have the ability to turn it on/off.
* When you are finally ready to export, the first thing you need to decide is the medium you want to export to. Is it the web, the iPod, the PS3, a DVD, or simple archival? You see, depending the device you want to export for, different codecs and options apply. Here are some basic codec guidelines for some popular devices:
– iPod: 320×240 resolution, native frame rate as source footage, h.264 video codec 512 kbps, AAC audio codec 64 kbps stereo.
– Sony PS3 and XboX360: 1280×720 or 1920×1080 resolution depending if you have a 1080p or a 720p TV, native frame rate as source footage, h.264 or WMV or XViD video codec at 5 or 9 mbps, AAC audio codec 128 kbps stereo or 5.1 surround.
– DVD: use the DVD templates that video editors usually come with.
– Youtube: Same as iPod.
– iPhone and PSP: Same as iPod, but at 480×270 resolution at 1mbps bitrate.
– Vimeo SD and HD: Tutorials here and here.
– Zune and Creative players: 320×240 resolution, native frame rate as source footage, WMV video codec 512 kbps, WMA audio codec 64 kbps stereo.
– Archos and other PMPs: 320×240 resolution, native frame rate as source footage, XViD video codec 512 kbps, MP3 audio codec 64 kbps stereo.
– Archival: a lossless or near-lossless codec, like DV, HDV, mjpeg, Huffyuv, Lagarith, Cineform, ProRes, AIC etc.
* Video codecs. There are two kinds of codecs. The Delivery grade codecs and the Intermediate grade codecs. The first ones are supposed to be exporting/view-friendly, and the other ones archival/editing friendly. More information here on the subject. I would suggest to hunt for h.264 video, AAC audio, inside the .mp4 container format. That’s the most compatible and widespread format today on devices.
* Frame rate. Keep frame rate the same as the source footage (you should be able to find some “summary” information about your footage somewhere on your application). For NTSC that would be 29.97 (60i), for PAL 25 (50i), and then there’s 24 progressive frames, which actually in reality is 23.976 fps. I would suggest you export with the right frame rate each time and not round these weird numbers to 30.00 or 24.00.
* Resolution. When you export, depending on the camera you got, here are your resolution options and bitrate you should be exporting at with delivery-grade codecs:
NTSC DV 4:3: 656×480 or 640×480 (at 1800 kbps)
PAL DV 4:3: 768×576 (at 2300 kbps)
NTSC 16:9: 874×480 or 880×480 (at 3000 kbps)
PAL 16:9: 1040×576 (at 4000 kbps) or 880×480 (at 3000 kbps)
HVX or DVX 16:9 DV Panasonic cameras, export at 848×480 or 852×480 (at 3000 kbps)
AVCHD/HDV: 1920×1080 (9 mbps) or 1280×720 (5 mbps)
Canon TX1 or Kodak 720p digicams: 1280×720 (5 mbps)
Digital camera VGA 4:3: 640×480 (at 1800 kbps)
Please note that you should never export for web/viewing purposes with aspect ratios that are not 1.0000. I see a lot of people for example exporting DV at 720×480 or 720×576, but this is not the safe thing to do, because most applications don’t take into account the special aspect ratio value that these kinds of exports have, and so you end up with squashed heads. Use the above guide to get it right, and make sure that aspect ratio is set to either 4:3 or 16:9 for the above resolutions, or at aspect ratio 1.0000 if your application uses this way to represent pixel information.
* Bitrate. Bitrate is the amount of bits per seconds that the video uses. That’s the only factor that decides how big a video file will be or not. There are two kinds of bitrates: constant and VBR. In constant bitrate, you just tell the application to use a specific number of kbps or mbps, as shown above. But in VBR, you give two numbers: one for the average number and one for the peak number. For example, if you want an average bitrate of 3mbps, you can also ask the application to have a peak number of 5mpbs. The application will go as high as 5mbps only when there is a lot of motion on the scene and it requires more bits to encode it properly, while it will stay at 3mbps or below if the image is static and doesn’t require lots of bits. VBR is generally preferred for best quality, but it’s more difficult to figure out, if the application’s user interface is not well done.
* De-interlacing. If your camera does not shoot in progressive mode (most camcorders don’t, only digital cameras do), then you must de-interlace during export, otherwise your video will have “jaggies” (horizontal lines). You must hunt for a checkbox or option that’s called “de-interlacing” or “progressive”. Please note that if you are exporting in an intermediate format for editing/archival reasons, or back to the camera’s tape, you should not be exporting as progressive, because this is not the footage’s native format. Only de-interlace for “viewing” purposes, e.g. youtube, ipod etc.
* Audio bitrate. For audio select between 64kbps to 128 kbps (although you can have VBR for audio too). More than that is usually goes unused by many devices/headphones, so there’s no reason to use more. Use 44.100 Khz for sample rate, and Stereo.
* Audio Codec. Like with the video codecs, there are many different audio codecs you can choose from. But the audio codec should always be decided in conjuction to the video codec. For example, if you want to export in h.264 Mpeg4, you must use AAC, because that’s the way most players are optimized to read h.264 with. For DivX/XViD it’s mp3. For Theora video it’s Vorbis audio. For WMV it’s WMA, and so on.
* Containers. Don’t confuse “containers” with “codecs”. MOV and AVI are *not* codecs, so saying that “I exported as AVI” says nothing to others who might try to debug your problem. AVI/MOV are simply file formats that inside them can “host” actual video and audio codecs. In theory, you can have a gazillion different codecs in them, it’s just a container format to keep “glued” the different kinds of audio and video together…
Posted on Fri 1 Feb 2008 at 9:40 AM PST. Filed under Software.
“Organizations using Python will be affected in a major way by changes in store for the language over the course of the next twelve months, Linux.conf.au attendees were told this morning”, reports ITNews.com.au.
I hate it when this happens. The fact that you might be able to install Python 2.x in parallel does not make this any better. It’s just stupid when developers break compatibility — even if they have a good reason for it. As a user, I just plain hate the consequences.
Posted on Tue 22 Jan 2008 at 4:52 AM PST. Filed under Filmmaking, Software.
There are three situations that most amateur video users just can’t put their head around. On online forums these are the most common exporting issues.
1. Pixel aspect ratios
I bet that trigonometry might feel simpler to some people. No matter how many tutorials are on the web about pixel aspect ratios, users just don’t understand them. I really hope that camera manufacturers stop using non-square pixels because it confuses the hell out of people, and most of the time they f*ck up their web exports resulting in youtube videos where people in them have heads looking like eggs, or in videos with vertical letterboxing.
2. Interlacing
Ah, this one is funny. Users who have never seen interlacing before are in panic. They come over to the forums and scream that their camera is dying! There are “weird horizontal lines everywhere” and they wonder if warranty is still good to send the camera back! Again, it’s a matter of the camera manufacturers to stop using freaking interlacing. We are not in the 1950s anymore.
3. AVI and MOV
There’s the misconception that all AVI files are DivX/XViD, and all MOV files are “the same”. People don’t understand that avi/mov are simply containers that can hold any kind of media format inside them, and instead they associate them with specific codecs. I got an email the other day: “why my 2 minute footage is 6 GB, I exported as AVI, it should have been smaller than that”. Ah, well, because you saved using the uncompressed codec. Duh.