2013-11-04

Which size for DCP subtitles?

A question about the "best" size of DCP subtitles piqued my curiosity. Since I have access to a sample of DCP folders from a distributor, it was easy to do some statistics and find out what others felt was the right size for subtitles.

Executive summary: the answer is 42, which seems perfectly appropriate since it also happens to be "the answer to life, the universe and everything". (If you didn't know, you may be interested to see that Google's calculator does, and gives you the correct answer when asked this essential question).

 

All the DCP's I had access to used the CineCanvas (or Interop) standard for subtitles, which is described in the "Subtitle Specification for DLP Cinema" published by Texas Instruments. The document doesn't give an "official" size recommendation for subtitles, but it does provide a default size if the file doesn't specify it. The default is 42.

It also explains what the number 42 is supposed to mean (in the context of subtitles, not in that other more profound meaning):

"Size is given in points. Fonts are rendered as if the screen height is 11 inches, so a 72pt font would be 1/11 screen height.
Default Size = 42"

And that also seems to be the preferred size for the 124 feature length movies in my sample:


Font Size Number of DCPs
36 1
37 2
38 7
39 21
40 10
41 3
42 68
44 6
45 3
46 1
47 1
48 1
Total 124

 

That disk also had 40 trailers with subtitles. For these, the preferred font size seems to be smaller at 39:

Font Size Number of DCPs
39 31
40 1
41 1
42 6
44 1
Total 40
 

Points and pixels

There are 72 points per inch, so the screen height is 11 * 72 = 792 points.
In 2K, the DCP sizes are:
  • 2048 x 1080 pixels for full frame
  • 1998 x 1080 pixels for 1.85
  • 2048 x  858 pixels for Cinemascope (2.39)
(In 4K, the sizes would be 4096x2160, 3996x2160 and 4096x1716 pixels)
So in full or 1.85:
  • 792 points = 1080 pixels
  • 1 point = 1.3636... pixels
  • 1 pixel = 0.7333... points
  • 42 points = 57.3 pixels
In Belle-Nuit Subtitler, the subtitle size appears to be set in pixels, which it then converts to points when exporting to "DLP Cinema".
I'm not sure about Cinemascope. Would 42 points be rendered as 45.5 pixels (42x858/792) ? Or still as 57 pixels ? Or would it depend on the projector ?
 

Labels: , , ,

2013-10-15

Sony F55 quirks

After working 6 weeks with a Sony F55 on a feature shoot, here are a few notes focusing on some idiosyncrasies of this quite nice camera.

Basically, the camera feels like a mini-version of the Alexa. I don't know how much cheaper it is, but it is definitely a lot lighter. With a Fujinon 19-90 zoom, this is a very nice solution for shoots where an Alexa with an Allura zoom would be much too cumbersome (or too expensive?).

We used it to shoot XAVC S-Log with normal gamut, and were very satisfied with the grading tests we did during preparation.

However, the camera has many little quirks which may be worth knowing about. It does excellent pictures, but don't expect the reliability and solidity of an Alexa. The firmware we used is version 1.21 from August 2013.

Hole in camera body

The biggest problem was a hole in the camera body, which produces flares on the sensor when the sun hits the hole under the right angle. Not all models seem to have this hole. Most cameras turned up by this Google image search don't have it. But this video does show the same hole that we found on our camera body, between the viewfinder connector and the focal plane mark.

 

I suppose that is where a viewfinder connector cap would be attached. If the cap is removed, it opens a path for light to the sensor. Our camera had an Arri "VFA-1 Viewfinder Adapter". I guess that cover was removed when the Arri adapter was installed.

The problem was easy to fix with some black tape, but it had already ruined 1 shot when we found out.


Genlock

The camera's manual says it accepts many different signals on it's Genlock input. We used an Ambient timecode generator, and set it to send a 1080p25 signal. The camera didn't accept that, nor did it accept a 1080p50 signal. However, 1080i50 seemed to be accepted, even though we were really shooting 25p.

Timecode

We made the effort to find the correct Genlock which the camera would take, in the hope to have reliable frame-accurate timecode sync with the external audio recorder. But even with a Genlock feed from the Ambient to the camera, the external audio is still often 1 frame in advance of the picture (and the camera's audio), sometimes even close to 2 frames. Apparently, timecode-synced external audio is never late in relation to the camera audio and picture. It is either correct, or 1 or 2 frames early. (On a 7 week shoot with the Alexa last year, timecode sync was frame accurate on every shot).

Another problem related to TC is the "EXT-LK" indicator on the display. It is supposed to show when the camera receives external timecode. The problem is that if you remove the external timecode, and even reboot the camera, the display continues to show "EXT-LK", even though it is obviously wrong. So don't rely on it.

And of course, you do need a permanent external generator. The internal one will drift much too quickly, like with (almost) any other camera.

Camera randomly stops after starting

A few times per week, the camera would appear to start, and then stop after about 2 seconds. When it happened, it tended to happen a few times in a row, and then not at all for several days. We were always starting the camera with the "Assign 4" button which was mapped to "Rec". I don't believe it had anything to do with the way the button is pressed. Weird.

Spurious "backup battery" error

Twice during the 6-week shoot, the camera said the backup battery was bad and needed to be replaced. Rebooting the camera seemed to clear this "error", which looks more like a sensor or software error, than a real problem with the backup battery. After the reboot, the date and time were still correct, but the timecode had reverted back to "rec run" instead of our "free run" setting. The other settings had been preserved.

WiFi remote: fun but unusable

We wanted a remote switch, and the only option we had available was the WiFi dongle. It was fun to try it out, but after playing with it for a while, I wanted to actually use it three times, and these were exactly the times when it failed. It is much too unreliable to be of any real use.

The problem seems to be that the wireless connection gets lost very easily, even when the smartphone I used was less than 1m. away from the camera. This was a Samsung/Android phone, with which I otherwise never have wireless problems.

The worst case was when we started the camera from the phone, and then couldn't stop it. Neither with the phone, nor with the switches on the camera. Nor could we shutdown the camera with the power switch. The only solution was to remove the battery. Of course, if you want to use a remote switch, it's usually because there are some difficulties with the shot, so it's definitely the time when you don't want to have weird bugs show up. That is when we stopped trying to use the wifi.

Can't we just have a 2-wire cable with a mechanical switch for starting and stopping the camera remotely? It may not be trendy and fun, but definitely tends to "just work".

Timezone

The camera has no notion of daylight savings time. So when shooting during the summer, you have to set it to your neighbor timezone to get correct times in the metadata and (some of) the file timestamps (some time stamps will still be completely off for some other reason).

File times

While the "CreationDate" recorded in the XML matches the camera's time, some (not all) of the .MXF files on the card have weird modification times. That means you cannot rely on the times displayed by your file manager. I still don't know what triggers this weird behavior. Battery change? Viewing clips? Something else?

Aspect marker

We were shooting scope, and used the apsect marker mask. It would be nice if the aspect mask could remain even when using the "display" button to turn off all other information in the display. And it would be nice if the mask could also be sent out on the second SDI output, to avoid the need to mask the monitors with tape or whatever.


Labels: , , ,

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: , ,

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: , , , , ,

2007-03-22

Invalid 24 bit BWF files imported by Avid without timecode

The problem

When you import 24 bit BWF files into Avid, you may encounter a pretty obscure problem: some of the files will be imported without the timecode, while others will be OK. This will never happen happen with 16 bit files, nor will it happen with stereo 24 bit files. And it will only happen with files produced by certain recorders. And I'm not sure whether it only happens on Macs (I used Avid Xpress Pro 5 on Mac). It is a rare problem, and it took me a while to figure out, so here is what I found. I had the problem with files originating on a Sound Devices 744T (fw 2.03), but the same problem seems to exist with the HHB Portadrive, and probably with others as well. (As far as I know, the Cantar doesn't have this problem. I don't know about others). (Update: the Sound Devices firmware update 2.15 fixes this.) The manufacturers lay the blame on Avid, like in this post on the HHB forum:
"There has been a problem with importing some Portadrive 24-bit wav files into Avid Xpress Pro. Avid would import them via Quicktime rather than directly and in the process all metadata (including most vitally the timestamp) would be lost. This is an Avid bug and will be fixed in the next release of Xpress Pro."
However, what I found is that it seems to really be a bug in the recorders which produce invalid WAVE files, as shown also by the fact that Avid sends the file to Quicktime instead of processing it itself. I guess Avid could fix their WAV reader, but not easily without breaking the import of some valid files. It would seem much more straightforward to update the firmware in these recorders so that they write valid WAVE files, especially since the change would be quite trivial.

The theory

In short, WAV files are supposed to have an even number of bytes. When you record 24 bit mono sound, you get 3 bytes per sample, and around half of the files will have audio containing an odd number of bytes. So these files would not be valid and confuse the routines reading them. (Before all the technical details, here is the opportunity to jump directly further down to something more practical or even straight to a possible solution.) Broadcast Wave files (BWF) are really Microsoft WAVE format files, with a "broadcast extension" containing timecode and other metadata information. And these .WAV files are really just a form of RIFF files. RIFF files were created by Microsoft and IBM a long time ago, and are based on another even older format: IFF files. (AIFF is another such descendent of IFF). These specifications have all been published at some point, but have also been changed and augmented since then, and a clear and current reference is hard to find. Basically, all these RIFF files are composed of various blocks called chunks, of varying sizes. Any WAV file contains at least a "data" chunk with the audio, and a format chunk describing the number of channels, sampling rate, etc. In addition, the BWF variety of WAV files also contains a "bext" chunk which is where the timecode is stored along with other information, and may also contain various other chunks (iXML, link, etc.). The best quotes I found to pinpoint this specifc problem of odd/even sized chunks are these: GFF Format Summary: Microsoft RIFF from an O'Reilly book:
"ChunkData contains data that is WORD-aligned within the RIFF file. If the data is an odd length in size, an extra byte of NULL padding is added to the end of the data. The ChunkSize value does not include the length of the padding."
and AVI RIFF File Reference from the Microsoft site:
"The data is always padded to nearest WORD boundary. ckSize gives the size of the valid data in the chunk; it does not include the padding, the size of ckID, or the size of ckSize."
So all these chunks must have an even number of bytes. If the data in the chunk happens to need an odd number of bytes like in the case of some 24 bit mono sounds, a null byte must be added to pad the chunk to an even number. But the reported chunk size is still expected to be the exact number of useful bytes, different from the real size when it happens to be odd. Weird, isn't it? According to the IFF entry in Wikipedia, this weirdness is due to a limitation of an ancient processor:
"Chunks must begin on even file offsets, as befits the origins of IFF on the Motorola 68000 processor, which couldn't address quantities larger than a byte on odd addresses. Thus a chunk following an odd-length chunk will be preceded by a pad byte."
No wonder many devices and software are programmed without taking this (may I say) odd detail into account. Especially since you will hardly find these quotes if you search for WAV or BWF, even though they apply to any RIFF file, including WAVE files.

Back to practice

You can recognize these problematic files by the fact that their size in bytes is an odd number (once you find how to get your file manager to show you exact sizes in bytes instead of MB). If the audio is not padded to an even number with a null byte, you end up with an invalid WAV file, which some programs will understand, and some not. If the audio happens to be at the very end of the WAV file, which seems to be the case with the files I have seen, some programs will either not mind about the missing null byte which is not part of the audio anyway, or not even notice (I guess that is what happens in the Windows version of Avid). However, if the audio data is followed in the file with another chunk like a bext or iXML chunk, you are likely to have many problems. The way Avid seems to handle it, is that it does see the file as invalid, and lets Quicktime have a go at it. Quicktime will read the audio, but it skips the bext chunk with the timecode, so Avid gets back the audio without the TC. You will also notice, during the import into Avid, the mention of QT instead of WAVE in the progress window. This is a clear sign that you will get the audio through Quicktime, and without timecode.

The solution

In the HHB forum thread mentioned earlier, they suggest using a little Mac OS9 program: HHBFix which can be downloaded from the HHB site. It did fix the specific files I had so that they imported correctly. However, it does it in a way which proved quite unreliable in some cases: it just blindly adds a null byte to the end of any odd-sized file. Obviously, this will only work if the audio data chunk happens to be the last one in the file. That will probably be the case in a file coming straight from a portable recorder, but there is no guarantee about it. If, before importing the file, some program added another chunk at the end, HHBFix will not do any good. I would also have another solution, but it currently uses Perl in a shell window, and a modified version of the File::Format::RIFF module. Since the people likely to need a solution are also unlikely to know what Perl or a shell window like Terminal are, I'm not sure it's really useful. The best solution would really be for manufacturers to correct the code in their firmware (update: Sound Devices seems to have done that quickly). Update: BWF Widget Pro (runs on Windows) added the ability to correct these invalid files since version 1.175.

Conclusion

Don't let this discourage you from using timecode. In most cases, you will never encounter this problem since it only happens with mono 24 bit sounds produced on some recorders and imported into a Mac version of Avid.

Labels: , , , , , ,