2012-02-01

SxS cards crash OS X 10.6.8

The SxS card driver from Sony is not compatible with the latest (and last?) Snow Leopard update 10.6.8, at least on some Mac Book Pro models. When inserting an SxS card into the Express card slot, the system crashes with a "kernel panic".

Apparently, Sony has no intention to fix the problem. This is what they say on their download page:

Attention (July 2011): Users of MacBook PRO* with Intel CoreDuo Processor (*Early 2006 Model: MA464/MA092)
Sony has found that a message will appear to say you need to restart your CoreDuo-based MacBook PRO when you update the OS to Mac OS X 10.6.8 (released on June 23, 2011) and insert an SxS Memory Card into its ExpressCard slot. We do not recommend that you update your OS to 10.6.8. If you have already updated your OS and could not switch back to the previous version (such as 10.6.7), please use your SxS card in an XDCAM or XDCAM EX video recording product, connecting it to your Mac via the USB cable. You may also be able to use your card with an 'SxS Memory Card Reader/Writer SBAC-US10,' which is sold separately.

If you have this problem, the only solution seems to be a re-install of the OS. Then, a system update to 10.6.7, and finally disabling all further automatic updates.

If you are thinking of avoiding a re-install and doing a downgrade from 10.6.8 to 10.6.7 instead, forget it. I tried, and failed miserably, ending up with an unbootable machine (kernel panic straight away at startup). But if you do know of another solution than a re-install, please leave a comment.

Labels: , ,

2011-07-05

Adding subtitles to a DCP

There are several extremely expensive tools to do this sort of stuff, and there is an open source one (OpenDCP) which could certainly also do it. But it can also be done "by hand" quite easily.

The subtitle XML file can be exported from Belle-Nuit Subtitler (it is called "DLP Cinema" in the export menu). Since it is just an xml text file, it can also be produced in any text editor, or converted from another format with a few regular expressions. Examples of the format are easy to find on the net.

I had a non-encrypted DCP of a trailer, and the subtitles xml exported from Belle-Nuit. After many tries I finally ended up with a DCP folder which EasyDCP Player+ plays without complaining. (Well, the demo version plays the 15 first seconds in psychedelic XYZ colors. If you have a few thousand Euros lying around you can get the full version).

  • Open the subtitle.xml file, and copy the UUID from the SubtitleID tag near the top.
  • If needed, also adjust the MovieTitle, ReelNumber and Language.
  • Take note of the exact size of the file in bytes.
  • Edit the CPL file (the .xml file which starts with "<CompositionPlaylist>") to add the subtitle section. It goes into the AssetList, next to MainPicture and MainSound. Use the UUID you copied from the subtitle.xml, and set the right durations and language. In the end, it looks similar to this:
  • <MainSubtitle>
       <Id>urn:uuid:CBEB439E-AA36-4B87-975D-2776A268A9AF</Id>
       <EditRate>24 1</EditRate>
       <IntrinsicDuration>3167</IntrinsicDuration>
       <EntryPoint>0</EntryPoint>
       <Duration>2927</Duration>
       <Language>de</Language>
     </MainSubtitle>
    
  • Edit the PKL file (the file named "....PKL.xml" which starts with "<PackingList>"). The subtitle Asset section looks like this:
    <Asset>
      <Id>urn:uuid:CBEB439E-AA36-4B87-975D-2776A268A9AF</Id>
      <Hash>7jzdoZCDXGet6tPWSv2htztPlw4=</Hash>
      <Size>12161</Size>
      <Type>text/xml;asdcpKind=Subtitle</Type>
      <OriginalFileName>melancholia-trailer-dcp-stfr.xml</OriginalFileName>
    </Asset>
    The hash value is a SHA1 hash of the file, Base64 encoded. It can be produced with this command in Linux or Mac:
    openssl sha1 -binary "Your_Subtitle_File.xml" | openssl base64 -e
    Maybe you can also just leave the hash out. It appears to work in EasyDCP.


  • If your PKL is signed, remove all the signature and certificates stuff.
    (If someone knows how it could be re-signed with a new certificate, please let us know; xmlsign can probably produce the right output if we know which options to use; I didn't investigate this)
  • Finally, edit the ASSETMAP file to add the subtitle file and correct the sizes of the CPL and PKL files.

Open questions:

  • Do Cinema servers accept unsigned DCPs?
  • How compatible is the result with the various server models and versions? There must be a reason why the subtitles are often burned in instead of being in a separate XML.

Labels: , ,

2011-02-16

TC et FCP suite

Le petit article précédent examinait des possibilités de synchroniser dans Final Cut Pro du son et des images avec timecode, en particulier dans le cas où le TC a été enregistré sous forme de son sur une piste audio de la vidéo. Avid fait ça depuis le siècle dernier, mais FCP nécessite des programmes supplémentaires.

Voilà un petit rappel de la procédure à suivre pour un film particulier, mais qui s'adapte certainement aussi à d'autres films. C'est un long chemin plein de détours, mais quand même plus rapide que de synchroniser à la main.

1. Préparation

Sur le disque dur:

  • Grouper les clips quicktime vidéo dans des dossiers par jour de tournage.
  • De même, grouper les fichiers audio dans des dossiers par jour de tournage.

2. Dans FCPauxTC

Vérifier les réglages (par exemple: PAL, AuxTC is on: Check it on each file)
(Les options dans le menu "Error correction" ne faisaient pas de différence pour nous, mais cela dépend peut-être de la qualité d'enregistrement du TC)

Pour chaque jour de tournage:

  • File -> Open et choisir le 1er fichier video du dossier
  • Cliquer le bouton "Batch", ce qui importe aussi les autres fichiers du même dossier
    Quand il a terminé, il affiche dans le bas de la fenêtre "Info: scan done"
  • Exporter le résultat avec File -> Export All clips ... (on a plusieurs possibilités)

(Voir aussi le manuel PDF livré avec FCPauxTC, qui explique bien les choses.)

3. Dans Final Cut:

  • Importer les fichiers audio (il faut FCP v. 6 au moins pour qu'il reconnaisse le TC des fichiers BWF)
  • Importer les nouveaux clips vidéo traités par FCPauxTC
    (importer dans un nouveau projet, pour éviter des risques de confusion de FCP quand on réimporte les mêmes clips avec des TC différents)
  • Regrouper les sons et les images de chaque jour de tournage ensemble dans des bins par jour.
  • Exporter ces bins quotidiens audio+video en .xml

4. Dans Sync-N-Link

Avec chacun de ces fichiers .xml quotidiens exportés précédemment:

  • Ouvrir le .xml
  • Vérifier les options
    (Une option importante est le choix entre "Trim to full duration of video" ou "No Trim". En général, "No Trim" convient mieux aux tournages de fiction, et Trim to video convient mieux pour les documentaires, où il y a souvent d'énormes têtes et queues de son par rapport à l'image)
  • Et exporter la xml décrivant les merged clips.

5. De retour dans FCP

  • Importer les nouveaux XML produits par Sync-N-Link.
  • Au besoin, ajuster la synchro (il y a souvent 1 ou 2 images de décalage). Cela peut être très rapide avec l'affichage des waveforms et un raccourci clavier pour décaler la piste sélectionnée

Faut-il / peut-on ensuite "re-merger" les clips avec la synchro corrigée?

A vérifier: si on a des clips "trimmed to length of video", est-il facile de récupérer les queues de son quand on en a besoin? Comment fait-on?

2011-02-11

Timecode et Final Cut

Audio timecode

Certaines caméras comme les Sony Z1 et EX1 n'ont pas d'entrée pour un générateur de time code externe. On peut alors enregistrer le son d'un générateur de TC sur une piste audio. Mais contrairement à Avid, Final Cut Pro ne peut pas décoder ce son pour obtenir le time code. Pour cela, il faut des programmes externes. J'en connais 2:

  • FCP auxTC reader de VideoToolShed. Il coûte $ 250, et il propose une version démo qui permet de le tester avec quelques limitations.
  • et TimeTools de Gallery. Celui-là coûte $ 900, et ne propose pas de version démo, ni même de mode d'emploi en ligne qui permettrait de se faire une idée. Alors on se demande pourquoi il coûte presque 4 fois le prix du précédent.
Lors d'un essai rapide des deux sur une journée de tournage, FCP auxTC reader s'en est mieux sorti. Il n'a pas reconnu le TC sur 3 clips, alors que TimeTools ne l'a pas reconnu sur une dizaine de clips. 

Merged clips

Une fois que les vidéos ont le bon time code, encore faut-il les synchroniser avec le son externe correspondant pour en faire des "merged clips". Là aussi, Avid permet de le faire automatiquement sur un bin entier, mais pas FCP. Il faut sélectionner l'image et le son correspondant, puis les "merge" individuellement.

Pour éviter ce travail long et fastidieux, il y a Sync-N-Link for FCP. Malheureusement, il coûte $ 500.

Remarques

  • FCPauxTC n'accepte que des fichiers dont le nom a l'extension ".mov". Il semble possible de faire des captures dans FCP qui créent des fichiers sans extension. Dans ce cas, il faut d'abord tous les renommer en leur ajoutant ".mov". Cela peut se faire facilement par une commande dans Terminal. (Ceux qui ne sont pas à l'aise dans Terminal peuvent installer un programme graphique payant comme comme par exemple Pathfinder.)
  • FCPauxTC permet aussi de faire des clips avec le son, mais il ne fait pas des "merged clips" associant image et son. Au lieu de ça, il ajoute le son dans le quicktime image. Il peut n'ajouter que le lien vers le son ("by reference" au lieu de "self-contained"), mais en général on préfère quand même des "merged clips" standard.
  • Pour les tournages sans TC, il y a aussi PluralEyes de Singular Software, qui ne coûte que $ 150. Il fonctionne en analysant le son, et en reconnaissant des sons identiques. Il paraît que ça fonctionne bien quand le son externe a été enregistré sur la caméra (par une liaison HF par exemple). Mais si le son caméra est celui du micro caméra, il serait trop différent du son externe pour que PluralEyes puisse le reconnaître. (Je n'ai pas pu l'essayer, parce que quelqu'un l'avait déjà essayé sur la machine que j'utilisais, et je ne pouvais pas ré-installer une version test une 2e fois.) 
Voir l'article suivant pour un rappel des procédures pratiques à suivre avec FCPauxTC et Sync-N-Link.

Labels: , , , , , , ,

2010-11-18

Importing a DVD into Final Cut Pro

(You probably need the MPEG-2 Playback Component for Quicktime, which is available for around $20 here.)

If you import VOB files directly into FCP, they seem to have no sound.

MPEG Streamclip will let you save them as .m2v video files and .aiff audio files without re-encoding them.

(these tests were done on Mac OS X 10.6.4 with FCP 7.0.3 and MPEG Streamclip 1.9.3b2.)

  • Open the .vob file in MPEG Streamclip
  • If you want, set in and out points (by pressing I and O ) to export only that part
  • In the File menu, select Demux -> Demux to M2V and AIFF...
  • Import the files into FCP, where you can merge back the video and audio.

If you put such a DVD video file on an HD sequence, it is automatically scaled to your sequence settings. You can change this scaling in the clip's Motion tab.

When I did all this, weird things happened, which don't really matter but which I don't understand. If you do, leave a comment. "Demux" (de-multiplex) means separating the interleaved video, audio and other tracks to write them as separate files. So in the example above, the video goes to the .m2v file, and the audio to the .aiff file. And this is how MediaInfo sees the files: only video in one, and only audio in the other. However, when I imported them into FCP, the .m2v file appeared to somehow magically have audio in it... sometimes. And sometimes not.

So you may be able to throw away the .aiff file and skip the merge step, depending on the positions of the stars or on what the LHC is smashing at the other end of the lake...

Labels: , , , ,

XDCAM EX software

If all you want is to quickly download the software you need to work with XDCAM EX files, go to Sony Canada: http://support.sonybiz.ca/esupport/ or skip to the updates at the end of this post. The rest below is just a rant I had to let out.

When you need to download software to deal with XDCAM EX files, the first Google results lead to completely obnoxious Sony pages where you have to register with a lot of personal info, and agree to stuff like "The personal data provided [...] may be used by Sony Europe (Belgium) N.V. and other Sony Group Companies [...] to advise of, offer and supply goods and services, for other marketing purposes, and for additional purposes [etc.]".

In short, after they have sold you a quite expensive camera, they will only let you use it if you agree that they will be able to spam you forever. Then there is yet another license agreement to check before you are allowed to get the software.

The XDCAM EX cameras are really nice, but that Sony company is full of shit!

Except, it seems, Sony Canada, which appear to be the only Sony subsidiary to respect it's customers and be helpful. They have a very simple, directly accessible download page with all the software you need: http://support.sonybiz.ca/esupport/.

(That is in November 2010. Let's hope they keep this perfect download page as it is.)

Update May 2011: The download page for XDCAM EX is now http://support.sonybiz.ca/esupport/Navigation.do?category=XDCAM+EX

Update Nov. 2011: The situation seems to have improved on the pro.sony.com  site. The software is listed here. And now this is the easiest (copy/paste) way for Mac until they change their site or you need a different version. In Terminal:

  • XDCAM Transfer for Apple Final Cut Pro
    curl -o PDZK-P1_XDCAM_Transfer_v2_13_0.zip http://pro.sony.com/bbsccms/assets/files/micro/xdcam/downloads/apps/PDZK-P1_XDCAM_Transfer_v2_13_0.zip
  • XDCAM Browser Software
    curl -o XDCAM_Browser_1_3_Win_Mac.zip http://pro.sony.com/bbsccms/assets/files/micro/xdcam/downloads/apps/XDCAM_Browser_1_3_Win_Mac.zip
    curl -o XDCAM_Browser_200_Mac.zip http://pro.sony.com/bbsccms/assets/files/micro/xdcam/downloads/XDCAM_Browser_200_Mac.zip
    or
    curl -o XDCAM_Browser_200_Win.zip http://pro.sony.com/bbsccms/assets/files/micro/xdcam/downloads/XDCAM_Browser_200_Win.zip
  • SxS Card and iLink FAM Device Drivers
    curl -o SxS_UDF_v1_01_and_Device_Drivers_v1_xx.zip http://pro.sony.com/bbsccms/assets/files/micro/xdcam/downloads/apps/SxS_UDF_v1_01_and_Device_Drivers_v1_xx.zip

Labels: , , ,

2010-11-09

Why I hate Shotput Pro

Most people I know seem to be fond of Shotput Pro for offloading XDCAM EX cards to hard disks.

I understand why they like it, but I don't. So I'm still looking for a better solution to recommend to people.

For myself, I use custom shell scripts with rsync, but they need to be configured for each project, which is sometimes too much of a hassle, and certainly not something I can recommend to people who have never heard about Terminal.

Shotput Pro isn't all that bad, and is definitely much better than using the Mac Finder for such an important task. But several details drive me mad, especially because they seem so obvious, and should be easy to fix. Here is my list of ...

...Things I Hate About Shotput Pro

(in no particular order)

  • It doesn't preserve folder dates and times, so you don't see the shooting date straight away in the Finder listings. Since every shot is in it's own folder, the shot list in the Finder is a mess of meaningless numbers used in the folder names, and just as meaningless dates and times.
  • It doesn't find the SxS card automatically, even though it would be very easy (it's a FAT32 partition which is the only one on that disk, and which contains a folder named "BPAV" in it's root; it's also usually labelled "Untitled" by the Mac).
  • When you want to offload cards into folders named by date, which is what I always want, it's automatic naming is catastrophic: it somehow uses your system settings for the date format, which in most cases contains slashes ("31/12/2010")! Of course, slashes cannot be used in names, on any current computer, so the Finder will helpfully replace them with colons behind your back, but still show you slashes. So you end up with folders which have different names depending on whether you look at them from the Finder or from another program (like Terminal) or on another system.
    Then Shotput adds the time and timezone, separated by spaces. Not as bad as using slashes, but still very annoying.
    And the " +" or " -" before the time zone isn't a great idea either.
  • It cannot continue an interrupted transfer. If you have offloaded most of a card but then had to add a few shots to it, or if you just had to suddenly interrupt the transfer to move to another location (which tends to happen when filming), you cannot finish the transfer at a later time. When you restart the offload, it will actually restart from scratch. It will have noticed that you already have a folder with the same name, and instead of a prompt similar to "You already have a folder named '2010-12-31_14h23'. Would you like to update it?", it will just start over into a new folder after appending a "-2" to your folder name.
    A 32GB card takes a lot of time to be copied twice, and with Shotput, you will often be stuck watching it re-copying files long after wrap time.
  • Requires activation over an Internet connection. Well that may look like it's OK, since you do it only once, during preparation. But if you forget it, and rush on a shoot in a remote place without Internet, haviung only your new computer and your fresh Shotput Pro download, you won't be able to use it.
  • A much worse scenario is if your computer dies during the shoot. Before you can activate Shotput on your replacement machine, you first need to deactivate it on your old machine over the Internet. That will be hard if the old machine doesn't boot. I'm sure such a situation can be solved with an email to the company, but that will also require an Internet connection, and not be done immediately on a Sunday at 2AM.

  Update: The way I do the transfers (with rsync) is extremely reliable, preserves dates and times, allows restarting interrupted or incomplete transfers, and doesn't require any extra tools (rsync is part of the base install on OS X, and most Linuxes, and is available for Windows).

However, until I find the time to package it all into a nice and fool-proof script, it is not suitable for people who are scared by Terminal. Basically, the rsync command is:

sudo rsync -rt -vi --progress --exclude=".*" "$source" "$dest"

Before that, I had source and dest initialized by a script, which ends with something like

source=/Volumes/Untitled/; dest=/Volumes/Project_1A/2011-12-14_09h18/


Labels: , , , , ,