Archive for the ‘software’ Category

I Want Pro Tools for Video

July 17, 2009

In almost every respect, working with digital video is less mature and less streamlined than working with digital audio. The user interfaces of editing software are no exception.

I’ve spent much of the past decade editing digital audio, and since 2002 my favorite program for that is Pro Tools by the Digidesign division of Avid.

In the past year, I’ve gotten more serious about video editing. After dabbling with Sony Vegas, Windows Movie Maker, and iMovie HD (among others) for a couple of years, I now mainly use Apple Final Cut Express.

I find working in video editing programs unnecessarily primitive and cumbersome compared to Pro Tools. Taking Final Cut Express/Pro as a typical and popular example that I’m familiar with, here is my list of deficiencies compared to the audio editing programs I’m used to. It’s in no particular order.

  1. I can’t name or add comments to tracks. I’m stuck with “V1” and “A1” to identify the tracks.
  2. No way to change the order of tracks. It’s unbelievable that this isn’t supported. I have to jump through hoops creating temporary tracks and selecting and moving the contents of other tracks in order to accomplish the effect of, say, inserting a track between two others or moving one track above another one.
  3. No effect inserts on tracks. I can’t put an effect on a whole track; I have to add it to each clip on the track. If I change a parameter, I have to change it in every similar clip instead of just once.
  4. Files for each project are scattered in various directories, making it more difficult to archive or copy a project. Pro Tools encourages keeping all the files for a project under one folder. Final Cut discourages it by making the location of folders like Render Files a global setting instead of per-project. That’s one of the things that drove me away from Cakewalk for audio years ago. It’s too easy to wind up with files for a project getting written to the wrong hard drive and not know it until you reopen it and discover things are missing.
  5. No smart recalculating. Spreadsheets do it, but Final Cut doesn’t. If I add a keyframe anywhere in a clip (such as to do a fade-in or fade-out), the whole clip is invalidated and needs to be re-rendered, even if only a tiny part of it between two keyframes is obviously the only part affected, Final Cut makes me waste a lot of time re-rendering unchanged footage. My partial workaround for this flaw is to use the razor blade tool to split a clip into two near each area where I’m going to add keyframes. Which creates its own problems if I change any effects or other settings on the region–now I have to remember to change them in several regions because of the split.
  6. Audio waveform recalculation isn’t cached. Toggle waveform display with Command-Option-w (which isn’t listed as a keyboard shortcut on the Sequence>Settings menu, another bug), and Final Cut recalculates all the audio waveforms from scratch every time. It’s so slow at this that it’s often not practical to work with waveform display turned on.
  7. No easy way to temporarily disable a clip in a timeline. In Pro Tools, I can press Command-m to mute a region without changing it, to experiment with different mixes without losing editing work. In Final Cut, I have to create a copy of the whole sequence to experiment on.
  8. No master audio or aux or VCA tracks.
  9. Precise audio sync is difficult. Apple documents a workaround to do subframe audio slipping that involves shift-dragging and setting an in or out point, but it’s clumsy and usually doesn’t work when I try it. I normally resort to exporting the existing audio track into a wave file, importing it into Pro Tools, and aligning additional audio in Pro Tools and re-exporting it and importing that into Final Cut. Despite all the extra steps, it’s easier and more reliable than trying to sync audio in Final Cut.
  10. Inability to move markers once they’re created. If because of an edit or a mistake, I find that a marker isn’t where I want it to be on the timeline, I have to delete it and create a new one.

I don’t have much hope that any of these flaws will ever be fixed. I wish there were a video editing program with as good an interface as Pro Tools! (Avid sure doesn’t make one–their video editing software is even more cumbersome than Apple’s, from my experience playing around with it.)

MacOS Screen Sharing over the Internet using SSH

May 11, 2009

You don’t need to subscribe to iCloud (MobileMe) to access a Mac desktop remotely over the Internet from another Mac (“Back to My Mac”). You just need to do some setup. This description assumes (for simplicity) that you’re using Leopard (MacOS 10.5) or later on both Macs. If you’re still on Tiger (10.4) you’ll need a third-party VNC client like Chicken of the VNC; I haven’t tested that.

It’s also possible to access a Mac desktop from Windows or other operating systems using a VNC client such as UltraVNC. That is described here as well.

This setup runs the Apple Screen Sharing through an encrypted tunnel using SSH, for security.

  1. One-time setup on the Mac you’ll be connecting to, which we will call the “remote Mac”. In System Preferences>Sharing, turn on Remote Login (aka SSH). In System Preferences>Sharing, turn on Screen Sharing. In Computer Settings, select “VNC viewers may control screen with password:”. Choose a password.
  2. One-time setup on the Internet router/firewall for the network your remote Mac is on. Forward TCP port 22 (SSH) from the Internet to your remote Mac’s internal/private IP address. You might find this option under something like “NAT Rules” on your firewall’s setup screens, which are web pages for most routers. If you haven’t assigned the remote Mac a static IP address, you might want to. Otherwise, find out the IP address that your router assigned it by looking in System Preferences>Network.
  3. One-time setup of a host name for your remote Mac’s Internet connection. It’s convenient to give your your firewall’s external IP address a host name, especially if its IP address is dynamically assigned by DHCP and subject to change without notice. A dynamic DNS service like DynDNS.com allows you to create an account and choose a host name for your Internet connection. Some router/firewalls have the ability to keep a DynDNS entry updated.
  4. One-time setup on your local Mac that you’ll be using to connect to the remote Mac. (Not applicable for a Windows or other client OS.) Allow Screen Sharing to connect to 127.0.0.1 (aka localhost); in Terminal run (all on one line):

    sudo defaults write com.apple.ScreenSharing skipLocalAddressCheck -boolean YES

    and type your password when prompted.
  5. To prepare to access your remote Mac’s desktop over the Internet from the local Mac, in Terminal on your local Mac run (all on one line):

    ssh -N -L 6900:127.0.0.1:5900  your_login_short_name@your.dyndns.host.name

    If it asks if you want to add or trust the host key or something like that, respond yes. That should only happen once. When prompted, type the password for your account on the remote Mac.

    your_login_short_name is the name of your home folder on the remote Mac; it will be lowercase with no spaces. The -L option creates a local tunnel which forwards TCP port 5900 (the standard VNC server port) on the remote Mac to port 6900 on your local Mac. The -N option to ssh prevents it from opening a command-line connection; omit it if you want one in addition to the port forwarding.

  6. For a Windows client, you can use the plink program from the PuTTY SSH package:

    "C:\Program Files\PuTTY\plink.exe" -N -L 6900:127.0.0.1:5900 your_login_short_name@your.dyndns.host.name

    plink.exe might be in “C:\Program Files (x86)” or another folder on your computer.

    Alternately, you can use the graphical PuTTY program and in Connection>SSH>Tunnels set

    Source port 6900
    Destination 127.0.0.1:5900

    Then click Add.

  7. Run the Screen Sharing client on your local Mac; in Finder:
    Go>Connect to Server (or Command-k)
    In the Server Address box, type:

    vnc://127.0.0.1:6900

    A login box will pop up; enter your_login_short_name and your password for the remote Mac.
    You can click the + to save this address as a favorite for the future.

    Your remote Mac’s desktop should appear!

    In the Screen Sharing preferences, you might want to try the option “Show the screen at full quality (more detailed)” if needed and you have fast Internet connections at both ends.

  8. For a Windows client, UltraVNC Viewer is known to work. In the “VNC Server” box, enter “127.0.0.1::6900” (yes, two colons), then click Connect. Then enter the VNC password you set earlier on the remote Mac. You will see the Mac’s lock screen; type your account password to unlock it.
  9. When you’re done with your screen sharing session, quit the Screen Sharing app on your local Mac and press Ctrl-c in the Terminal window to disconnect the ssh tunnel.

MacOS X, with Redundant Slow File Databases!

February 11, 2009

I have a couple of PowerBook G4 laptops that are now running Leopard. I keep them closed, in sleep mode, most of the time, often for days at a time, as I’m doing most of my work on faster Macs now. When I do open them up to do something, I often find that they are slowed to a crawl by a “find” process madly searching the disk and using most of the CPU power for the next hour or so. Just when I want to use the computer, it’s too busy to be usable.

What’s happening? I discovered that Leopard updates the “locate” database in its weekly cron script. For a computer that’s on most of the time, that generally happens when it’s idle and I’m not around to care if the computer is slow. If it misses that time because the computer wasn’t on, it runs the job as soon as it wakes up. Right when I want to use it.

So, in addition to Spotlight hogging up the computer, Leopard builds a redundant, Unix-style file database, too. Yes, I was involved in writing that stuff for GNU/Linux, but on Macs I almost never want to run “locate”. You’d think Apple would rewrite it as a Spotlight front-end.

On Mac laptops (excuse me, notebooks), I now edit /etc/defaults/periodic.conf and set

weekly_locate_enable=”NO”

On the slower ones, I also turn Spotlight off completely (I think), by running (with sudo) the commands I found in this tip:

launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

I use EasyFind if I really need to find a file. It produces more usable results than Spotlight does, anyway.

Now my laptops have enough spare CPU time for me to use them again. Thanks, Leopard.


Create your own website, free on WordPress.com.Create your own website.
Start free