BunnyHopHop
From OpenFilmmaking
Contents |
[edit] Workflow meta data
- Intermediate/advanced users
- Windows only
- Alpha status
[edit] Camera
Tested with:
- Canon Vixia HF100 (AVCHD camcorder)
- JVC Everio GZ-HD7 (full-HD "HDV")
[edit] Installation
See BlenderAVC (version 0.6) for installation/configuration of the components. The rest of this document assumes the standard configuration.
[edit] Using it
[edit] Prep your video clips
[edit] Using the GUI
- Transfer the raw files (.MTS or .TOD files) from the camcorder to the computer hard drive.
- Organize the clips into directories if desired (I generally put them in date folders such as 2008-08-08).
- Run D:\BlenderAVC\blenderavc\BlenderAVCGUI.py which will bring up the BlenderAVC GUI.
- Fill in the Path' area (for example, D:\media\day 1\)
- Check Index and Create AVS scripts and click GO!
- It will run for a while, and create a series of sub-folders (avs, raw, etc.), as well as a clips.xml file.
- To create proxies, re-run the application and check Create proxy. Be sure to choose the proxy size(s) you want.
[edit] Using the command line
(Coming soon)
[edit] Start up Blender
- Run Blender3D (probably c:\BlenderAVC\tools\blender\avisynth_blender-2.47\blender.exe).
- After the main screen appears, pull down the top menu bar to expose the system preferences.
- Click File Paths
- Select Relative Paths Default
- Switch the mode to to SR:4 - Sequence to begin using it as an NLE.
- At the bottom of the screen, there is a section called the Render buttons panel. In the Render tab, a button labeled 100% will be selected. In order to turn on the proxy feature (crucial on a slower machine), we recommend that you change this to 50%.
- In the Anim tab, select Do Sequence.
- In the Format tab, and set the appropriate frame size and frame rate.
- If you are targeting standard DVD, we recommend 960 x 540; high definition, 1920 x 1080.
- If you are using a standard NTSC frame rate, you will want to choose 30 (or 24) with a divisor of 1.001.
- For PAL, use 25 and 1.000 for the frame rate.
- When you generate your AviSynth scripts and proxies, they will need to be consistent with whatever choices you make here.
- Next, click on the Sound block buttons icon. Under the Sequencer tab, you will probably want to turn on Scrub and 48 kHz.
- At this point, you may want to save the default settings so you don't have to do this each time you start Blender.
[edit] Pull a clip into Blender
Depending on the type of video and how powerful your machine is, you may be able to edit without proxies. If you are using AVC (it is much more CPU-hungry than HDV) or a lower-powered machine -- you will almost certainly need to use proxies.
The avs folder is the one you will be focusing on. It contains the AviSynth scripts which were generated earlier. For each video clip, you will see at least two .avs files:
- CLIPFILE.MTS.540p.avs -- Audio and 960x540 video together
- CLIPFILE.MTS.540p.audio.avs -- Audio only
If you chose 1920x1080, you should see:
- CLIPFILE.MTS.1080p.avs -- Audio and 1920x1080 video together
- CLIPFILE.MTS.1080p.audio.avs -- Audio only
[edit] Without proxy
- In the Video Sequence Editor panel, press Space to bring up the Add Sequence Strip menu.
- Choose Movie + Audio (HD)
- Navigate to the avs folder
- Choose the audio/video clip (CLIPFILE.MTS.540p.avs)
[edit] With proxy
Do the following for each video clip on your timeline:
- Add the movie strip
- In the Video Sequence Editor panel, press Space to bring up the Add Sequence Strip menu.
- Choose Movie
- Navigate to the avs folder
- Choose the audio/video clip (CLIPFILE.MTS.540p.avs)
- Click the Sequencer Buttons icon
- Under the Proxy tab, choose Use Proxy
- Add the audio strip (option 1)
- Navigate to the avs folder
- Choose the audio-only file (CLIPFILE.MTS.540p.audio.avs)
- Add the audio strip (option 2)
- Navigate to the raw folder
- Choose the WAV file (such as 0000.mts.wav)
- Make them into a "meta" strip
- Move the audio and video strips on the timeline so they match up
- Select both clips
- Press the M key
- Voila! You should now have a meta strip that you can move around without accidentally separating the video and audio portions of the clip.
[edit] Output
When it comes to rendering the output of a video sequence, Blender3D has quite a few options, but audio is often a problem. For the greatest flexibility, my preference is to output uncompressed video and audio, and then perform the compression separately. It's not the easiest way, mind you, but it is flexible and powerful.
[edit] Outputting video
- Click over to the Render buttons
- Under the Output panel
- Set an output directory
- Select Touch and No Overwrite options
- Under the Format panel
- Select PNG
- Under the Render panel
- Select 100%
- Under the Anim panel
- Click the Anim button
- Wait
You should end up with an sequence of PNG images in the output directory.
[edit] Outputting audio
- Click to the Sound block buttons
- In the Sequencer panel
- Click the MIXDOWN button
- Wait
You should end up with a a WAV file in the output directory.
[edit] Pulling them together
For this stage, I highly recommend the following free tools
Run AvsP and paste in this:
vid = ImageSource( "d:\output\%04d.png", start=1, end=1000, fps=30.0/1.001 )
aud = WAVSource("d:\output\0001_1000.wav")
vid = AudioDub(vid,aud)
vid = Spline36Resize( vid, 720, 480 )
vid = vid.ConvertToYV12( interlaced=false )
vid = AssumeFPS( vid, ( 30.0 / 1.001 ), true )
return vid
This is an AviSynth script which will pull together that image sequence and WAV file so it can be processed by another application. In this case I am assuming the final video should be DVD-compatible for final encoding. Following is a description of the various lines in the script and what they do.
vid = ImageSource( "output\%04d.png", start=1, end=1000, fps=30.0/1.001 )
This pulls in the image sequence. Naturally, d:\output should be replaced with the output directory you used in Blender. The 1000 should be replaced by the final number of frames of your video.
aud = WAVSource("d:\output\0001_1000.wav")
This pulls in the audio. Again, replace d:\output appropriately and use the correct name of the WAV file.
vid = Spline36Resize( vid, 720, 480 ) vid = vid.ConvertToYV12( interlaced=false )
This resizes the video to the standard NTSC DVD size, and converts to the correct color space for DVD. (For PAL, the last value would be 576.)
vid = AssumeFPS( vid, ( 30.0 / 1.001 ), true )
Here (and in the first line), I am assuming that you are creating an NTSC DVD at 29.97 frames per seconds. (For PAL, this would be 25.0.)
You can get a preview in AvsP or from VirtualDub. Save your script to a file such as dvd.avs.
To encode, run QuEnc and load up your new .avs file and encode away.
[edit] About this workflow
Why the name? Version 2.46 of Blender3D was the "Big Buck Bunny" release. Also, I often see rabbits out the window at my office.


