Main

Video on Macs

I run EyeTV on an iMac at home to watch and record TV.

This is a page to collect and pass on my experiences.

  • Best player:
    • I used to think that NicePlayer was best as it could play full screen movies under mouse control and could also play movies at different aspect ratios
    • However, VLC has now got both of these features and plays more video formats, so there’s no competition any more happy smiley
  • Install DivX 6 codec to play back MPEG-4 AVIs well in QuickTime
  • To encode your EyeTV programs at a reasonably high quality but smaller file size, follow these steps:
    1. Download ffmpegX and run the automatic installers so you get ffmpeg and the associated utilities installed on your system
    2. Download and uncompress this script Δ to somewhere useful (I keep it in ~/Applications)
    3. Make sure the script is executable (chmod u+x transcode_file.sh)
    4. Export the recording as a Program Stream (just this step will save you about 30% of the file size for no lack in quality
    5. Run the script on the exported file (the script has usage information built in: type transcode_file.sh —help to see the options)
      • Example: transcode_file.sh -i file.mpg will convert the MPEG-2 Program Stream file into an MPEG-4 AVI called file.avi
  • You can also use this script to transcode imported video content captured in iMovie:
    1. Import your video into iMovie as a single clip and prepare it on the timeline
    2. Split the clip at the start and end points of the video you wish to export
    3. Save your changes and find the imported clip in your iMovie project:
      1. Right-click and show package contents
      2. Open the Media directory and see your imported clip there
    4. Use ffmpegX to find out any appropriate crops you wish to apply (you can use the Preview button on the Filters tab to see what you’ll be doing)
    5. Run the script using the following options:
      • transcode_file.sh -v -ss ‘1.16’ -t ‘00:28:40.6’ -croptop 8 -cropbottom 2 -cropleft 4 -cropright 20 -i input.dv -o output.mov
      • -v to use 4:3 ratio and select deinterlacing
      • -ss hh:mm:ss.millis determines when in the clip the export will start. ffmpeg expects time specified in fractions of a second, whereas iMovie displays frame numbers
        • For example, if iMovie shows the clip starting at 12:20:07 that means 12 minutes, 20 seconds and 7 frames.
        • You need to divide by the framerate to get the fraction of a second required. PAL video is 25 fps, so this would translate to ffmpeg as 00:12:20.28
      • -t hh:mm:ss.millis the length of the clip to export, measured from the start point
      • -o <output_file.avi> you probably want to export the file to somewhere other than inside your iMovie project (the default)
      • -crop[left|top|bottom|right] <pixels> specifies the crop want to apply — use the numbers you determined using ffmpegX