I’ve always been annoyed that my WordPress “Video Embed & Thumbnail Generator” plugin required FFMPEG to make thumbnails. Most people are on shared hosting and aren’t allowed to install software like that on their servers. And even if they are allowed, configuring and installing it is a pretty substantial hassle.
I started my most recent coding burst with the inspiration that I could show the video in a little player in the browser and use it to find the exact timecode a user wants to generate a thumbnail. I planned to send that number to FFMPEG in order to get the image, but when I saw the video in the browser it looked exactly like a thumbnail. I wondered why I couldn’t just grab the image that the browser had gone through all the trouble of decoding already. It turned out I could do exactly that, and it was surprisingly simple.
So as of version 4.2, you don’t need any special software on your server if you want to turn a frame of video into an image. There are some limitations though. Your server needs to have either ImageMagick or GD. Most servers have one of these enabled, so that shouldn’t be a problem. Your browser also has to provide native support for your video format. Plugins will not work. That means this doesn’t support FLVs, WMVs, AVIs, or MKVs. Browsers have built-in support for H.264 MP4s, WEBM, or OGV. There is a helpful chart on Wikipedia that details the array of browser support for these formats. The short version is if you use H.264 MP4 videos in Chrome then you should be fine.
I also moved my development onto Github, which I am loving. It’s much easier to keep track of everything, and it allows for savvy users to offer their own code to merge into the plugin. If you’re having any trouble with the new release, please post it in the issues section.
I ordered a Chromecast as soon as I heard about it. It was $35 but came with 3 free months of Netflix streaming, which I would be paying for anyway, so it cost me about as much as lunch in Manhattan. It arrived on Friday and I’ve already given up streaming from my clunky Panasonic Blu-Ray player.
Streaming from apps that support Chromecast is fast, high-quality, and easy. Netflix, YouTube, and Google Play media show up on my TV with two taps. I ordered Europa Report from Google Play and had it on the TV in three taps on my Nexus 4. The movie was OK, but the purchasing and watching experience was as simple as I can currently imagine it. Casting a whole tab from Chrome is a different story. It’s really no good for video. It might be fine if you want something a little more static on screen but there was visible video stuttering when streaming from my MacBook Pro.
Here’s the big missing feature: on iOS if you have an Apple TV you can send any HTML5 video to it by pressing the AirPlay button in the video controls. Is there a good reason why every Chrome browser can’t send any HTML5 video to Chromecast today? I know that Chromecast works differently, and requires a receiver app, but it seems to me that Chrome could provide a generic HTML5 video receiver app without requiring every content provider to register as a developer and make their own, since every receiver app would be essentially the same. Maybe this is coming in Chrome 30 and I shouldn’t expect things to move so quickly, but I haven’t been able to find any discussion of it so far. I would love to incorporate it into my WordPress video player plugin as soon as possible.
After last year’s non update update, the Mac Pro is getting some real attention. This year Apple has announced a very powerful, very small, and very strange new computer.
Sure, it’s an “innovative” design. I don’t really even care that it looks like a trash can or a coffee maker. My editing computer is hidden away in a closet anyway. What’s important about this new computer is that it redefines the idea of expandability in a powerhouse computer.
In 1999 the blue-and-white G3s introduced a tab that you could pull to swing the computer open and mess with its guts. Variations of this idea persisted in the G4, G5, and cheese grater Mac Pros. Just like on a generic PC, you could install hard drives, upgrade the RAM, and most importantly, install cards in its expansion slots. Since then there have been a number of other Mac models that offered limited expandability in exchange for “just working.” Those were and are some great computers. I’m writing this on a lovely 27″ iMac in an office full of iMacs and I like it very much. But sometimes you want your computer to do something that can’t be handled without direct access to the brain. Historically expansion cards have provided that power. The new Mac Pro has no slots for expansion cards and no space for SATA drives. What it does have is lots of Thunderbolt ports.
Thunderbolt devices can theoretically handle most of the things that expansion cards always did, but here’s the problem: they don’t do it yet. There are Thunderbolt to PCIe boxes that fill in the gaps in functionality, but they are very expensive. This new computer isn’t coming out for several months, so the world will be a different place by then, but Thunderbolt has been around for over two years and I rarely see Thunderbolt devices in the wild. The absence of Thunderbolt on the old Mac Pros has held the technology back from wide adoption in the professional realm, but the price premium is also a problem. G-RAIDs with Thunderbolt are almost twice as expensive as comparable Firewire/eSATA/USB drives. Glyph doesn’t seem to make any drives with Thunderbolt. The Thunderbolt version of the Blackmagic Intensity is $100 more than the PCIe card.
The only complaint I ever had about the Mac Pros when they were current was that their thick metal cases made them much too heavy. That was usually a problem once per computer: when I took it out of the box and installed it and never moved it again. I certainly opened them up to install cards and hard drives and RAM, but I didn’t have to move them to do it. I and most people I know who use Mac Pros would have been very happy with an upgraded processor, Thunderbolt, USB 3.0, and I guess no Firewire since that seems to be the way things are going. If we’re lucky, this will be like getting rid of floppy drives. It seemed crazy at the time, but then everybody had a CD burner in their Macs and CD-R prices plummeted. Same thing happened with DVDs when Macs all had Superdrives. Now we don’t have any optical storage, and good riddance. Thunderbolt is a very complicated technology and the high prices are not arbitrary. Will removing the option to use anything but Thunderbolt make Thunderbolt devices inexpensive enough to use for everything? I hope so.
I guess the big question is how much this machine will cost. An 8-core Xeon E5 is around $1500 depending on the speed. An AMD FirePro with 6GB of VRAM is $2400. There will be two FirePros in these things. Prices will go down by the time the computer is released, but his will not be a cheap computer.
There was no mention of it on stage at the WWDC yesterday, but the Mac Pro has finally been updated after almost two years. There is a slight increase in the clock speeds available, and there doesn’t seem to be a dual quad-core option available anymore. The processors are still last-generation Bloomfield & Westmere-EP Xeons. Newer Sandy Bridge-EP processors were released in March, which as I understood it was the main reason Apple had to wait so long for an update, and why there should have been an update this week. The Sandy Bridge-EP processors start at 6 and go up to 8 cores! Other things that would have been reasonable to expect include updated graphics cards, USB 3.0, and Thunderbolt ports. Since FireWire is gone from the MacBook Pros, Thunderbolt & USB 3.0 are going to be available on a lot more drives in the near future and it would be great to have access to those ports on Mac Pros.
The Mac Pro is not exactly overpriced even with two-year-old technology. You would have a hard time putting together a computer with the same parts for much less money. But given the option, you would also be foolish to build that computer today. I happen to know that you can build a really great Sandy Bridge desktop computer for a lot less money because I did it last year with a Core i7-2600K-based system that cost me less than $1000 in parts. With the release of Ivy Bridge MacBooks you’ll soon be able to build your own Ivy Bridge desktops as well. I’ve been building hackintoshes since 2006, and it is much easier to set up now than it was in the early days. I’ve found that once the software is set up it’s as stable as any Mac Pro I’ve ever worked on and runs very fast.
But hackintoshes are only for individuals and small businesses willing to live on the edge. I’m teaching FCP editing classes at The New School this year, and they have hundreds of Mac Pros running FCP. I would be laughed out of the room if I suggested they replace those aging hulks (they are very heavy) with custom-built PCs hacked to run software that actively fights being installed on the computer. The lawyers might have something to say about it as well.
So what do you do as a creative professional who plays by the rules? You need power to run your fancy software. In my case I need flexibility. I need to monitor my video work on a video monitor. So I use a Blackmagic Intensity Pro PCIe card that costs less than $200 and does everything I need. I also have a nice computer monitor that I don’t want to replace every time I upgrade my computer. If you move up the chain a little, maybe you have a fibre channel network. Maybe you have an SDI video system that runs through your whole facility.
You could use iMacs. If you’re really dedicated to Macs and you want to upgrade now, the iMacs have Sandy Bridge processor options and better graphics cards than the Mac Pros. There also seems to be a number of 3rd party options for expanding your iMac using Thunderbolt. Similar to external hard drives, you can plug a box into your iMac’s Thunderbolt port and then plug a couple PCI cards into the box.
People are so clever!
That box is $979 though. Not exactly a bargain.
What I would recommend is looking at Windows. I know that makes a lot of people mad, but honestly as far as I’m concerned the only thing holding me back from Windows is all these HFS+ disks I have, and all the HFS+ disks I’ll work with in the future. I’m sure as hell not going to edit using MacDrive on Windows. I tried that once. After a couple years I’ll stop using FCP and both Avid & Premiere run great on Windows. FCP was the only reason I started using Mac OS in the first place. I like it. Snow Leopard is great. I also think Windows 7 is great. I’m not so sure about Windows 8 though. But I’m not so sure about Mountain Lion (or Lion). The rush to make the desktop more like mobile is not helping those of us who do fancy stuff on our computers.
In my New School classes I’ve spent much of the first class explaining to the students that things are changing very quickly and that many of the technical things they learn in the class will be obsolete soon. My advice is don’t get too comfortable in your workflows. And don’t buy a new Mac Pro. Your old one probably works fine.
Closing a number of security holes and adding some nifty UI enhancements like an encoding progress bar and animation during thumbnail generation, this is an important update and is strongly recommended for anyone using the Video Embed & Thumbnail Generator plugin.
The first version was really crude because I couldn’t figure out how to hook in to the WordPress Media Library, but it worked well enough for my purposes. I always wanted to go back in and make it more user-friendly, so for the past few weeks I’ve been revising the plugin to tap in to the built-in uploading and media management systems. Big thanks to Andy Blackwell for posting his great tutorial on the very important attachment_fields_to_edit hook. I learned a lot more about the WordPress plugin system, and finally put the plugin in their directory, which forced me to learn a few things about SVN, which is a clever if initially baffling system.
Anyway, I highly recommend the new version of this plugin if you’re doing any video embedding on your WordPress site. You don’t need FFMPEG if you just want a good system for posting videos you have hosted on your site, but if you do have FFMPEG on your server, you’ll get thumbnail generating and automatic HTML5/iPhone-compatible file encoding. It’s pretty neat.
I’ve used Epson Artisan printers for the past six years to print attractive images on the DVDs I burn. I have terrible handwriting, and I think if you have the option you should make a good presentation. I got an Epson Stylus Photo R200 in 2004, and I upgraded to an R280 a couple years ago. I’ve purchased a few hundred Ritek RiData White Inkjet Hub Printable DVD-Rs and had great results both burning and printing on them. I always talk them up whenever I’m working at an office and I usually convince them to buy one, because nothing looks worse than Sharpie scrawl on a disc. It has always been dangerous to put a sticky label on a DVD. It can destabilize the disc, causing playback problems, and there is potential for the label to spin off and damage the player. I use clear slimline DVD cases so I don’t have to print a case insert. Most of my DVDs are temporary anyway, so I don’t worry about how they’ll work without a spine label on a shelf full of DVDs. Standard Blu-Ray cases are translucent and work great without a case insert. I think it’s important to put Blu-Ray discs in blue cases in order to avoid confusion. But of course I’ve had very little need to burn Blu-Ray discs, even though I bought a Blu-Ray burner hoping to get my clients really high-quality versions of their films. I’ve probably burned 5 discs in the past year. It definitely came in handy for screenings where you don’t want to pay a couple hundred bucks to make an HDCAM tape. The trouble is they can’t really be used for general use because you can’t count on the recipient having a Blu-Ray player.
Today I decided to purchase a multifunction printer so I could get a scanner, and maybe a fax too, for the five times a decade I need to fax something. I was pretty sure the only printers that do what I needed were the Epson Artisans, but the Staples salesman pointed me towards the Canon PIXMA MG5320, which scans and prints on discs for only $99! I thought I’d give it a shot. These things are basically disposable considering the ink refill costs, so it’s not a big deal if it turns out to be substandard. And faxing isn’t that important.
So far I’m very happy. The print quality is great, the scanner scans, and the disc printing tray seems to feed more confidently than the Epsons. The whole disc printing process was always a little dicey on the Epsons.
I don’t like to use the software that comes with the printer to print on discs because I like to be able to print straight from my design program of choice. Usually that’s Illustrator. For the Epsons I’ve always used Brian Nash’s excellent templates. I couldn’t find a similar one for the Canon PIXMA MG5320. I found an old one for some other Canon printer, but it wasn’t aligned for the current model. I revised it to line up with my printer, and I thought I’d upload it for anyone else who needs a template to print on discs with the MG5320.
So at the moment, FCP X is pretty much a disaster. Lots of people are saying that it will get better, but for now I could never make a movie with it. That’s not being elitist or anything, it’s just a tool that I can’t use. Maybe it will get to a point where we can use FCP X, but for now I’m working under the assumption that FCP 7 is the end of the line for me.
Now, I just upgraded to FCP 7 a couple weeks before the release of FCP X, and I’m feeling pretty clever about that. But it also points out an important thing. We don’t always have to use top-of-the-line software to edit. I tend not to work under crazy deadlines, so things like 32-bit rendering and lack of multicore support are more minor annoyance than workflow killer. If I can bring videos files in, convert them to a nice codec, edit them, and then export in several different ways, including OMF, then I’m very happy.
So I’m not here to complain about FCP X. Maybe it will end up being awesome. At the moment I worry about little things like having to trick it into doing audio and video transitions separately but maybe the world is changing and I won’t be the cool kid who know how all the software works anymore. I’ll be using FCP 7 until it stops being useful to me then I’ll try something else. I want to explore the other options I’ve ignored for so long because FCP was so good.
First up is Avid. Avid has really stepped up its game in the past few years. They’ve put out a ton of releases, and most importantly for me, they’ve started limited support for 3rd party I/O hardware. Cost has always been my biggest problem with Avid. I know it works great, but I just don’t have the money for a $5,000 Mojo DX. I’m using a $200 Blackmagic Intensity Pro right now, and it does absolutely everything I need. Avid doesn’t support any Blackmagic cards, but the $450 Matrox MXO2 Mini they currently support is a fair deal. The great thing about Avid is DNxHD, which is just as wonderfully simple as ProRes, and it’s freely available, which will become important as we look at other options.
I experimented with Adobe Premiere back in college, and I couldn’t make heads or tails of it. It wasn’t quite as confusing as iMovie, but it immediately turned me off. In the meantime, Adobe has totally overhauled the program, and it is by many accounts a great program. I’ve always considered it a bit of a joke, but considering that it already comes with the Production Premium suite, a lot of places I work already own it. And it works with all the same hardware FCP does. I’m anxious to try a small project with it to see how things turn out. It seems like a poor-man’s FCP 7, but a very rich man’s FCP X. It’s written in modern code, and fully takes advantage of the power of our modern computers, but it also looks and feels like a regular editing program. What it doesn’t have is a ProRes or DNxHD. If you already have FCP on your computer, you can use ProRes, but that’s not something we can rely on indefinitely. It seems like DNxHD would be the best choice, since you’ve long been able to install Avid codecs on any computer separately from the Avid software.
The wild card I started thinking about this week is Lightworks. It has a long history, with long-time Scorsese editor Thelma Schoonmaker being the most prominent of the fancy-pants editors who use it. I talked with her assistant about it a couple years ago and he was actually using FCP to do a lot of supplemental work, because Lightworks was missing some of the fancy new HD features FCP could handle at the time. It was recently turned in to open source software, although the full source code hasn’t been released yet. The price of $0 is hard to beat. They plan to update it with a lot of the things that I would like to see in an editing software, including support for the fancy codecs I like so much. I’m going to download it and try it out soon, and I will report back on my impressions. At the moment it only runs on Windows, which is a big scary thing for some people, but I for one would welcome a return to Windows. The only reason I switched to Mac OS was for FCP, but with that out of the picture, all the major programs are available for either platform.
I think we’ve all learned a valuable lesson recently, that counting on a single company to supply all of our needs is foolish. I’ve even seen some rumblings online that Apple might abandon the Mac Pro. Without the expansion slots and huge processing power of the Mac Pro, you’re left with the future promise of Thunderbolt, which sounds pretty cool, but leaves out decades of legacy connectors only available through PCI Express slots, like Fiber, SCSI, SAS, etc. and we can’t all just go out and buy new storage solutions every couple years. What we can definitely be flexible about is software. Software is cheap, and the more of it we know, the better off we’ll be.
UPDATE June 2013: This method will work but it’s likely to cause playback problems with Android devices. Android officially only supports up to Baseline profile and it’s hard to control the profile of videos encoded with Compressor. If you’re concerned about Android compatibility, I highly recommend Handbrake.
Unless there’s a specific need for something else, I almost exclusively encode web video using H.264 in an MP4 container. It looks great, and is the most widely compatible format I know. I started doing it mostly because Flash Video players support it without having to re-encode as FLV. Here are the settings I use in Compressor:
Do this on a full-quality “Current Settings” QuickTime movie already exported from Final Cut Pro. Don’t export directly to Compressor from FCP. This is a lot cleaner.
Start with the “QuickTime H.264″ preset in the Apple/Formats/QuickTime folder. It might seem wrong, but we’re not going to use the MPEG-4 “File Format” setting. We’ll be working in QuickTime Movie format since we get the most control over compression settings that way.
Drag the preset onto your video to apply it.
Change the Extension setting to mp4. Yes, it’s really that easy. You have to change it here though. You can’t just change your .mov filename to .mp4 after it’s encoded.
UPDATE August 2012: I used to get invalid public atom errors when I renamed .mov H.264/AAC files to .mp4, but I just had a whole bunch of .mov files otherwise encoded with these settings that I needed to play in a Flash player. Sound played, but no picture. I didn’t have time to re-encode, so I tried just renaming the file and changing the extension to mp4. Picture now plays fine in the Flash player in Firefox, and QuickTime Player can open the files locally with no problem. The .mov extension wasn’t even an issue for the HTML5 player in Chrome.
Next, click on the Video “Settings…” button and use these settings:
You might need to change these based on your needs. I find the sweet spot for quality and file size lives between that Medium and High setting. Some streaming may require you to restrict the data rate. Multi-pass encoding hardly adds any time to the process (the 2nd pass is very quick) so I always leave it on.
Click OK, and move on to the Audio “Settings…” button. Switch the Format over to AAC and you should be fine.
If you have to be stingy with your bits, you can fiddle by going down to Mono or reducing the Target Bit Rate. I’m generally of the opinion that we shouldn’t be too stingy with our bits, so I don’t do that.
Hit OK and move on to Streaming. Change it to “Fast Start”
This lets your video start playing before the file finishes downloading. It’s not streaming, but progressive download; like YouTube. Don’t choose Fast Start – Compressed Header because that will prevent Flash players from taking advantage of the progressive download and won’t really help your file size much.
Frame Controls. Use them if you have the time. It really makes a difference in quality but definitely increases encode time. I usually just switch it on and leave it at the default settings unless I need to deinterlace or change the framerate. In this case I’m only really using the Better Resize Filter.
Finally, do whatever you need to in the Geometry tab to output the resolution you need. Keep the height an even number. Odd numbers freak out the H.264 codec. In this case 720×405 is closer to 16:9, but change it to 404 and everyone will be happier.
Save your custom preset and then submit. Make sure you set up a QuickCluster if you have more than two cores and you’ll get a real speed boost.