AppleScript woes with Compressor 3.5.3
So I'm running Compressor 3.5.3 on Mac OS X 10.9.1 (a system that has FCPX + Compressor 4 + Motion 5 installed, in addition to FCS3). I'm trying to revise my encoding workflow a bit. Currently I'm using x264encoder in Compressor to quickly make high quality H.264 files that wouldn't be possible with Apple's lower-quality H.264 encoder. It works well, but of course x264encoder is a QuickTime component, which means it can only encode files that wind up living in an MOV container. Most of my H.264 encodes I need to be MP4s, and until now I've been manually re-muxing them. This is a manual step that's annoying, to say the least—especially when I'm trying to encode a ton of different sources and/or outputs at once.
So, looking to improve on this situation, I looked into calling SublerCLI (the command-line version of the Subler MP4 muxing utility) via AppleScript automatically at the end of my encoding. After some wrestling, I finally got this working perfectly—an AppleScript "application" bundle that has the SublerCLI executable embedded in it, which gets called via "do shell script", runs, and then deletes the .mov file automatically, leaving only the MP4 file I want (it even works to preserve anamorphic files, which is a nice side-benefit!).
Unfortunately, as soon as I copy these presets to my other editors' Macs (which are running 10.8.5), the workflow stops working. I don't get any errors thrown, I just wind up with a .mov file and no MP4. Weirdly, dragging said MOV file to the AppleScript "application" works fine, as does executing the exact command at their local Terminal that the AppleScript calls. And yet, no dice when called from Compressor.
So all I can say is, WTF? Why does this happen? What is the missing link here? I've already confirmed that there are no permission issues (the Application is owned by that local user once it's unzipped or copied from a DMG, and it's read-accessible to the system, just like it is on my machine). The Compressor preset is referencing the script in the proper location (the local /Applications folder). Gatekeeper is set to allow apps from "Anywhere" to run without interference. All I can think is that there's some other vague 10.8.5 to 10.9 difference that's causing this, but even re-saving the AppleScript locally on the 10.8.5 machines results in no change. And one would think that a script that works fine when files are dragged to it would continue to work fine when called by Compressor.
Anyone else have AppleScript-powered Compressor workflows similar to this that are working fine, or am I out in rarely-traveled waters here?
Just a blind though. The 10.9.1 system has both Compressors whereas 10.8.5 can't (shouldn't) have Compressor 4.1 on it. Might it be you're actually calling Compressor 4.1 to do the job somewhere in there.
BTW in Comrpressor 4.1 supposedly Apple's new High Profile CABAC entropy setting (only does single pass) comes close (only close though) to x264 quality.
I thought that might have something to do with it, but Compressor 4.1 jobs only show up in Share Monitor, whereas Compressor 3.5.3 jobs only show up in Batch Monitor, and the two never seem to cross-pollinate. So from that perspective, anyway, it seems as though the two pathways are totally separate.
I also tried importing the Compressor 3.5.3 settings into Compressor 4.1 on my system, but it eliminates the "Call AppleScript" functionality on a per-setting basis, so that got lost entirely. It instead relies on Automator workflows (or "Open with Applications") via Destinations, which can only be applied at the source file level, not the setting level. Plus their "Open With Application" Destination (when you make a custom one) always reverts to "Default Application" from whatever I set every time I quit and restart Compressor 4.1. So clearly it has its own set of issues.
I'm making a backup of one of the other edit Macs' boot volumes right now and I'm going to try upgrading to Mavericks to see if that makes any difference. I did notice that the AppleScript Editor and AppleScript versions on those machines were slightly lower than on my Mavericks machine, so maybe that's the ultimate problem (even though all the AppleScript code I "borrowed" from other people's examples on the Internet was clearly created before Mavericks).
In the interest of information: sure enough, upgrading that machine to Mavericks worked. I don't know how or why a script that works when one drops a file directly on it, even on an older OS, doesn't work when it's called by Compressor, but FOR WHATEVER REASON…
So, to Mavericks we go!
Hmm, something about AppleScript changed between Mt. Lion and Mavericks?
I wonder what would happen if you created the exact same script in Mt. Lion.
Just pondering out loud since that's not a bunch of tests you'd want to pursue my guess.