Konvertieren von Formaten

From Fansub Wiki
Jump to: navigation, search

TS/MKV zu MP4

1. benötigte Programme

  • aktuelles Codecpack (z.B. K-Lite) sollte vorher installiert/geupdated sein
  • Avisynth
  • Megui (bringt alles mit, was man braucht. Wer will kann sich natürlich alle Einzelkomponenten selbst zusammensuchen)


2. Ausführung

Bevor man loslegt muss für einen Transportstream erst einmal eine Indexdatei erstellt werden. Megui stellt unter Tools>File Indexer eine bequeme Möglichkeit zur Verfügung. Man sollte auch gleich die Tonspuren mit extrahieren, wenn man schon dabei ist. Dazu einfach eure Original-TS per Drag and Drop in das Input-Feld ziehen, Haken bei "All Audio Tracks" und auf "Queue" klicken. Anschließend auf den Queue-Tab gehen und "Start" klicken. Eine MKV benötigt das nicht.

Hattte man beim File Indexer unten den Haken auf "On completion load files" gesetzt, öffnet sich nach Erstellung der Indexdatei sofort der Avisynth Script Creator (bei einer MKV öffnet man ihn einfach unter Tools oder viel besser: ihr schreibt euch das Skript gleich selbst) und man kann z.B. etwaige schwarze Ränder entfernen und das Bild wieder auf die richtige Größe resizen. Das wichtigste kommt allerdings unter dem Tab "Filters". Eine TS-Raw muss i.d.R. deinterlaced werden, sonst hat man später bei jeder größeren Bewegung Kammstrukturen darin. Dazu einen Haken bei Source is Anime setzen und auf Analyse klicken. Je nach Quelle kann das Ermitteln schon eine Weile dauern, allerdings kann man im Normalfall davon ausgehen, dass alle weiteren Episoden einer Serie denselben Quelltyp und Fieldorder besitzen, man es also nur einmal machen muss.
Wer seine Untertitel in das Video einbrennen möchte, kann das auch am Ende dieses Tabs, indem er seine Untertiteldatei einfach per Drag and Drop in's Subtitlefeld zieht. Das ganze dann unter "Save" sichern und wenn der Haken bei "On Save closed and load to be encoded" gesetzt ist öffnet sich gleich das Vorschaufenster von Megui. Das kann man auch etwas abspielen lassen, um zu sehen, ob das Bild so passt oder die Untertitel auch wirklich mit drin sind, etc. Hat man das soweit überprüft schließt man die Vorschau und wählt unter Encoder Settings ein x264-Profil, das zu seiner Hardware passt (wer keine mp4 will kann natürlich auch ein anderes Profil nehmen/selber schreiben). Im Zweifel muss man es eben anpassen, Hinweise zu den Einstellungsmöglichkeiten dazu findet ihr bei Brother Johns Encodingwissen und X264-Settings (Wiki).


Nachdem man sich also um das Bild gekümmert hat, muss man noch die Audio hinzufügen, indem man die mit dem File Indexer extrahierte Audiodatei oder im Falle einer MKV einfach nocheinmal die Videodatei per Drag and Drop in das Audio Input-Feld zieht, bei den Encoder Settings sein gewünschtes Encodingprofil auswählt (Hinweis: wer Nero-AAC möchte, muss sich aus lizenzrechtlichen Gründen diesen erst kostenlos von Nero herunterladen und in sein Megui-Programmverzeichnis unter C:\Programme\Megui\tools\neroaacenc abspeichern und eventuell in den Megui-Settings noch den Pfad eingeben).


Danach klickt man unten rechts auf "AutoEncode", wählt den richtigen Container (x264 > MP4), gibt ihm vielleicht noch einen anderen Ausgabenamen, fügt unter "Add additional content" eine Kapiteldatei hinzu und klickt auf Queue. Dann wechselt man wieder in den Queuetab und startet seinen Encode.
Hier noch ein Wort zu den Begriffen, die immer mal wieder gern verwechselt werden: x264 ist der Encoder, also das System, welches das Video von Format A in Format B umwandelt, H.246 (oder auch MPEG-4 Part 10 bzw. AVC) ist der Codec, also das Verfahren zur Dateidekodierung/-kodierung und MP4 schließlich ist der Container, also das Gesamtpaket bestehend aus Kopfdaten, Video- und Audiodatei.

Zusatz: Video schneiden
Wer sein Originalvideo vorher noch schneiden möchte, macht dies im Avisynth-Script durch Anhängen von:

__film = last
__t0 = __film.trim(10, 55)
__t1 = __film.trim(100, 550)
__t2 = __film.trim(1000, 5500)
__t0 ++ __t1 ++ __t2


Die Zahlen müsst ihr natürlich euren Frames anpassen. Dabei ist zu beachten, dass die erste Zahl in der Klammer, also der Anfang einer Szene, die ihr haben wollt, ein Keyframe (auch I-Frame genannt) ist, da nur dort geschnitten wird und ansonsten Verschiebungen zur Audiodatei entstehen können. Solltet ihr im übrigen Untertitel mit einbrennen wollen müsst ihr zudem die Reihenfolge beachten. Wurden sie auf das ungeschnittene Video getimed, müssen die Schnitte im Script auch erst nach dem Untertitel stehen.

Dann erstellt ihr euch für die Audio im Editor eine Schnittdatei mit folgendem Inhalt:

<?xml version="1.0"?>
<Cuts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <Framerate>23.976023976023978</Framerate>
 <Style>NO_TRANSITION</Style>
 <AllCuts>
   <CutSection>
     <startFrame>10</startFrame>
     <endFrame>55</endFrame>
   </CutSection>
   <CutSection>
     <startFrame>100</startFrame>
     <endFrame>550</endFrame>
   </CutSection>
   <CutSection>
     <startFrame>1000</startFrame>
     <endFrame>5500</endFrame>
   </CutSection>
 </AllCuts>
</Cuts>

(beachtet auch, dass die Framerate des Videos mit angegeben wird, damit es zu keinen Synchronisationsschwierigkeiten kommt)
und speichert sie als *.clt (Dateityp: Alle Dateien einstellen) ab. Diese Datei müsst ihr dann nur vor dem Encoden per Drag and Drop im Audiobereich des Input-Tab in das Cutfeld ziehen.


h264-MKV/Mp4 zu XVid-AVI

1. benötigte Programme

(Anmerkung: wer Megui hat, sollte bereits alles besitzen, wer sich wirklich nur diese Programme besorgen will, sollte darauf achten, dass xvid_encraw auch die xvidcore.dll braucht)

2. Ausführung

Wenn ihr die Programme gefunden habt, die ihr braucht oder neu installiert habt, dann schreibt ihr euch am einfachsten im Editor eine Batch-Datei (nachdem ihr euch logischerweise erst euer Avisynth-Script geschrieben habt, dass mindestens so aussieht: LoadPlugin("F:\Programme\ffmpegsource\ffms2.dll") FFVideoSource("C:\MyVideos\Originalvideo1.mkv") und unter C:\MyVideos\Orignalvideo1.avs abgespeichert wurde; achtet auch auf die max. Auflösung von 720x576 für DVD-Player, um Kompatibilität zu gewährleisten), z.B. wenn ihr gleich drei Videos hintereinander konvertieren wollt:


@ECHO OFF

C:\Programme\Megui\tools\ffmpeg\ffmpeg -i G:\MyVideos\Originalvideo1.mkv -vn -f wav - | C:\Programme\Megui\tools\lame\lame.exe -m s -b 128 -q 2 - C:\MyVideos\Temp\audio1.mp3
C:\Programme\Megui\tools\ffmpeg\ffmpeg -i G:\MyVideos\Originalvideo2.mkv -vn -f wav - | C:\Programme\Megui\tools\lame\lame.exe -m s -b 128 -q 2 - C:\MyVideos\Temp\audio2.mp3
C:\Programme\Megui\tools\ffmpeg\ffmpeg -i G:\MyVideos\Originalvideo3.mkv -vn -f wav - | C:\Programme\Megui\tools\lame\lame.exe -m s -b 128 -q 2 - C:\MyVideos\Temp\audio3.mp3


C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass1 "C:\MyVideos\Temp\video1.log" -qtype 0 -nopacked -bvhq -max_bframes 1 -threads 4 -i "C:\MyVideos\Orignalvideo1.avs" -o NUL
C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass2 "C:\MyVideos\Temp\video1.log" -bitrate 750 -qtype 0 -nopacked -bvhq -max_bframes 1 -imin 1 -bmin 1 -pmin 1 -threads 4 -i "C:\MyVideos\Orignalvideo1.avs" -avi "C:\MyVideos\temp\video1.avi"
C:\Programme\Megui\tools\ffmpeg\ffmpeg -i C:\MyVideos\temp\video1.avi -vcodec copy -i C:\MyVideos\Temp\audio1.mp3 -acodec copy -f avi C:\MyVideos\Ergebnisvideo1.avi


C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass1 "C:\MyVideos\Temp\video2.log" -qtype 0 -nopacked -bvhq -max_bframes 1 -threads 4 -i "C:\MyVideos\Orignalvideo2.avs" -o NUL
C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass2 "C:\MyVideos\Temp\video2.log" -bitrate 750 -qtype 0 -nopacked -bvhq -max_bframes 1 -imin 1 -bmin 1 -pmin 1 -threads 4 -i "C:\MyVideos\Orignalvideo2.avs" -avi "C:\MyVideos\temp\video2.avi"
C:\Programme\Megui\tools\ffmpeg\ffmpeg -i C:\MyVideos\temp\video2.avi -vcodec copy -i C:\MyVideos\Temp\audio2.mp3 -acodec copy -f avi C:\MyVideos\Ergebnisvideo2.avi


C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass1 "C:\MyVideos\Temp\video3.log" -qtype 0 -nopacked -bvhq -max_bframes 1 -threads 4 -i "C:\MyVideos\Orignalvideo3.avs" -o NUL
C:\Programme\Megui\tools\xvid_encraw\xvid_encraw -pass2 "C:\MyVideos\Temp\video3.log" -bitrate 750 -qtype 0 -nopacked -bvhq -max_bframes 1 -imin 1 -bmin 1 -pmin 1 -threads 4 -i "C:\MyVideos\Orignalvideo3.avs" -avi "C:\MyVideos\temp\video3.avi"
C:\Programme\Megui\tools\ffmpeg\ffmpeg -i C:\MyVideos\temp\video3.avi -vcodec copy -i C:\MyVideos\Temp\audio3.mp3 -acodec copy -f avi C:\MyVideos\Ergebnisvideo3.avi

EXIT


Die Pfade müsst ihr natürlich anpassen, ebenfalls solltet ihr die Encodeeinstellungen an eure Begebenheiten anpassen (s. Brother Johns Encodingwissen bzw. Lame (eng.)).
Nur als Hinweis: ffmpeg ist zwar in der Lage eine mp3 zu erzeugen, diese ist aber nicht unbedingt auf allen Hardwaregeräten abspielbar, was ja das Hauptargument für die heutige Erzeugung von avis ist. Lame ist ein sehr guter mp3-encoder, kann aber keine mkv/mp4 direkt einlesen, deshalb der Umweg über die ffmpeg-Pipe.

Diese Datei speichert ihr dann mit der Dateiendung *.bat ab. Gestartet wird das Programm, indem ihr nur kurz darauf doppelklickt. Stellt also vorher sicher, dass ihr alles angepaßt habt. Verändern könnt ihr durch einfachen Rechtsklick und dann Bearbeiten (nicht "Öffnen", das würde ebenfalls zum Abarbeiten der Befehle führen).
Natürlich können auch mit Megui Xvid-Avis erstellt werden, diese sind in der Regel aber ebenfalls nur eingeschränkt abspielbar, weshalb das nicht wirklich zu empfehlen ist.

Zu guter Letzt noch der Rat: Konvertiert nichts, was nicht konvertiert werden muss. Denn im Gegensatz zu einem simplen Neumuxen, bei dem die einzelnen Daten unangetastet bleiben, führt jede Neukonvertierung stets zu einem Qualitätsverlust.

Referenzen