FilmCutter icon   avsFilmCutter

Encoding from avsFilmCutter

14 April, 2007     version 0.0.1.8 beta

This guide will discuss FilmCutter's encoding application interface which allows FilmCutter to open an encoding application like QuEnc or HC.


This guide applies to the version shown above and following versions.  This and other guides will be maintained "asap".  Please view the change log for additional information and the user's guide that comes with FilmCutter.


avsFilmCutter, has no internal encoding engine at this writing, but can launch an external encoding application.  At minimum FilmCutter can open your encoding program for you or start the hole process if your encoding application has a command line interface which allows such.

Command Line Example:

c:\mypath\cct2 -t "NTSC DVD" f:\a.avi f:\b.avi -auto

The above line of text if used to create a desktop shortcut or if typed into the run box would open Cinema Craft Encoder Basic, use the NTSC DVD template and encode two files using the source files a.avi and b.avi.

c:\mypath\cct2.exe -ecl f:\c.ecl -batch -verbose > log.txt

The line above opens the encoder and instructs it to use "c.ecl", which contains the configuration information about the encode job,  "-batch" ends the program when encoding is completed "-verbose > log.txt" sends details about the encode to "log.txt".

FilmCutter does not produce ".ecl" files.  If you have never used CCE before you do not know what I am talking about.

Cinema Craft products can be found at: http://www.cinemacraft.com.

The above information is supplied as an example of a command line instruction which you could use in the run box of Windows or a dos window / "command prompt" window as it is called in Windows XP.  This could also be used as a single line in a text file using the file extension ".bat". A ".bat" or batch file can be used to start either older dos based or console programs, even windows programs.

The other intent of this example is to inform the reader that, yes you can launch CCE from FilmCutter (you may launch your word processor if you like), you just can't do much with it.  I don't mean to be negative about CCE, it is just that FilmCutter's interface is limited to what can be done from the command line.  Although freely available to everyone VirtualDub's interface for automating tasks isn't directly available from the command line.


So if your lost I am sorry and if your bored I am still sorry.  I you have little or no experience with batch files or command line use the following may help, but it is not intended to teach these things.

The following discussion about the command line will use a proper syntax for writing batch files.  If your real new to this kind of thing, let me define command line or just line.  The line part means everything you type before you press enter.  Command line would then mean one single line of information because everything after you press enter will be the next line, that is of course if you got the chance to enter anything after you press enter.


Simple Command Line

"myDrive:\myPath\myProgram.exe"

The above simply starts myProgram.

"myDrive:\myPath\myProgram.exe" "myDrive:\myPath\myFile.avs"

The above line starts "myProgram.exe" and makes the additional information "myFile.avs" available to the program "myProgram.exe".  If "myProgram" supports command line arguments, it will load "myFile.avs".  Windows' Note Pad program works that way, QuEnc works a little different.

Using "QuEnc" as an example

QuEnc is a quick, high quality mpeg encoder which is available to anyone.  It is very easy to use and offers many encoding options for those wishing to encode their videos to mpeg 1 or 2, with or without audio.

"myDrive:\myPath\QuEnc61.exe" "-i "myFile.avs""

Using the line above starts QuEnc, then QuEnc looks for a user provided argument list and finds "-i" followed by "myFile.avs".  The single argument contains a switch "-i" which tells QuEnc that "myFile.avs" is the input file name.  It is important that the switch be separated from the file name with a space otherwise QuEnc will not recognize the switch.  It is also important to understand that file names should be enclosed inside a pair of quotation marks (" ").

Complex Command Line

"ThePath\QuEnc61.exe" "-notoall -i "myInputFile" -0 "myOutputFile" -b 5500"

The above example has four arguments, "-notoall", "-i "myInputFile"", "-0 "myOutputFile"" and "-b 5500".  The first, "-notoall" is a single switch that requires no data to follow it while the last, "-b 5500" has a switch "-b"(average bitrate) with data(5500) separated by a space.

QuEnc 61 Command Line Arguments List

The following list of command line arguments comes from QuEnc version 0.61 and they may change with any future version.

Switch Description Example
-i <filename.avs> input file name -i "myFile.avs"
-o
<filename.m2v, mpg, mp2, ac3> output file name
-o "yourFile.ac3"
-b
<bitrate in kbps>
-b 5600
-maxbitrate
<bitrate in kbps> (0 = auto)
-maxbitrate 9200
-dc
<DC Precision> (either 8,9,10,11)
-dc 9
-priority
<num> (either 0 (realtime) to 5 (idle))  3 normal
-priority 3
-1
1 Pass Encoding

-2
2 Pass Encoding

-mpeg1
Use MPEG-1 Encoding

-mpeg2
Use MPEG-2 Encoding

-notoall
Same as using all -no* parameters at once
-notoall
-hq
Use High Quality

-nohq
Turn off High Quality

-vbr
Use VBR

-novbr
Turn off VBR

-scene
Use Scene Detection

-noscene
Turn off Scene Detection

-trell
Use Trellis Quant

-notrell
Turns off Trellis Quant

-cgop
Use Closed Gop

-nocgop
Turn off Closed Gop

-interlaced
 Use Interlaced Encoding Settings

-nointerlaced
Turn off Interlaced Encoding Settings

-extreme
Use Extreme Settings

-noextreme
Turn off Extreme Settings

-cmatrix
<XviD CustomMatrixFile> or QLB
-cmatrix "myMatrix.xcm"
-nocmatrix
Turns off the Custom Matrix

-gopsize
Gop Size
-gopsize 15
-maxbframes
Maximum B-Frames
-maxbframes 3
-aspectratio
Aspect Ratio ( 16:9, 4:3, 1:1, 2:21 )
-aspectratio 16:9
-mpeg2mux
MPEG-2 Mux Profile ( dvd, svcd, novideo, noaudio )
-mpeg2mux novideo
-audiocodec
Audio Codec ( mp2, ac3 )
-audiocodec ac3
-audiobitrate
Audio Bitrate (64, 96, 128, 160, 192, 256, 384)
-audiobitrate 192
-tff
Sets the MPEG-2 as Top Field First

-bff
Sets the MPEG-2 as Bottom Field First

-silent
Runs QuEnc in a minimized state

-auto      
Automatically start encoding

-close
Automatically close once encoding is complete

-shutdown
Shutdown the computer once encoding is complete







Update:   Latest info about QuEnc

QuEnc .70 command line switches.

QuEnc .70 command line switches

FilmCutter's Encoding Application Interface Setup Dialog

This dialog window allows the user to configure or select an encoding configuration.  Encoder description contains a list of encoding configurations you, the user, have setup, if you have never setup an encoder in FilmCutter the window shown below will have all the data fields blank, even the Icon button will be blank.  Let us assume that it is blank, click on the blank button next to the delete button.  A file open dialog window will open allowing you to search though your computer to find the file "QuEnc61.exe".  Once found the Icon button will load QuEnc's Icon and "QuEnc61.exe" will show in the encoder description.

It might be worth noting and I will mention this again, now is the only time you may edit the encoder description, once you have clicked "OK" or "Save" the encoder description is unchangeable.  You may not have two that are the same (I need to fix this).  In the example shown a good name for this configuration would be "QuEnc61_genMuxDVD" (General MuxDVD).  We have picked an encoder and given it a unique name, therefore the fist part of the command line is done now we need the last part or the argument list.

Command line window

As said above the first part of the command line to launch an application is done when you select the application.  FilmCutter will insert "%filename" in the command line window and although it will load your script into VirtualDub, QuEnc needs more information.

%filename:

is a place holder for your avs script file, FilmCutter inserts the script filename and path where ever you put "%filename" in the command line.

-i %filename -o "MyPath\MyOutputFile.mpg" -mpeg2mux dvd -cmatrix "myMatrix.xcm"

Please note that you no longer have to worry about the beginning and ending quotes, FilmCutter handles those, all you need to place in quotation marks are file and path descriptions.

%ofilename or %ofile.xxx(%ofile.ac3)

is a place holder for your output file, FilmCutter opens a save file dialog window to allow the user, you, to select the drive, folder and file name you wish to use for your encoded output file.  The output file name and path will be inserted where ever you put "%ofile.xxx" in the command line.

-i %filename -o %ofilename -mpeg2mux dvd

Three arguments "-i %filename", "-o %ofilename" and "-mpeg2mux dvd" with three switches "-i", "-o" and "-mpeg2mux".  We know the "-i" must be followed by a filename and path, FilmCutter will insert the scripts filename and path any where you put "%filename", if it also finds a %ofilename(out file name) FilmCutter will prompt you for a file name for the output file then insert it behind the "-o".

-i %filename -o %ofile.mpg -mpeg2mux dvd

Look at the above and notice that "%ofilename" has been changed to "%ofile.mpg".  By using the latter form of the out-file place holder, FilmCutter will filter the file name look up in the dialog window and use .??? as the default extension.  Using "%ofilename" opens the dialog window using mpg as the default.

Select an encoder to pair with above

You may select an encoder description already configured which will encode before this encoder runs.  This option allows you to test two different versions of an encoder, two different configurations of the same encoder or pair an audio encoder with a video only encoder like HC.

Save, Delete and Help

The "Save" button allows you to setup multiple encoders without closing the dialog window, "Delete" should be no surprise.  Help launches a html file describing the use of this dialog window.

Test Output color-space before encoding

Both QuEnc and HC require that the color space or pixel type be YV12.  FilmCutter can test the scripts output before launching the encoder to catch a possible error.

Encoder Description

Remember the encoder description for each encoding configuration you create must be different.  It would be silly to have three configurations labeled "QuEnc61.exe".  Also if you forget, just edit the encoder.ini file, a single encoder is shown below from an encoder.ini.

encoder
06
path
C:\Program Files\HC017\HCenc_017.exe
file
HCenc_017_w/AudioQuEnc_ac3 1 Audio QuEnc61AudioAC3
command line
-i %filename -o %ofile.m2v

The encoder description is on the line following "file", the line can contain 5 arguments all separated by a single space.

QuEnc

If you are new to QuEnc it might be a good idea to explain a little issue you might experience with it.  QuEnc remembers everything, well almost everything.  If you change the bitrate the setting will stay untill changed.  The same thing applies to interlaced encoding, top frame first and the like.  The following examples show the command line for two audio only configurations I use.

-i %filename -o %ofile.ac3 -mpeg2mux novideo -audiocodec ac3 -audiobitrate 192 -auto -close

-i %filename -o %ofile.mp2 -mpeg2mux novideo -audiocodec mp2 -audiobitrate 192 -auto -close

You should notice that -auto starts the encoder and -close closes the program which will send control back to FilmCutter.


avsFilmCutter © 2005 - 2007 Robert Clark, aka ebobtron