Update: When I wrote this article, Adobe Premiere Pro CS3 could not edit AVC-HD video footage. Starting with the release of CS4, Adobe finally added this support. I decided to skip the upgrade, because of the price tag and the fact that I was simply happy with the approach outlined in this guide.
This guide describes an almost freeCoreAVC Professional requires small fee frame accurate solution to edit video from the Canon Vixia HF10 (HF11, HF100) camcorder in Adobe Premiere Pro 3.2 (CS3). It assumes that video is taken in PF24 mode at 1920×1080. It is rather trivial to adapt to other frame rates, resolutions or even other non-linear editors (NLEs).
Workflow using Proxy video
The work flow creates two sets of files that can be imported in Adobe Premiere. One set of small low definition proxy video files, and one set of huge high definition video files.
Start by importing the proxy files into Premiere Pro, and do the vast bulk of the interactive editing and color corrections. When pleased with the time line, switch to the full-definition video for the final rendering and let Premiere crunch away.
64-bit Operating system: highly recommended
While running Premiere Pro under the 32-bit version of Windows, I witnessed frequent crashes during rendering HD video. A look at the core dump files pointed the finger at a null pointer assignment. This was most likely triggered by a lack of virtual memory. I hope that Adobe address this issue! Once I switched to Vista 64-bit, and later to Windows 7 beta 64-bit (with 6 GByte installed), the same application was happy as can be.
However, installing some of the tools requires a bit more effort under a 64-bit operating system. For example, I had to upgrade to VIrtualDub 1.8.8, and CoreAVC 1.9.5. Also getting the Panasonic DV codec running took some extra leg work as described below.
- With 2 GByte installed Premiere’s private virtual memory usage peaks at about 2.3 GByte private memory when rendering 1920×1080 video, This implies that it will crash unless you tell XP to give a 3 GByte virtual address space (instead of default 2 GByte) to applications: With only 2 GByte of RAM installed, Premiere will cause a lot of page faults, but at least it will not crash. The details:
Control Panel > System > Advanced > Startup and Recovery Settings > System startup > Edit
copy the bottom line, and change the description, and
add the kernel switches “/3GB /USERVA=3072 /noexecute=alwaysoff”
press OK ; then again:
Control Panel > System > Advanced > Startup and Recovery Settings > System startup > Edit
set the new kernel switches as the default.
Grow the paging file to its maximum size (4096 MByte) and reboot - Some video cards or other hardware devices do not support these kernel tweaks. Press F5 during Windows startup to boot with the original kernel switches.
- Project > Project Settings > General > Playback Settings > Desktop Display Mode = compatible
The camcorder generates AVC compressed video (more info). To decompress this video, I use CoreAVC Professional 1.9.5 and the Microsoft DirectX >=9.0 framework.
We now have to make sure that DirectX will choose this CoreAVC decoder and a AC3 decoder. To visualize what filters are chosen, drag’n'drop an AVC-HD (.mts or .m2ts) file in Microsoft GraphEdit 5.04. The graph should look as shown below. Note that Windows 7 can decode AVS-HD as well, but I have not tried this yet as I am happy with the CoreAVC decoder.
- AVCHD video > CoreAVC Video Decoder > Video Renderer
- AVCHD audio > InterVideo Audio Decoder (or another AC3 decoder) > Default Direct Sound Device
If needed, use a tools such as DirectShow Filter Manager 0.5 (DSFMgr) or Filmerit to increase the merit for the CoreAVC filter, so that it will use CoreAVC (details here).
- right-click the CoreAVC Video Decoder and configure as shown below. Note that CoreAVC 1.7 can not correctly pull-down AVC-HD video. Later versions might be able to, but I again have not tested this. Instead I will have AviSynth do the pull-down.
- enable all input and output formats
- input and output levels = auto detect
- deinterlacing = hardware (no interlacing)
- no aggressive deinterlacing; crop 1088 to 1080; no force VMR AR correction; preferred decoder
- right-click the InterVideo Audio Decoder and configure
- 2 speaker mode, stereo
- both vocal options
Save as full definition video
DirectShowSource(“test.mts”)
AssumeTFF()
LoadPlugin(“tivtc.dll”)
tFM()
tDecimate()
ConvertToRGB32(matrix=”PC.709″)
- Panasonic DV, to save the proxy video to standard-definition DV (for running this under 64-bit Windows 7, or Vista see here)
- Lagarith Lossless, to save the HD video to efficient lossless (install using the .exe file, especially when running 64-bit Windows 7, or Vista)
Start VirtualDubMod with default settings
Drag’n'drop “full\test.avs” to VirtualDubMob
Video > Mode = Fast recompress
Video > Compression > Lagarith Lossless
Video > Compression > Lagarith Lossless > Configure > Mode = RGBA
Video > Compression > Lagarith Lossless > Configure > Use Multithreading
File > Save Processing Settings > Save as type = Sylia script for VitualDub
File > Save Processing Settings > File name = “Lagarith 1920×1080 RGB32.syl”
File > Save As > full\test.avi
Save as proxy video
Start VirtualDubMod with default settings
Drag’n'drop “full\test.avs” to VirtualDubMob
Video > Mode = Full Processing
Video > Compression > Panasonic DV Codec
Video > Filters > Add > Resize > 720×480, Filter Mode = Lanczos3
File > Save Processing Settings > Save as type = Sylia script for VitualDub
File > Save Processing Settings > File name = “Panasonic DV 720×480 4.1.1.syl”
File > Save As > proxy\test.avi
Bait and switch
Once you are finished editing, it is time to switch Premiere Pro to work with the high resolution video.
- Import the proxy file in Premiere Pro and use it for editing. Select all AVI files; right-click > reinterpret footage > Pixel Aspect Ratio = conform to D1/DV NTSC Widescreen 16:9 (1.2).
- Do all you editing and color corrections in Premiere Pro, and save your project.
- Select all the proxy media files and select “make offline”. Right-click them again and do “link media” and point it to the directory with the full resolution files. All your media will have been replaced with full-resolution media. Change the Pixel Aspect Ratio back to square pixels (PAR 1.0).
- Start the render of your final movie.
Export from Premiere Pro
File > Export > Movie > Settings > General > File Type = Microsoft AVI
File > Export > Movie > Settings > General > Add to Project When Finished = No
File > Export > Movie > Settings > Video > Video > Compressor > Lagarith lossless codec
File > Export > Movie > Settings > Video > Video > Frame size = 1920 x 1080
File > Export > Movie > Settings > Video > Video > Pixel Aspect Ratio = Square Pixels (1.0)
File > Export > Movie > Settings > Video > Data Rate > Recompress = Always
File > Export > Movie > Settings > Video > Video > Compressor Configure > Enable null frames = disabled
File > Export > Movie > Settings > Video > Video > Compressor Configure > Always suggest RGB for output
File > Export > Movie > Settings > Video > Video > Compressor Configure > Mode = RGB
File > Export > Movie > Settings > Video > Video > Compressor Configure > use Multithreading
File > Export > Movie > Settings > Video > xx > xx > 23.970
File > Export > Movie > Settings > Video > xx > xx > progressive
Transcode to H.264
- Video profile PD-AppleTV profile and boost the bitrate to 4.5 Mbps
- Audio profile NDACC-HE-MultiChannel-128kbps and boost the bitrate to 160kbps
For more information on exporting to other formats refer to my notes High quality encodes from Premiere Pro for AppleTV, DVD or BRD.
Moving on to CS5
Once you decide to upgrade, you can port the old projects to use the .mts files directly. More details can be found in the companion article Editing 24p AVCHD with Adobe Premiere Pro CS5.
In review
This method works very well for me. Even a modest 2 GHz / 2 GByte dual core box can edit the DV files smoothly, so that is what I use for proxies. This also allows me to do a quick render of the movie at a standard definition for review before I move ahead to the final high resolution render using the full resolution material. FYI I recently switched to a 3 GHz / 6 GByte i7 quad core mainly because my Dual Core showed signs of aging.
Credits and references
- Transcodeless 3:2 pulldown removal workflow for Premiere
- Farnsworth method summarized in Canon HV20 24p Pulldown
- Farnsworth method used in HV20/HV30 24p workflow
- Configuring compression in VirtualDubMod
- VirutalDubMod processing settings to compress to Morgan MJPEG
- VirtualDubMod processing settings to compress to DV
- VirtualDubMod processing settings for Lagarith lossless
- VirtualDubMod processing settings for chroma smoothing filter
- Colorspace,YUV video subtypes and Video rendering with 8-bit YUV formats
- Frameserving Avisynth to programs without .avs support
