Benutzer:Pristurus/Spielwiese
Konvertierung unter Windows mit ffmpeg2theora.exe[Bearbeiten | Quelltext bearbeiten]
In der Regel werden die meisten Nutzer ihre Videos wohl mit Programmen in das ogg-theora-Format konvertieren, die über eine graphischen Benutzeroberfläche verfügen. Alternativ lässt sich aber auch unter Windows das Komandozeilenprogramm ffmpeg2theora.exe nutzen. Ffmpeg2theora steht in zwei Versionen zur Verfügung, einmal in einer stabilen, weitgehend ausgetesten, sowie in Form von "nightlys", die die aktuelle Programmentwicklung wiederspiegeln. Eine "nightly"-Version von ffmpeg2theora bietet den Vorteil, jeweils die letzten verfügbaren Features der (Audio- und Video-) Codecs nutzen zu können, meist mit einem verbesserten Enkodierverhalten gegenüber der stabilen Programmversion. Praktisch bedeutet dies: bei gleicher Datenrate ist die Qualität des Videos (etwas) besser. Nachteilig kann im Einzelfall dagegen sein, dass Entwicklerversionen nicht immer fehlerfrei sind; in der Praxis kommen (bemerkbare) Fehler jedoch hier nur sehr selten vor.
Installation von ffmpeg2theora[Bearbeiten | Quelltext bearbeiten]
ffmpeg2theora lässt sich als fertiges Programm herunterladen: Stabile Version bzw. Nightly-Version Es empfiehlt sich nun an einem beliebiegem Ort ein separates Verzeichnis (Ordner) anzulegen und ffmpeg2theora.exe dorthin zu verschieben, weitere Installationsschritte sind nicht erforderlich.
Arbeitsweise von ffmpeg2theora[Bearbeiten | Quelltext bearbeiten]
Als Anwender hat man die Wahl zwische 2 Umwandlungsmodi: a) durch Auswahl einer Qualitätsstufe zwischen 1 und 10. Der Encoder wird dann versuchen die gewählte Qualitätsstufe über die gesammte Videodauer (ungeachtet der hierzu erforderlichen Datenrate) zu halten. b)Vorgabe einer angestrebten Datenrate; der Encoder wird versuchen die vorgebene Datenrate über die Gesammtdauer des Videos zu halten. Ein Sonderfall hierbei ist das 2-pas-Verfahren, welches einen Encoderdurchlauf zur Analyse des Videos sowie einen 2. Durchgang zum Kodieren erfordert: ruhige Szenen bekommen weniger, solche mit viel Bewegung mehr Datenrate, im Durchschnitt liegt die Datenrate jedoch im Bereich der Vorgabe.
Parameter[Bearbeiten | Quelltext bearbeiten]
Zum Festlegen, wie der Encoder genau arbeiten soll, dienen Variablen, also vom Nutzer zu setzende Parameter. Um sich die möglichen Parameter anzeigen zu lassen, öffnet man Start-> Ausführen und gibt dort cmd ein, ein Eingabeaufforderungsfenster wird geöffnet; dort werden nach Eingabe von Lauwerk\Pfad\ffmpeg2theora.exe --help die möglichen Parameter gelistet. Laufwerk und Pfad sind dabei entsprechend des Speicherortes von ffmpeg2theora.exe anzupassen (z.B. C:\Programme\ffmpeg2theora\ffmpeg2theora.exe --help, wenn sich ffmpeg2theora.exe auf Lauwerk C im Ordner Programme im Unterordner ffmpeg2theora befindet). Hier die zur Zeit verfügbaren Parameter (nightly vom 1.5.2011):
General output options:
-o, --output alternative output filename --no-skeleton disables ogg skeleton metadata output --skeleton-3 outputs Skeleton Version 3, without keyframe indexes -s, --starttime start encoding at this time (in sec.) -e, --endtime end encoding at this time (in sec.) -p, --preset encode file with preset. Right now there is preview, pro and videobin. Run 'ffmpeg2theora -p info' for more informations
Video output options:
-v, --videoquality [0 to 10] encoding quality for video (default: 6) use higher values for better quality -V, --videobitrate encoding bitrate for video (kb/s) --soft-target Use a large reservoir and treat the rate as a soft target; rate control is less strict but resulting quality is usually higher/smoother overall. Soft target also allows an optional -v setting to specify a minimum allowed quality.
--two-pass Compress input using two-pass rate control This option requires that the input to the to the encoder is seekable and performs both passes automatically.
--first-pass <filename> Perform first-pass of a two-pass rate controlled encoding, saving pass data to <filename> for a later second pass
--second-pass <filename> Perform second-pass of a two-pass rate controlled encoding, reading first-pass data from <filename>. The first pass data must come from a first encoding pass using identical input video to work properly.
--optimize optimize video output filesize (slower) (same as speedlevel 0) --speedlevel encoding is faster with higher values the cost is quality and bandwidth (default 1) available values depend on the version of libtheora your version supports speedlevels 0 to -1 -x, --width scale to given width (in pixels) -y, --height scale to given height (in pixels) --max_size scale output frame to be within box of given size, height optional (%d[x%d], i.e. 640x480) --aspect define frame aspect ratio: i.e. 4:3 or 16:9 --pixel-aspect define pixel aspect ratio: i.e. 1:1 or 4:3, overwrites frame aspect ratio -F, --framerate output framerate e.g 25:2 or 16 --croptop, --cropbottom, --cropleft, --cropright crop input by given pixels before resizing -K, --keyint [1 to 2147483647] keyframe interval (default: 64) -d --buf-delay <n> Buffer delay (in frames). Longer delays allow smoother rate adaptation and provide better overall quality, but require more client side buffering and add latency. The default value is the keyframe interval for one-pass encoding (or somewhat larger if --soft-target is used) and infinite for two-pass encoding. (only works in bitrate mode) --no-upscaling only scale video or resample audio if input is bigger than provided parameters --resize-method <method> Use this method for rescaling the video See --resize-method help for a list of available resizing methods
Video transfer options:
--pp Video Postprocessing, denoise, deblock, deinterlacer use --pp help for a list of available filters. -C, --contrast [0.1 to 10.0] contrast correction (default: 1.0) Note: lower values make the video darker. -B, --brightness [-1.0 to 1.0] brightness correction (default: 0.0) Note: lower values make the video darker. -G, --gamma [0.1 to 10.0] gamma correction (default: 1.0) Note: lower values make the video darker. -Z, --saturation [0.1 to 10.0] saturation correction (default: 1.0) Note: lower values make the video grey.
Audio output options:
-a, --audioquality [-2 to 10] encoding quality for audio (default: 1) use higher values for better quality -A, --audiobitrate [32 to 500] encoding bitrate for audio (kb/s) -c, --channels set number of output channels -H, --samplerate set output samplerate (in Hz) --noaudio disable audio from input --novideo disable video from input
Input options:
--deinterlace force deinterlace, otherwise only material marked as interlaced will be deinterlaced -f, --format specify input format --inputfps fps override input fps --audiostream id by default the first audio stream is selected, use this to select another audio stream --videostream id by default the first video stream is selected, use this to select another video stream --nosync do not use A/V sync from input container. try this if you have issues with A/V sync
Subtitles options:
--subtitles file use subtitles from the given file (SubRip (.srt) format) --subtitles-encoding encoding set encoding of the subtitles file supported are utf-8, utf8, iso-8859-1, latin1 --subtitles-language language set subtitles language (de, en_GB, etc) --subtitles-category category set subtitles category (default "subtitles") --subtitles-ignore-non-utf8 ignores any non UTF-8 sequence in UTF-8 text --nosubtitles disables subtitles from input (equivalent to --subtitles=none) --subtitle-types=[all,text,spu,none] select what subtitle types to include from the input video (default text)
Metadata options:
--artist Name of artist (director) --title Title --date Date --location Location --organization Name of organization (studio) --copyright Copyright --license License --contact Contact link --nometadata disables metadata from input --no-oshash do not include oshash of source file(SOURCE_OSHASH)
Keyframe indexing options:
--index-interval <n> set minimum distance between indexed keyframes to <n> ms (default: 2000) --theora-index-reserve <n> reserve <n> bytes for theora keyframe index --vorbis-index-reserve <n> reserve <n> bytes for vorbis keyframe index --kate-index-reserve <n> reserve <n> bytes for kate keyframe index
Other options:
-P, --pid fname write the process' id to a file -h, --help this message --info output json info about input file, use -o to save json to file --frontend print status information in json, one json dict per line
Erstellen von Batch-Dateien zum Kodieren[Bearbeiten | Quelltext bearbeiten]
Um nicht mit der recht umständlichen Eingabeaufforderung arbeiten zu müssen und Kodierungseinstellungen auch für andere zu wandelnde Videofiles wiederverwenden zu können, empfiehlt sich das Anlegen von ausführbaren Batch-Dateien. Hierzu öffnet man den Editor (normalerweise zu finden unter C:\Windows\System32\notepad.exe), erstellt seine Befehlszeile und speichert dann als Datei mit der Dateiendung .bat ab. Windows erkennt die bat-Datei dann anhand dieser Endung als ausführbar. Durch verwenden der Variablen %1 (speichert während der Kodierung den Namen der Ausgangsdatei)in der per Editor erstellten Batch-Datei ist diese nun einfach verwendbar: die zu wandelnde Datei wird einfach per Maus auf die Batchdatei gezogen und dort fallengelassen (= drag and drop), als Ergebniss erhält man die codierte ogv-Datei im selben Ordner wie die Ausgangsdatei.
Beispiele für Kodierbefehlszeilen, wie sie im Editor eingegeben und dann unter beliebigem Namen mit der Endung .bat abgespeichert werden können (~ ist durch den lokalen Pfad zu ffmpeg2theora.exe zu ersetzen):
1.) einfaches Kodieren mit festgelegter Qualitätsstufe 8 für Video und Audio:
~\ffmpeg2theora-0.25.exe -i %1 -v 8 -a 8
mit -i= Ausgangsdatei, v=ausgegebener Videoqualitätsstufe, a=Audioqualitätsstufe
2.) 2-pass Verfahren ohne Audio im 16:9 Format (bei anamorphem Ausgangsformat ="Eierköpfe"), die Datei soll alle 100 Bilder einen Indexeintrag zum Durchsuchen erhalten, Schlüsselbilder sollen nach spätestens 250 Bildern neu erstellt werden, Videobitrate soll ca. 1200 bits/sec. betragen, langsames encodieren für möglichst optimale Qualität, kein Audio, Angabe verschiedener in der Zieldatei enthaltenen Angaben (Metadaten):
~\ffmpeg2theora.exe %1 --aspect 16:9 --index-interval 100 --keyint 250 --videobitrate 1200 --two-pass --speedlevel 0 --nosound --artist "Pristurus" --title "" --location "Wollenberg, Hesse, Germany --date "2011-05-01" --contact "http://de.wikipedia.org/wiki/Benutzer_Diskussion:Pristurus" --copyright "Pristurus, 2011" --license "Creative Commons-Lizenz 3.0 Unported"