Es besteht die Möglichkeit verschiedene Encoder für die Berechnung neuer Videoteile einzusetzen. Die Benutzung der Encoder wird über Scripte geregelt. Im folgenden einige Beispiele.
Die Scripte für Encoder werden im Verzeichnis Encoder
gespeichert. Für jeden Encoder muß ein eigenes Script geschrieben werden. Damit ein Encoder vom Programm verwendet werden kann muss unter Optionen -> externe Programme -> Encoder das Encoderscript ausgewählt werden.
[Encoder HC021] X0X=*interlaced X1X= :enc Echo Videoteil berechnen ($BeginIndex#, $EndIndex#) cpsourcefile copyx "$ProgramDirectory#\Encoder\HC-M2S-org.ini" "$TempDirectory#\HC-M2S.ini" :eff copyx "$ProgramDirectory#\Encoder\HC-M2S-Eff-org.ini" "$TempDirectory#\HC-M2S.ini" Rem :all Rem "$ProgramDirectory#\Encoder\DGmpgdec\DGIndex.exe" -IF=[$PartFile#] -OF=[$PartFiled2v#] -hide -exit :enc RunnotCml "$ProgramDirectory#\Encoder\HCEnc\HCenc_021.exe" -i "$PartFiled2v#" -o "$NewFile#" -ini "$TempDirectory#\HC-M2S.ini" :eff RunnotCml "$ProgramDirectory#\Encoder\HCEnc\HCenc_021.exe" -i "$TempDirectory#\AViSynthscript.avs" -o "$NewFile#" -ini "$TempDirectory#\HC-M2S.ini" :all Rem DeleteTempFiles=0 |
Für den framegenauen Schnitt und die Neuberechnung zu langer GOPs ist bei diesem Script kein AVISynth nötig. Videoeffekte benötigen auch mit diesem Script ein installiertes AVISynth.
Am Anfang eines Encoderscriptes steht immer ein eindeutiger Name in eckigen Klammern, in diesem Fall Encoder HC021
. Durch Marker wird das Script in verschiedene Bereiche unterteilt. Wird das Script direkt vom Programm zum berechnen von Videoteilen aufgerufen werden die Bereiche nach den Markern :enc
durchlaufen. Ruft ein Videoeffektscript dieses Encoderscript auf werden die Bereiche nach den Markern :eff
durchlaufen. Die Bereiche nach dem Marker :all
werden immer durchlaufen. Als erstes werden benutzerdefinierte Variablen erzeugt die in den HC-M2S*.ini Dateien benötigt werden. Der Befehl Echo sorgt für eine Ausgabe in des Protokoll des SchnittTools. Die Variablen werden vorher durch Werte ersetzt. Der Befehl cpsourcefile kopiert den zu verändernden Teil der Videodatei in eine neue Datei. Der Name dieser Datei steht in der Variablen $PartFile#. Der Befehl copyx erzeugt aus einer Quelldatei (*.org.ini) eine Ini-Datei für den Encoder. Die Variablen werden dabei durch die entsprechenden Werte ersetzt. Die durch den Befehl Rem auskommentierten Zeilen werden übersprungen. Soll die D2V-Projektdatei vom Programm DGIndex.exe
erzeugt werden müssen diese Zeilen durch entfernen des Befehls Rem aktiviert werden. Das Encoderprogramm wird durch Aufruf mit dem Befehl RunnotCml mit seiner grafischen Oberfläche gestartet. Wird die Variable DeleteTempFiles in letzte Zeile durch entfernen des Befehls Rem aktiviert und auf Null gesetzt werden tempoäre Dateien nicht gelöscht.
[Encoder AVISynt HC021] X0X= X1X=no :enc Echo Videoteil berechnen ($BeginIndex#, $EndIndex#) cpsourcefile copyx "$ProgramDirectory#\Encoder\AViSynthscript-org.avs" "$TempDirectory#\AViSynthscript.avs" :all Rem "$ProgramDirectory#\Encoder\DGmpgdec\DGIndex.exe" -IF=[$PartFile#] -OF=[$PartFiled2v#] -hide -exit RunnotCml "$ProgramDirectory#\Encoder\HCEnc\HCenc_021.exe" -i "$TempDirectory#\AViSynthscript.avs" -o "$NewFile#" -b $Bitrate# -aspectratio $Aspectratio# -dc_prec $DCPrezision# -$X$Progressive#X#interlaced -$Fieldfirst# Rem DeleteTempFiles=0 |
Dieses Script ist etwas einfacher da immer AVISynth verwendet wird. Der Bereich vom Marker :enc
bis zum Marker :all
wird übersprungen wenn das Script von einem Effektscript aufgerufen wird.
[Encoder AVISynt QuEnc] X0X= X1X=no :enc Echo Videoteil berechnen cpsourcefile copyx "$ProgramDirectory#\Encoder\AViSynthscript-org.avs" "$TempDirectory#\AViSynthscript.avs" :all Rem "$ProgramDirectory#\Encoder\DGmpgdec\DGIndex.exe" -IF=[$PartFile#] -OF=[$PartFiled2v#] -hide -exit RunnotCml "$ProgramDirectory#\Encoder\QuEnc\QuEnc.exe" -i "$TempDirectory#\AViSynthscript.avs" -o "$NewFile#" -b $Bitrate# -maxbitrate 6000 -1 -aspectratio $Aspectratio# -dc $DCPrezision# -$X$Progressive#X#interlaced -$Fieldfirst# -auto -close Rem DeleteTempFiles=0 |
Um den QuEnc zu verwenden ist immer ein installiertes AVISynth nötig. Auch hier wird der Bereich vom Marker :enc
bis zum Marker :all
übersprungen wenn das Script von einem Effektscript aufgerufen wird.
Verweise: