Thoughts on 32-bit codecs being phased out in macOS
You may have read Apple's article about "legacy media" being phased out in the next version of macOS or even been alerted by an error message in the new version of FCPX. The article is fairly sparse and doesn't go into detail about the change or explain why it is occurring.
To be clear, it's not that 32-bit codecs are going away, it's that all 32-bit software is going away. But it affects video software the most because the only reason for an app to still be 32-bit in 2018 is because it uses QuickTime.
Why would an app still use QuickTime over the newer and non-deprecated AV Foundation? Because AV Foundation does not support third-party codecs. I filed an enhancement request to support third-party codecs several years ago and Apple closed it as "won't fix" so their position on that seems pretty clear. (Sure, you can go to a lower level and write your own parser but if you've reached that point, why bother using Apple's media frameworks at all?)
There is a Reddit thread with quite a lot of misunderstandings about what the change means. So to clear up some of the misunderstandings in that thread: there isn't really such a thing as a 32-bit file. You can have a file stored on a 32-bit file system or in a container with a 32-bit size header but the result of this is that these files will be limited to 2 or 4 GB in size. It has no bearing on which apps can read them, so they can still be read by both 32- and 64-bit apps or codecs. Also, do not confuse the QuickTime container (.mov) with the QuickTime API - the container is alive and well and still supported by the new frameworks. (The MP4 standard's container is about 99% identical to a regular MOV container after all.)
This isn't really about 32- vs 64-bit, it's about Apple no longer allowing extensibility. Next year's version of macOS won't support third-party codecs at all, so converting 32-bit codecs to 64-bit isn't a solution. A codec is a central piece of code that handles reading and writing to a particular format. Now instead of using that central code for free with no extra effort, every app needs to create its own version of that code.
But remember: this only affects macOS's native video frameworks. Developers don't have to use them and there's nothing to stop someone writing their own DNxHD parser. You don't need to worry about your files becoming unreadable because ffmpeg will always be there. (It still supports ancient long-dead codecs like Indeo!)
This is unlikely to change much with Adobe or Blackmagic. They use their own parsers for a lot of formats so will be immune to this change. The people it affects the most are small developers, who now have to come up with solutions to problems that Apple was taking care of for them in the past. By licensing certain codecs or allowing users to install their own codecs, Apple was providing an easy, free and legal way for these developers to read these files. They may not have the manpower to write their own parsers or the legal or financial ability to license the codecs in question. ffmpeg is a solution to the technical problems, but legal ones still remain - the code has to be compiled directly on the user's computer in order to be legally compliant, which can be complicated and user-unfriendly.
It may also affect FCPX negatively too. If the cross-platform NLEs are immune to this change, it means that FCPX is the only major NLE that will be affected by it. Apple's advice in the article is essentially "buy a new camera" but will people really shelve the cameras they paid thousands of dollars for to continue using FCPX? Or will they go for the cheaper option of switching to an NLE that can open them? I think the FCPX team are great, but they are sometimes hamstrung by corporate Apple which may not have the same interests as them or may be unable to see the bigger picture of how large changes like this affect Apple's smaller divisions.
Some people have speculated that the reasons for this are because Apple is planning to merge iOS and macOS or create ARM chips for desktop computers. Apple may well do these things in future, but I think this change was made for two more mundane reasons: security and efficiency. AV Foundation is fast because it is efficient so inefficiently-coded third-party codecs may cause performance or battery life problems. Supporting third-party codecs opens up the operating system to maliciously-crafted movie files meant to exploit bugs in third-party codecs that Apple doesn't have the ability to fix themselves. (I would argue that the benefits are still worth it despite these two potential costs.)
You may be wondering what solution we are planning for our products. The majority of our apps don't use QuickTime and the only one that relies on it heavily is QT Edit. For the apps that use QuickTime, we will convert them to have some level of base functionality with the default OS frameworks. When you launch the app for the first time, it will ask if you want to enable additional codecs and if you answer yes, it will install ffmpeg for you (the exact technical way this will work and the exact codecs that will be supported is still being figured out). Advanced users will also have the ability to compile ffmpeg themselves and link the executable to our apps to ensure they can definitely read the files they need to or to have greater control or better support for their hardware. We feel that this is the best we can make of both worlds: trying to make it as user-friendly as possible while still giving power users control.
If this change affects you, here are the feedback links for macOS and FCPX. But Apple shouldn't postpone or cancel the death of QuickTime (it absolutely should die) - the solution is to allow third-party extensibility in the new frameworks. I'm not holding out hope that this will happen, and our ultimate goal is to be cross-platform so we'd probably go down the ffmpeg route regardless, however if enough people complain they may at least continue to support some additional codecs in FCPX.
Apple adds MXF support to QuickTime applications
Yesterday Apple released Pro Video Formats 2.0 (an apparently renamed version of Pro Apps Codecs), which is a set of professional codecs to coincide with the FCPX 10.1.4 update with MXF integration.
The release notes imply this only adds MXF support to FCPX, Motion and Compressor, however it is actually much broader than this. It adds MXF reading to any application on the system that uses the QuickTime APIs.
You can test this by taking an MXF file on your system (such as from an Avid_MediaFiles folder), right-clicking and choosing to open in QuickTime Player 7. This will work in any app that uses the QuickTime 7 APIs and does not require the latest version of OS X.
There are however some limitations:
- You cannot QuickLook MXFs
- You cannot encode to an MXF container
- The files do not open in QuickTime Player X or any app that uses AV Foundation (this includes CinePlay)
- You cannot edit metadata (QT Player forces you to save to a .MOV)
- Some metadata was appearing garbled for me
We would also recommend users do not use MXFs with any of our apps that make changes to movie files. So Edit Detector will work fine but QT Edit will not.
This update will appear for anyone with Final Cut Pro X, Motion 5 or Compressor 4 installed on your system. If you don't have these apps and still want the MXF functionality, I recommend buying Compressor from the App Store for $50.
How to quickly replace an audio track in a QuickTime movie
Sometimes you need to swap out an audio track if there's a problem or you need to provide multiple languages or different soundtracks.
Instead of compressing the video again, QT Edit makes it really easy to do this in just a few steps.
1. Open up the movie file in QT Edit.
2. Select the existing audio track and press the - button to delete it.
3. Click the + button and select Audio. Browse for the new audio, which can be an AIFF, WAV or another movie file.
Important: QT Edit inserts the track at the current playhead position so make sure the playhead is at the beginning. If you make a mistake, manually set the start point of the new track to 00:00:00:00.
4. Double-check sync in the preview window and then hit Save.
5. You will be asked if you want to flatten the movie. This makes the movie self-contained. In most cases you will want to flatten, but if you want to create a reference movie select Don't Flatten.
QT Edit is just one of many useful utilities in the Pro Media Tools suite. To find out more, check out the feature list, watch the overview video, read the user manual or download the 15-day trial.
How to create timecode tracks for H.264 movies in Compressor
I had this question asked to me the other day so I thought I'd write a quick article on it. You may have noticed that Compressor does not create H.264 files with timecode tracks when using the Apple Devices presets.
The reason for this is that MP4 and M4V files do not support timecode. However, the MP4 specification is based on the QuickTime file format so it's easy to create a QuickTime movie (.mov) instead of an MP4 and the file will still be recognized by iOS devices and the Apple TV.
To do this, simply add an Apple Devices preset to a file and then change the file extension to mov in the Encoder tab of the Settings window. Compressor will then create an iOS and Apple TV-compatible H.264 with a timecode track.
How to restore a trimmed QuickTime movie
QuickTime Player 7 can be very useful for quickly trimming a clip or outputting different sections of a movie to separate files. This can be accomplished by setting the in and out points, going to Edit > Trim to Selection and then exporting the file or doing a Save As.
However, if you accidentally hit Save instead of Save As and then close the movie (this happens more often than you'd think), the movie will be permanently trimmed.
Luckily QT Repair in Pro Maintenance Tools can fix this. The repair assumes that the trimmed data still exists in the file and that the movie is capable of being opened in QuickTime Player and played back, albeit at a shorter length.
1. First of all, check that the trimmed data is still in the file. Open the file in QuickTime Player and press Cmd+I to view the Info window. Compare the Data Size section to the size listed by the Finder - if the size on disk is significantly larger, that means the data is still within the file.
(Note that the size listed in the Info window will never exactly match that of the Finder because it does not include extra data like the QuickTime structure and Finder is using a slightly different method to calculate file sizes as of OS X 10.6.)
2. Launch QT Repair and open the movie clip.
3. In the Quick Start dialog, choose the option to restore trimmed edits.
4. QT Repair will now create a copy so that the original file is safe. This can take a while depending on how big the file is. You can disable this in preferences if you already have a backup of the file elsewhere.
Once the backup is complete, processing should be very quick.
5. When QT Repair says it has finished processing, click OK and it will launch the restored movie in QuickTime Player. The movie should now be its full length. Look at the Data Size field in the Info window and scrub the playhead to check that everything has been restored correctly.
As you can see from the screenshot, QT Repair successfully restored the length of the video and the Data Size field is much closer to the value in the Finder now.
Critical problems with QuickTime 7.7 and QuickTime 7.6.6 build 1787
There are widespread reports of problems with the latest version of QuickTime (QuickTime 7.7 on Leopard and QuickTime 7.6.6 build 1787 on Snow Leopard and Lion). This update is installed as part of Security Update 2011-006 for Snow Leopard and OS X 10.7.2 for Lion.
(The security update is the most likely culprit but it may alternatively have been caused by the iTunes 10.5 update that was released at the same time.)
The problems include:
Unable to play certain movies
Several people have been getting the message "An invalid public movie atom was found in the movie" when playing back in QuickTime Player. Final Cut Pro will either crash or display a white screen.
This seems to especially affect HDV files created by Focus Enhancements storage products. Focus has acknowledged the issue here (PDF).
The recommended solution is to downgrade QuickTime or restore an earlier version of your system from a backup or clone.
Matt Geller of Meta Media Creative came up with another way of solving the problem. Replace the following files with the versions from a computer without Security Update 2011-006 installed (or alternatively extract them using Pacifist):
Reboot your computer and the problem should be solved. Remember to make a backup of the files you replace, just in case.
Related forum threads:
Apple Discussions: Invalid public movie atom was found in movie
Apple Discussions: Help!!! Upgrading to iTunes 10.5 has destroyed all video in Final Cut Pro
Apple Discussions: Problems after QuickTime 7.7 update
DV Info: Public atom?
LAFCPUG: Invalid public movie atom was found in movie
QuickTime-based applications crashing at startup
Some people have had problems with Compressor, Cinema Tools, Final Cut Pro and QuickTime Player crashing at startup.
The crash log says:
Dyld Error Message:
Symbol not found: _ValidateAudioChannelLayout
Referenced from: /Library/QuickTime/QuickTimeComponents.component/Contents/MacOS/QuickTimeComponents
Expected in: /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
To fix this, copy /System/Library/QuickTime/QuickTimeComponents.component to ~/Library/QuickTime, overwriting the existing file in that location. Backup the file before you do this.
If you are using Lion, your user Library directory will be hidden by default. Use System Toolkit to make it visible.
Related forum threads:
Apple Discussions: Compressor 4 crashes at startup
Apple Discussions: QuickTime crash on Lion
Apple Discussions: Quicktime 7.6.6 (Pro) quits on launch when in Lion
Because of these issues, I would recommend steering clear of the latest security and iTunes updates on your editing machine, especially if you're using Focus Enhancements products. Anyone with this issue should notify Apple so they understand how widespread the problem is.
QuickTime 7 and X Frequently Asked Questions
I've seen a lot of confusion lately about QuickTime X in Snow Leopard and whether or not the older QuickTime Player 7 is still needed.
Here are my answers to the common questions I've seen.Q: What is QuickTime X?
A: QuickTime X is a stripped-down version of QuickTime that provides highly-optimized hardware-accelerated playback of supported video formats. This optimization comes at the expense of features, as the QuickTime X technologies are primarily designed for playback-only. QuickTime Player X is the default stripped-down media player on Snow Leopard.Q: What is QuickTime 7?
A: QuickTime 7 is an older but more fully-featured technology designed for playback, editing and capturing. The QuickTime 7 technologies ship with OS X. QuickTime Player
7 is an optional install from the Snow Leopard DVD but is identical to the default QuickTime Player in OS X 10.5 Leopard.Q: Do I need to install QuickTime Player 7?
A: It's up to you. I would recommend it because QuickTime Player 7 has a lot of features that are very useful to video professionals. But it's important to remember that it's only a player and even if you don't install it, applications can continue to use QuickTime 7 technologies.Q: Once I have installed QuickTime Player 7, where is it located?
A: It is installed to the Utilities folder inside Applications.Q: How do I get all of my media files to open with QuickTime Player 7 instead of X?
A: Ctrl-click on a movie file in the Finder, then select Get Info
. Under the Open With section, select QuickTime Player 7 and click Change All
.Q: I have a problem with Final Cut Pro. Is it because I haven't installed QuickTime Player 7?
A: No. The QuickTime 7 technologies ship with OS X by default, so installing QuickTime Player 7 makes absolutely no difference to this. It's just a player.Q: Can QuickTime 7 and QuickTime X conflict with one another?
A: No.Q: Does Final Cut Pro make use of the newer QuickTime X acceleration technologies?
A: Unfortunately not.Q: Why is there no QuickTime X Pro?
A: The QuickTime X technologies are aimed at playing back media, not exporting or editing it, so there is no QuickTime X Pro because of technical limitations.Q: Do I need to purchase QuickTime 7 Pro if I have Final Cut Pro?
A: No, Final Cut Pro unlocks Pro functionality within QuickTime for free.Q: Why are the dimensions of my video different in QuickTime Player X vs QuickTime Player 7?
A: QuickTime Player X displays all video with a Clean aperture
setting, regardless of the video's original aperture.
Aperture changes in Compressor 3.5
Have you noticed that movies compressed with Compressor 3.5 have a slightly different frame size when viewed in QuickTime Player?
Compressor 3.5 gives all QuickTime movies a Clean aperture
by default (previous versions of Compressor set the aperture to None). This means that, although the actual frame size of the movie hasn't changed, when playing back, QuickTime scales and crops the movie to account for the non-square pixel aspect ratio of various video formats such as DV.
This has confused a lot of people because videos encoded with Compressor 3.5 are displayed differently to those encoded with Compressor 3.0. Although it is easy enough to change this within QuickTime Player
, it needs to be done on a per-movie basis.
Luckily, Apple included an option in Compressor 3.5.2 (in the Pro Applications 2010-01 update) to switch this off. Just upgrade to Compressor 3.5.2 and deselect Add clean aperture information
in the Encoder tab.
WWDC 2009 Summary
The WWDC Philnote ended a few minutes ago. If I were to sum it up in one sentence, it would be "one step forward, two steps back".
15" MacBook Pro
Apple announced a new 15" MacBook Pro with a built-in battery like its 17" sibling. This results in dramatically improved battery life, performance and reliability at the expense of a battery you cannot replace. To me this is not a problem at all but to some it will be a dealbreaker.
It also has an improved display with a 60% greater color gamut, allowing it to display a much greater range of colors. It's much faster, with up to a 3.06GHz Core 2 Duo CPU and up to 8GB of RAM, with a 500 GB hard disk or 256 GB SSD. It's also cheaper, starting at $1699 for the base model.
However, much like its previous notebook offerings, Apple gives with one hand and takes with the other. In a move that makes me question how in touch Apple is with its pro users, they have replaced the ExpressCard slot with an SD card slot. So that means no more native SxS support - you'll need to fork out for a USB adapter. And expect a drop in transfer speed over USB too.
Removing the ExpressCard slot drastically reduces the flexibility of the laptop. They've replaced a versatile port with one that has few uses (at least for video professionals). It also means we will not be able to connect eSATA devices or monitoring / conversion devices such as the Matrox MXO2 to MacBook Pros, drastically reducing their usefulness. This is a ridiculous decision for Apple to make on a device with "Pro" in the title.
Sure, you can get around this issue by buying a 17" MacBook Pro but I feel an ExpressCard slot should come as standard and not require you to buy a bigger, heavier and more expensive machine just for that feature.
Another aspect that is sure to irk ProApp users is the base model. Although it is good that Apple has reduced its price, it only features onboard graphics, unlike all the others which feature onboard and discrete graphics. This makes it unsuitable for applications like Motion and makes me question how future-proof this machine will be when Snow Leopard with OpenCL comes out. I think a machine with "Pro" in the title should be appropriately-specced to run Apple's professional applications.
13" MacBook Pro
Speaking of which, Apple rebranded the aluminum unibody MacBooks as the 13" MacBook Pro. Although the specifications are similar to the base 15" model and will therefore also result in limited ProApp usage and questionable OpenCL performance in Snow Leopard, I don't have a problem with that because this is something that was never there in the first place - this is not something Apple has taken away from us.
There's also some good news - Apple seems to have paid attention to the protests over the lack of FireWire ports in the previous generation and has now restored a single FireWire 800 port. The models are available up to 2.53 GHz with up to 8 GB RAM, an SD slot and a GeForce 9400M. The high-end 13" model is identical to the base 15" model in specification, which reiterates my opinion that the base 15" model is underpowered.
Like the others, the MacBook Air has received a speed bump. It's also had a huge price cut and there is now only a few hundred dollars difference between the regular hard disk and SSD versions.
Apple demoed a few features but as the main changes were under the hood, these will probably be explored in more detail during the rest of the week.
Worthy of note:
- Snow Leopard takes up around 6 GB less space than Leopard
- "Fewer wait cursors"
- Exposé is built into the dock - click and hold on a Dock icon and the app's windows will zoom out
- Browser plugins are put in a separate process so that they do not crash the browser when they fail (it's unclear whether browsers other than Safari will be able to take advantage of this)
- QuickTime X has been rebuilt from scratch, is hardware accelerated, has built-in ColorSync support and can stream data from any HTTP server (unfortunately more detailed information was not given)
- QuickTime X has a minimal UI - it's very similar to QuickLook. Simple editing and uploading to popular video sharing sites built-in (essentially QuickTime Pro for free).
- All system apps run in 64-bit
- Grand Central allows developers to manage threads to make multi-threading more efficient
The biggest Snow Leopard announcement is that Snow Leopard will cost $129 retail like all the rest but only $29 if you are upgrading from Leopard. Yes, you read that correctly. It comes out in September, a month before Windows 7.
Safari 4 is out today and is available for download for Mac OS X 10.5.7. and Windows
. This was one of my favorite announcements of the day - why? Because it makes Safari 4 the first shipping browser to pass Acid3
and support many new HTML5 web features.
One notable feature is video and audio tags. These allow you to play supported video and audio content directly in the browser without the need for Flash, Silverlight or other technologies. Plugins are always slower and more resource-hungry than native support for a particular feature, and open standards are always preferable. See this page
for an HTML5 video that plays directly in your browser without Flash.
These changes have also made it across to MobileSafari, and it means Flash on the iPhone is even less likely than before (not a bad thing).
It is a new iPhone but the name is very similar to the previous iPhone 3G, probably because no external differences were made to the phone or perhaps because it is still on the 3G network. It is considerably faster, features a 3MP digital camera, can record video, has a magnetometer (compass), 7.2Mbps HSDPA (faster 3G connection), voice operation, available in 16 and 32 GB on June 19th. The iPhone 3G has been reduced today to $99 and will continue to be sold once the new phone is out.
Tethering is not supported by AT&T and MMS will only work on the AT&T network at the end of summer (other networks do not have this handicap). Even Apple seemed fed up with AT&T's general incompetence, making frequent jokes at AT&T's expense.
One other notable feature is called Find My iPhone. Mobile Me users can log in and locate their lost iPhone on a map, send messages to it or make it emit a sound so that it can be located (even if it is on silent). If the phone has been stolen, you can remotely wipe your personal data from it. This is a pretty nice feature.
Final Cut Studio 3
This was missing in action, leading us to wonder when it will be released. Will it be released in conjunction with Snow Leopard - who knows? All I know is that Avid and Adobe CS4 have edged ahead and are looking mighty tempting, and Nuke is looking like a great replacement for Shake. When it comes to making your living, you can't wait around forever for software that you don't know anything about in terms of new features and may not even end up being released. You have to buy what you need when you need it - Apple needs to realize this.
So in conclusion, there's some great stuff there for consumers but professional users appear to have been sidelined once again.
As I'm sure you are already aware, QuickTime 7.6 was released yesterday. Unlike a lot of recent releases that were provided solely for compatibility with new iTunes versions, this one has a lot of things that can benefit pro users.
First, let's look at the change list
* Improves single-pass H.264 encoding quality
* Increases the playback reliability of Motion JPEG mediaAudio:
* Improves AAC encoding fidelity
* Audio tracks from MPEG video files now export consistently
Almost all of the main features improve exporting, and so it only benefits Pro App users and people who purchased QuickTime Pro. Furthermore, they all improve quality and performance in one way or another.
But Apple never details every single change made in detail. Discrete Cosine discovered
that QT 7.6 can now demux MPEG-1 audio, meaning you can convert an MPEG-1 file to another format and the resulting file will have both video and audio.
Meanwhile, on ProLost, Stu Maschwitz discovered
that QT 7.6 fixes clipping issues on footage imported from the Canon 5D MK II. However, as he notes, this could drastically change the look of an existing project if you update in the middle of it.
So in all, this looks like a pretty good update for Pro App users. However, the update has only been out for a day which doesn't leave much scope for discovering potential problems. If you look at the ProLost link above, some commenters are already complaining about slow playback performance with some codecs.
The Golden Rules (TM) of Updating
As always, the Golden Rules (TM) apply:
1. Never update in the middle of a project.
2. Only update if this update fixes a problem you have been experiencing (i.e. don't install it if you don't use these codecs).
3. If you do decide to update, give it a couple of weeks for any significant issues to surface that would affect your workflow.
4. Make a clone or backup of your system drive before you install.
Here are the download links:QuickTime 7.6 for LeopardQuickTime 7.6 for TigerImportant Update!
MacFixIt is reporting
many problems with this update. It would seem Apple has made significant changes under the hood that are causing compatibility issues with everything from the Finder to third party codecs - even to video games. The MacFixIt page lists several workarounds.
My advice is to avoid this like the plague until Apple releases 7.6.1 or third party developers update their software to be compatible.