11-12-2008
Common Video Codecs: A Comparison
I’m constantly finding myself rendering video projects using several codecs to get the ideal mix of size and quality. This is frustrating and seems like a waste of time, so I’ve been trying to keep track of the results I’ve been getting. A recent bout of render and re-rendering last night reminded me that I should probably be documenting my results. Here we go!
NOTE 1: In most cases, Windows Media videos (WMV) provide the best quality and smallest filesize of any other codec or wrapper — including Flash or H.264!
However, many of our customers use Macintosh, and refuse to install the Windows Media player for OSX, so we have to render in Quicktime. That’s when the confusion sets in. Which codec do we use? Does the content of the video matter? Etc…
NOTE 2: H.264 and MPEG 4 seem to give very similar results, but using MPEG4 almost always results in a higher-quality image, especially for highly-saturated colors. Since we’re an animation studio (www.flypixels.com) most of our video falls into that category. So, if Quicktime is a must, and filesize is important, but video quality is also important, we use MPEG4 compression.
NOTE 3: Generally, however, we use Sorenson 3. Why? Because not only is the filesize not much larger than MPEG4, we find that Sorenson 3 is better if we need to re-compress a video into a different format. HOWEVER, I just found out that Sor3 is NOT ideal for crisp, highly saturated graphics. It suffers from color bleed, as I found when I was compressing graphics with red text on a white background. Which leads me to:
NOTE 4: The Animation codec provides the best quality image. Using the Animation codec at high (not highest) quality results in about 15% larger files than Sorenson 3, but with no visible artifacting. So, the filesize is the largest, but the quality is the best. In fact, at MAXIMUM quality, there is absolutely no loss to the compression (although the filesize doubles or even triples over “high” quality). We use Animation at Max quality for all our internal renders, with or without alpha channel, but it’s not really ideal for transmitting over the web.
So, here’s the final result, according to me:
For the final product, use Windows Media.
If WMV isn’t possible, use Quicktime MPEG4 for crisp graphics or Quicktime Sorenson 3 for video or multi-dimensional graphics (i.e. typical 3D animation).
If perfect fidelity is required, use Quicktime Animation. However, filesize == huge.
Ideal web delivery format is Flash video, using On2 compression (or H.264 for newer systems). However, this format isn’t really suited for preview purposes, as the video files can’t be viewed by themselves, and require a Flash player to be included.
Posted by Seth in mov, swf, flv, wmv, windows media, Flash, Adobe, quicktime, Rendering | No Comments »
10-31-2008
Note to self: WordPress + Chrome = broken.
I’ve been trying to edit my recent post (below) and for the life of me I couldn’t figure out why WordPress wouldn’t let me put a new paragraph in there. It just lumped everything into one paragraph every time I saved the post.
Well, I figured it out. I’ve been using Chrome.
I’m editing this post in Internet Explorer, and it’s working just fine.
Sigh.
Posted by Seth in internet explorer, chrome, Troubleshoot, General | No Comments »
10-30-2008
BluRay be danged, the future of movies is… Netflix!
According to this New York Times article, TiVo and Netflix are forming a partnership that will allow streaming of HD movies from Netflix’s library on HD TiVo devices.This is a development I’ve been expecting for some time, ever since I got my TiVo, in fact. As broadband internet becomes cheaper (theoretically — Comcast?) and more accessible, I think it’s going to quickly supplant physical HD media, like BluRay.
With their streaming video service, Netflix has really hit a vein of gold. They’ve got a standalone player, a BluRay player with built-in Netflix support, and streaming support in the Xbox 360 update due November 19th. Adding Netflix capability to Tivo boxes adds yet another huge user base. Better yet, for people who already have Netflix and Xbox Live (or TiVo HD) the streaming video feature will come absolutely free! No BluRay players for $400+, no DVD up-sampling, no $3.99 movie rentals from Amazon or OnDemand, and, best of all, near-instant video playback.
I fully expect Netflix to become the dominant player in the video-delivery market. They remind me of Google in the early 2000s– they’ve started with a simple idea and really jumped on available technology to increase their value to their customers. I wouldn’t be surprised if Netflix gathers a huge following, especially in early-adopters and video-minded netizens.
I’ve been waiting for something like this to happen, but honestly, only RIGHT NOW is it the perfect time. Not only do people have the bandwidth to watch whatever they want in HD, they’re turned off on BluRay because of the high cost of entry and the fact that the BluRay/HD-DVD war dragged on for so many years. Sony’s dropped the ball once again with their insistence on proprietary technology licencing, and they’ve been side-stepped by small, flexible, SMART players like Netflix, TiVo, and (*cough*) Microsoft’s XBOX team.
Posted by Seth in xbox, broadband, tivo, bluray, netflix, movies, Foresight | No Comments »
04-10-2008
Premiere Freezes / Locks Up / Crashes while working
From my previous entry, you might know that we’ve been struggling with our edit machine recently. The past week or two has seen Premiere locking up more and more frequently, resulting in forced reboots and corrupted project files.
Well, no more. I’ve been searching for a solution, and found this page: http://ppro.wikia.com/wiki/FAQ:Why_does_Premiere_Pro_lock_up/freeze%3F
This recommended a number of solutions, but the one that was most commented on was, believe it or not, deleting a preferences file. That’s it. Deleting one file. So I tried it.
I went into the My Documents folder on the edit machine, under the user we use for that machine, and found the Adobe folder. Then I dug down to Adobe\Premiere Pro\2.0\Styles and deleted the workingset.prsl file. We’ve been running Premiere ever since without an issue.
Why does deleting this file fix the problem? I suspect that some corruption occurred, or maybe a setting caused extreme lag with the video cards, but really, I’m not sure what the connection is between that file and the problem. I’m just glad it’s working again, to be frank.
Posted by Seth in Crash, Adobe, Premiere, Troubleshoot | No Comments »
04-10-2008
Fixing “Damaged” Premiere Project Files
Recently our editing workstation has started acting up, crashing in the middle of editing Premiere timelines. I’m still troubleshooting the cause of the crashes, but one of the side-effects is that sometimes our Premiere project files are becomeing corrupt. When we try to open them, Premiere tells us “This file is damaged and cannot be opened”.
I did a Google search for ‘Premiere damaged troubleshoot’ and found several forums that discuss this. One of them (Creative Cow I think) suggested using an XML editor to open and check the project file for errors. (Turns out Premiere project files are really XML. Huh.) So, I tried this solution (using XML Wrench). This worked for ONE of our damaged files. On error checking, it found a out-of-range character (it looked like a blank rectangle) that was in the middle of a long number. I replaced it with a 0 (not knowing what else to put there), saved it with a different name, and viola! It opened fine in Premiere.
However, this didn’t work for the other two files that got damaged. Instead, when I opened them in XML Wrench, the file was truncated, only showing 3000 lines or so of text, instead of 90,000 as they should have been.
Taking one in hand, I looked at the size of the file in Explorer, it was more than 3 MB. This told me that the data was in there, but there was something stopping it from loading properly in XML Wrench (and therefore Premiere). Perhaps just one character was bad?
Going back to the Creative Cow forum, I noticed that one of the contributors opened a file in a text editor and had success reading it into XML Wrench after that. Could opening it in a text editor have somehow cleaned the file or something? So I tried it.
I opened both the troublesome files in Notepad, then saved them with a different filename (but still as .prproj files). Instead of doing the extra step of XML editing, I tried them out directly in Premiere. They worked!
So, to sum up, if you get a “damaged” file with Premiere, try opening and resaving it in Notepad! The End.
Posted by Seth in XML, Notepad, Adobe, Premiere, Troubleshoot | No Comments »
03-13-2008
Fixing slow fileshare access from Vista client to Windows Server 2003 x64 server.
Ever since my boss got a Vista-based laptop, she’s had trouble accessing one of the drives we share on the network. We have two servers sharing our main fileshares, one that’s Small Business Server 2003 (32-bit) and one that’s straight Server 2003, x64 version. The first (SBS 2003) is easily and quickly accessible to the Vista machine. The second (Server 2003 x64) is visible on the network (after waiting patiently for several minutes) and accessible, but every time you open a folder on the shared drive, it takes an unacceptably long time to display the contents, in the order of 10 to 15 minutes in some cases.
I did a TON of Googling on the subject, and found a few possible fixes, but no go. Then finally I found a reference to this Blog entry in a Microsoft forum:
http://msmvps.com/blogs/bradley/archive/2007/04/04/vista-slow-after-sp2-installed.aspx
It recommends disabling the Auto Tuning feature of Vista. I did this, rebooted, and was instantly able to browse the x64 share without trouble.
Just thought this might help someone sometime.
Posted by Seth in comp tech, Vista | No Comments »
01-08-2008
Why there’s a difference between Dolly and Field-Of-View
I never really paid much mind to the difference between the Dolly tool and the Field-of-View tool in Max. When I wanted to zoom my camera in or out, I’d try one and see what result I got, then if I didn’t like it I’d try the other one.
Today I realized there’s a real difference. I’m trying to line up a sphere that happens to be in wireframe. My previous shot has a camera close to the sphere, just showing the top third or so. We needed to add the ability to pan/zoom to see the rest of the sphere, but to give our compositor maximum flexibility we decided I could just render a still of the whole sphere at high res and let the compositor line it up and animate it.
Well, after quite a bit of trial and error, I finally got a render of the whole sphere that lines up perfectly. My first attempts involved pulling the camera back, rotating and panning to get the whole sphere in the shot, then making tiny adjustments to get it to line up. I got the angle JUST RIGHT but it still wouldn’t line up, the vertical lines were all off. It turns out it was because when I pulled the camera back, I was changing how much of the sphere was rendering. It was like putting a zoom lens on a camera but not changing its position — less of the sphere was visible at the sides, even though the center was good.
My solution? Leave the camera at its starting position, but just ramp back the Field-of-View. The sphere looked distorted in my viewport, and because the camera was aimed at the top area of the sphere, I had to pull the FOV way high which left a lot of blank space at the top of the frame. But you know what? Once I rendered it out at high res and brought it into the comp, it lined up PERFECTLY. Never mind that wasted pixel area, it was spot on.
So that must be why ‘they’ invented the FOV control. :)
Posted by Seth in Rendering, 3ds Max | No Comments »
08-21-2007
3ds Max / Backburner: Issues with Vista (64-bit)
We just went to all 64-bit machines for our render farm. Since we’re not really Linux savvy, we’re using Windows Vista 64. Anyone reading this who has experience with Vista is probably saying “Uh oh!”. :)
First issue: For some reason, half the software we use (ie Max’s service pack 2 and Backburner 2007 sp2) won’t install on Vista unless you are logged in as Administrator. Not “an administrator” but the actual user named Administrator. Why? Not sure. Just doesn’t complete with any other user.
Second issue: The render farm wouldn’t fire up for some reason. Backburner ran fine, and the servers found the manager okay, but when the servers tried to run Max to render something, we got an error “The application failed to start” or something like that. It turns out, first off, that in order for the render farm to work with Vista, EACH render box has to be logged in with the Administrator user.
Even after doing this, though, I kept having errors. These included the one mentioned above, and a .dll that failed to initialize, and “adlmpx.exe has stopped working”. Fortunately, I was able to fix this with a complete uninstall and reinstall of Max, then the SP2 for Max, then the latest version of Backburner (2007.2 as of this writing). After doing all of this as the Administrator, and running the server, it seems to be working fine.
So, the FIX: 1. Use Administrator, even if it makes you uncomfortable to be just throwing that login around on a bunch of machines. 2. If all else fails, re-install!
Posted by Seth in Vista 64, Backburner, Rendering, 3ds Max | No Comments »
08-17-2007
3ds Max: Use multiple textures randomly on a particle system (Material Frequency)
Recently I was tasked with creating a particle system that would randomly assign a variety of textures to the particles as they were emitted. This, combined with using a Facing style particle, would give the effect of images flying through space in a flowing pattern. (See previous post on how I created the flow effect).
Experience Max users already know this (probably) but for my future reference, here’s how I did it:
I created a Particle Flow system, and added Shape Facing behavior. Then I added a Material Frequency behavior. This provides for randomly assigning up to 10 textures to the particles as they are born.
It took me a little research to figure out how to create the various textures. Basically, in the Material Editor, you have to create a new Multi/Sub-Object material, then add sub-materials to that. Once you’ve created some sub-materials, you can then assign the Multi/Sub-Object material to the Material Frequency behavior node by clicking the Assign button at the top. It automatically discovers how many sub-materials are available. Then you put in the frequencies you want for each material. For example, if you have 5 sub-materials and want them to basically appear with the same frequency, set the first five materials to the same number (greater than 0).
The number you choose doesn’t have any direct correlation, but it is relative to the other numbers. It’s based on the average of the total of all the numbers. If, for example, you set 9 materials to 1, and one of them to 2, that one will appear twice as frequently as the others (2 out of 10). If they are all 10, and one is 20, it will behave the same way (20 out of 100). If you have everything at 1, and one at 100, then 100 times out of 109 it will choose that one.
The only drawback to this system? It’s limited to only 10 materials. Maya’s random texture assignments were much harder to set up, but they didn’t have any limit.
I wonder if there’s a way to add more materials by adding a second Material Frequency node? I’ll let you know if it comes to this.
Posted by Seth in Texturing, Particles, Dynamics, 3ds Max | No Comments »
08-17-2007
3ds Max: How to get particles to “flow” with Particle Flow (hint: use Speed By Icon)
Being new(ish) to Max — I haven’t used it since 4.1 – I’ve been trying to adapt to its particle system. It’s a bit different that what I’m used to in Maya. Instead of creating a system, then using various expressions and scripts to control it, you can use the Particle Flow tool to create a flowchart of how you’d like the particles to act.
Particle Flow seems to be a bit of a misnomer, actually. I found that once you’ve created a Particle Flow(chart) system, you can no longer link it to a “Path Follow” space warp, for some reason, so don’t expect Particle Flow to make your particles “flow” together. To make them follow a path, I found sort of a solution here. Basically I applied it like this:
1. Create a Particle Flow system as you would normally.
2. Create a curve (line) that is the path you want the particles to follow.
3. In the Particle View window of the particle system, remove the Speed operator in Event 01 (or whatever event you’re dealing with) and replace it with Speed By Icon.
– Note: “Speed By Icon” basically makes the particles follow the path the icon takes in 3d space. Particles go the same speed as the icon, and follow the same path, and continue to do so even when the icon’s done animating.
4. Tie the Speed By Icon icon to the path you created with a Path Constraint and keyframe its Path Options to match the motion you want to create.
Viola! The particles follow the path! Or, actually, they follow the icon that follows the path.
To get a natural and beautiful flowing style, I also inserted a Vortex space warp to get the particles to spin a bit and clump together. I also threw in a Scale operator with a bunch of variation for interest, and a Shape Facing operator to force the geometry to face the camera.
Here’s the result (the pink line is the path, the purple arrows are vortexes). As you can see, your path doesn’t need to be super smooth and pretty to have a nice effect.
Posted by Seth in Particles, Dynamics, Animation, 3ds Max | 1 Comment »