DVD/DVB-T(2)/VCD/OTR für MediaStreamer/iPod/iPhone konvertieren

Inhalt


A) Worum gehts?

Ich habe mir einen MediaStreamer/Video Jukebox A.C.Ryan (PlayonHD!2) mit eingebauter 3TB HD angeschafft und will nun meine Filme von VideoCD (VCD), SuperVideoCD(SVCD), selbst gebrannten DVDs und die DVB-T Aufnahmen meines Topfield PVR5000t und neuerdings meiner Dreambox DM7020 HD, aber auch die Aufnahmen vom OnlineTVRecorder Dienst darauf bringen. Das Ganze natürlich mit frei und kostenlos verfügbaren Tools.
Da ich auch noch einen alten iPod Video (5.Gen) mit 240GB HD habe und auch noch ein iPhone 4 möchte ich das ein oder andere Video auch dafür konvertieren - das natürich auch mit kostenlosen Tools.
Zu allererst sei der 'VLC Media Player' empfohlen. Mit diesem kann man die allermeisten Video- und Audiodateien und auch DVDs mit Menu abspielen.
Für iPod und iPhone Unterstützung kommt man an 'iTunes' sowieso nicht vorbei.

Und so gehts also unter Windows:


B) DVB-T Aufnahmen für MediaStreamer/iPod/iPhone

1.) Vom Topfield oder der Dreambox auf den PC

Die Aufnahmen des Topfields muss man per Altair-Software auf den PC übertragen. Diese haben die Endung '.rec' und sind (im Gegensatz zu vielen anderen DVB-T-Mitschnitten anderer SetTop Boxen) 1:1 Aufnahmen des Original DVB-T Signals/Streams!

Die Aufnahmen der Dreambox sind ebenfalls 1:1 Aufnahmen des Original DVB-T Signals/Streams und haben dort auch die richtige Dateiendung '.ts'. Man kann diese z.B. mit dem Programm 'WinSCP' auf den PC transferieren, wenn man den FTP-Dienst der Dreambox freigeschaltet hat.

2.) Demuxen der Streams

Um die Aufnahme zu schneiden muss man diese zunächst in Audio und Videoteile zerlegen. Dazu benutze ich die Software 'ProjectX'. (Vermutlich geht auch 'PVAStrumento'. Das habe ich aber in diesem Zusammenhang nicht getestet.) Man erhält in der Regel ein Videostream mit der Endung .m2v und ein oder mehrere Audiostreams '.mp2' (2-Kanal MPEG Audio mit unterschiedlichen Bitraten) oder '.ac3' (Dolby /AC3 2- oder Mehrkanal Audio). Man sollte nun den richtigen/passenden Audiostream raussuchen. Wenn man Mehrkanal möchte, sollte man sich den ac3-Stream näher ansehen. Manchmal ist dieser nicht 5.1 sondern 2.0. Dann würde ich eher den mp2 Audio Stream benutzen. Mit z.B. iTunes kann man sich anhören, ob dieser die richtige Sprache hat oder Informationen für Sehbehinderte enthält. Meist ist die größte Datei die richtige. Für eine Konvertierung auf iPhone oder iPod sollte man immer den mp2-Stream benutzen.

3.) Schneiden der Streams

Zum Schneiden benutze ich 'Cuttermaran'. Man lädt also das m2v in Cuttermaran (die mp2 oder ac3 Datei sollte automatisch mitgeladen werden) und kann dann die Werbung oder anderes rausschneiden. Das Ergebnis ist eine geschnittene m2v- und eine mp2- oder ac3-Datei.

4.) Muxen der Streams für MediaStreamer

Jetzt muss man Audio und Video wieder zusammenführen. Dazu benutze ich das Tool 'FFmpeg'. Zum verlustfreien Zusammenführen (Muxen) benutzt man folgendes Kommando:
	ffmpeg -i title.m2v -i title.mp2 -acodec copy -vcodec copy title.mpg
bzw. mit ac3-Audio:
	ffmpeg -i title.m2v -i title.ac3 -acodec copy -vcodec copy title.mpg
Der Ton dieses Videos wird allerdings nur von wenigen Playern wiedergegeben. Dazu gehören unter Windows der 'Media Player Classic - Home Cinema' und als MediaServer die von A.C.Ryan. Der VLC Media Player unter Windows und der WD Live MediaServer bringen keinen Ton. Man kann aber die Stereo Audio Datei (mp2) und die Dolby Digital 5.1 Audio Datei (ac3) zusammen in das Video muxen. Dazu verwendet man folgenden Aufruf:
	ffmpeg -i title.m2v -i title.mp2 -i title.ac3 -vcodec copy -acodec copy -acodec copy -map 0 -map 1 -map 2 title.mpg
Nun hat man einen passenden MPEG2 Videofilm für den MediaServer!
Zur Info: Informationen über die Mediastreams erhält man über die Kommandos:
	ffmpeg -i title.m2v
	ffmpeg -i title.mp2

Hier noch ein kleiner Ausflug in die Audio Konvertierung:
Wenn man den 5.1 AC3 Ton in einen Stereo Audio Ton umwandeln will, kann man folgenden Aufruf verwenden. -ac definiert die Zahl der auszugebenden Audio-Kanäle und -ab die Bitrate (hier 320kBit). Ohne Angabe von -ab hätte die Audio Datei nur 128kBit.

	ffmpeg -i title.ac3 -ac 2 -ab 320k title.mp2
So kann man auch eine mp3-Datei generieren:
	ffmpeg -i title.ac3 -ac 2 -ab 320k title.mp3
Und wenn man ein Video hat, das nur einen Audio Stream mit AC3 enthält, kann man daraus auf die gleiche Art eine Stereo Audio mp2 Datei generieren:
	ffmpeg -i title.mpg -ac 2 -ab 320k title.mp2
Wenn die Input Datei mehrere Audio Streams enthält, muss man mittels -map Parameter angeben, welchen Stream man wandeln möchte, z.B.:
	ffmpeg -i title.mpg -map 0:1 -ac 2 -ab 320k title.mp2
Bei '0:1' bedeutet '0' die erste angegebene Input Datei (es ist hier nur eine angegeben, daher muss dieser Wert hier '0' sein) und '1' der zweite Stream dieser Datei (man fängt hier auch bei '0' an zu zählen).

5.) Aufbereiten für das iPhone

Hierfür benutzt man 'FFmpeg':
	ffmpeg -i title.m2v -i title.mp2 -ab 160000 title.mp4
Dabei wird eine MP4-Datei erstellt mit einer Audio-Bitrate von 160kBit (ohne die Option -ab wären es default nur 128kBit). Diese lässt sich via iTunes auf das iPhone synchronisieren. Mit iTunes kann man der Datei auch noch ein Videocover mitgeben. Dieses wird in der Datei selbst gespeichert.

6.) Aufbereiten für einen iPod Video (5.Gen)

Auch dafür benutzt man FFmpeg, allerdings etwas komplexer, da das Video max 640 Pixel breit sein darf. Nun sollte man wissen, ob es sich um ein 16:9 Video oder ein 4:3 Video handelt.
Für ein 16:9 Video lautet die Kommandozeile:
	ffmpeg -i title.m2v -i title.mp2 -f mp4 -vcodec libxvid -maxrate 1000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -strict experimental -mbd 2 -s 640x360 -ab 160000 -vb 400000 title-iPod.mp4
und für ein 4:3 Video:
	ffmpeg -i title.m2v -i title.mp2 -f mp4 -vcodec libxvid -maxrate 1000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -strict experimental -mbd 2 -s 640x480 -ab 160000 -vb 400000 title-iPod.mp4
Zwar hat der iPod nur ein Display von 320 Pixeln Breite, über eine Videoverbindung zum Fernseher macht sich aber die 640er Auflösung positiv bemerkbar. Wenn man das nicht braucht, kann man in den Kommandozeilen statt '-s 640x360' auch '-s 320x180' bzw. statt '-s 640x480' auch '-s 320x240' benutzen. Die Datei lässt sich via iTunes auf den iPod synchronisieren. Mit iTunes kann man der Datei auch noch ein Videocover mitgeben. Dieses wird dann in der Datei selbst gespeichert.


C) DVD Aufnahmen für MediaStreamer/iPod/iPhone

ACHTUNG: Hier geht es nur um nicht kopiergeschützte DVDs. Bei DVDs mit Kopierschutz funktioniert der hier beschriebene Weg nicht.

1.) ISO-Image für MediaStreamer

Im Prinzip kann man aus der DVD eine ISO Datei generieren, z.B. mit dem Tool 'ImgBurn' - sofern der MediaStreamer DVD-Isos unterstützt. Dabei bleiben dann auch die Menüs und die Chapters erhalten. Wenn man aber z.B. unterschiedliche Filme auf der DVD einzeln haben möchte, bzw. diese auf iPhone/iPod bringen möchte, muss man einen anderen Weg gehen (siehe nächstes Kapitel). Man kann die ISO-Datei auch wieder als virtuelle DVD unter Windows einbinden. Dazu empfehle ich das Tool 'MagicDisc' (MagicISO Virtual CD/DVD-ROM). (Im Gegensatz zu manch anderen Tools, werden hier auch CDs und DVDs mit mehreren Sessions korrekt unterstützt, z.B. CDs mit Audio und Daten Tracks auf einer Scheibe.)

2.) Einzelne Titel aus DVD lesen für MediaStreamer

Um die einzelnen Titel (z.B. unterschiedliche Filme) von der DVD zu lesen, kann man das Tool 'MPlayer' benutzen. Man muss nicht das ganze Tool installieren. Es genügt, die Installer-exe mit z.B. 7zip zu öffnen und das Unterverzeichnis 'mplayer' auf HD zu kopieren. Damit kann man mplayer als Kommandozeile ausführen.
Wenn man nun den ersten Titel der DVD auslesen will, benutzt man folgendes Kommando:
	mplayer -dvd-device e: dvd://1 -dumpstream -dumpfile title1.vob
Dabei ist e: das DVD-Laufwerk. Das muss man dann natürlich entsprechend ersetzen. Für den zweiten Titel benutzt man:
	mplayer -dvd-device e: dvd://2 -dumpstream -dumpfile title2.vob
usw. Nun hat man die vob-Dateien, die der MediaStreamer direkt ausführen können sollte.

3.) Demuxen für iPhone und iPod

Es hat sich leider gezeigt, das ffmpeg die vob-Dateien nicht direkt korrekt wandeln kann (zumindest habe ich die passenden Einstellungen dafür nicht gefunden). Ich erhielt immer eine MP4-Datei, bei der der Ton früher zu Ende war, als das Video (etwa 10% früher), wobei der Ton die richtige Länge hatte, das Video aber plötzlich zu lang war. Also musste ich die vob-Datei erst demuxen. Hier hat Project X leider nicht geholfen. ich hatte immer Audio-drop-Outs im Ton. Daher verwendete ich zum Demuxen hier 'PVAStrumento'.
Damit erhalte ich wieder eine m2v (=mpv)-Datei und eine (oder mehrere) mp2- (=mpa)Audio-Dateien. (evtl. auch eine ac3-Datei).

4.) Videos für iPhone und iPod

Nun geht es weiter mit dem Tool 'FFmpeg' wie oben beschrieben für DVB-T unter 'Aufbereiten für das iPhone' bzw. 'Aufbereiten für den iPod Video'.


D) VCD und SVCD für MediaStreamer/iPod/iPhone

1.) Mehrere Videoteile aneinanderhängen

VideoCDS und SuperVideoCDs bestehen oft aus mehreren Videoteilen oder gar CDs. Man kopiert einfach zunächst die .DAT bzwl .MPG-Dateien, die im Verzeichnis \MPEGAV\ auf der CD sind auf die Festplatte. Dateien von einer zweiten CD desselben Films muss man fortlaufend numerieren, und in das gleiche Verzeichnis kopieren, damit man diese aneinanderhängen kann.
Dann erstellt man mit dem Kommando:
	copy /b AVSEQ??.DAT title-temp.mpg
bzw. für SVCDs:
	copy /b AVSEQ??.MPG title-temp.mpg
eine einzige mpg-Datei aus den Dateien einer oder meherer CDs.

Bei dieser muss man nun noch den Timecode richtig stellen. Dies kann man wieder mit 'FFmpeg' machen:

	ffmpeg -i title-temp.mpg -acodec copy -vcodec copy title.mpg
Zur Info: Das hat bei mir in der Regel geklappt. Lediglich bei VideoCDs aus ZYX Produktionen gab es hier Fehler!

Diese Datei ist nun für den MediaStreamer geeignet.

Zur weiteren Info: Es lohnt sich nicht eventuell schwarze Balken aus einem 4:3 Video entfernen und zu einem 16:9 Video zu machen. Der Aufruf würde lauten:

	für VCD: ffmpeg -i title.mpg -vf crop=in_w:216 -sameq -acodec copy title-16.mpg
	für SVCD: ffmpeg -i title.mpg -vf crop=in_w:360 -sameq -acodec copy title-16.mpg
Die Dateien werden aber erheblich größer und werden neu codiert - das macht sie nicht schöner!

2.) Videos für iPhone und iPod aufbereiten

Die Pixelggröße auf VCDs (352*288) und SVCDs (480*480) ist nicht im Verhältnis 1:1. Dies erkennt FFmpeg jedoch korrekt und rechnet die Bildgröße für MP4-Dateien automatisch auf korrekte 384*288 bzw. 640*480 um, so dass das Bild im Verhältnis 4:3 korrekt dargestellt wird. Da das Bild maximal 640 Pixel breit ist, benötigt man nicht unterschiedliche Dateien für iPod und iPhone. Zum konvertieren benutzt man dann folgendes Kommando:
	ffmpeg -i title.mpg -f mp4 -vcodec libxvid -maxrate 1000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -strict experimental -mbd 2 -ab 160000 -vb 400000 title.mp4
Wer nur eine Auflösung von max 320 Pixeln Breite haben möchte (das ist meiner Meinung nach nur bei SVCDs sinnvoll), kann folgenden Aufruf versuchen:
	ffmpeg -i title.mpg -f mp4 -vcodec libxvid -maxrate 1000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -strict experimental -mbd 2  -s 320x240 -ab 160000 -vb 400000 title-320.mp4
Die Datei lässt sich via iTunes auf den iPod oder das iPhone synchronisieren. Mit iTunes kann man der Datei auch noch ein Videocover mitgeben. Dieses wird dann in der Datei selbst gespeichert.

Zur Info: Für das iPhone würde auch folgendes Kommando genügen:

	ffmpeg -i title.mpg -ab 160000 title-iphone.mp4


E) OnlineTVRecorder für MediaStreamer

1.) Download Basis-Videoformat (AVI)

Über den Online-Dienst www.onlinetvrecorder.com ist es möglich, Fernsehsendungen aufzuzeichnen und sich diese als Videodatei auf den Rechner zu laden. Dieser Anleitung bezieht sich auf das bereits entschlüsselte AVI Format (auch HD AVI), das man sich zwischen 0:00 und 8:00 kostenfrei runterladen und mit dem kostenlosen Decoder entschlüsseln kann.
Durch die Umwandlung von avi nach mpeg2 nimmt allerdings die Dateigröße erheblich zu. Man könnte anschließend versuchen, die Dateigröße mittels optimierter Codierung wieder zu reduzieren. Darauf wird hier aber (derzeit) nicht eingegangen.

Man lädt aslo zunächst eine Videodatei title.mpg.avi.otrkey . Nach dem Decodieren heißt die Datei title.mpg.avi und kann bereits im VLC Media Player angeschaut werden. Man stellt aber fest, dass - wie bei Fernsehaufzeichnungen üblich - die Videodatei ca. 10 Minuten Vorlauf und 10 Minuten Nachlauf enthält und oft natürlich auch noch Werbung enthält. Somit empfiehlt es sich für dauerhaftes Archivieren, diese Videodatei zurechtzuschneiden.

2.) Demuxen der AVI Videodatei

Bevor das Video mit Cuttermaran geschnitten werden kann, muss man es erst noch demuxen. Dazu ruft man folgende zwei ffmpeg Kommandos auf, jeweils eins für den Audio und eins für den Videoteil:
	ffmpeg -i title.mpg.avi -vcodec mpeg2video -qscale:v 2 title.mpg.m2v
	ffmpeg -i title.mpg.avi -ab 192k title.mpg.mp2

3.) Schneiden

Zum Schneiden benutze ich 'Cuttermaran'. Man lädt also die eben generierte m2v-Datei in Cuttermaran (die mp2-Datei wird automatisch mitgeladen) und kann dann die Werbung oder anderes rausschneiden. Das Ergebnis ist eine geschnittene m2v-Video- und eine mp2-Audio-Datei.

4.) Muxen der Streams für MediaStreamer

Jetzt muss man Audio und Video wieder zusammenführen. Dazu benutze ich das Tool 'FFmpeg'.
Zunächst sollte man sich aber die neu geschnittene m2v Datei mit dem VLC Media Player ansehen.
Es kommt vor, dass das 16:9 Videomaterial nur verzerrt im 4:3 Format abgespielt wird. Manchmal ist der Filme auch im 4:3 Format, aber er wird im 16:9 Format mit schwarzen Balken rechts und links gesendet. In diesen Fällen kann man das Video während des Muxens entsprechend anpassen.
Sollte das jedoch nicht der Fall sein und das Video wird korrekt dargestellt, dann kann man zum Zusammenführen (Muxen) man folgendes Kommando benutzen:
	ffmpeg -i title.m2v -i title.mp2  -acodec copy -vcodec mpeg2video -qscale:v 2 title.mpg
Sollte - wie oben beschrieben - das Video verzerrt sein, dann sollte man das entsprechende richige Format als Parameter mit angeben:
	ffmpeg -i title.m2v -i title.mp2  -acodec copy -vcodec mpeg2video -qscale:v 2 -aspect 16:9 title.mpg
Und sollte der Film original im 4:3 Format sein, der Stream aber 16:9 mit schwarzen Balken links und rechts gesendet worden sein, dann sollte man das entsprechende richige Format als Parameter mit angeben und das Videobild entsprechend beschneiden (crop-Filter).
Hier im Beispiel ist es ein HD-Stream im Format 1280*720, in dem der Film im 4:3 Format steckt (Filmgröße: 960*720; obere linke Ecke bei y=160, x=0, d.h. der linke Rand ist 160 Pixel breit, und der rechte auch; kein Rand oben (0) und keiner unten):
	ffmpeg -i title.m2v -i title.mp2  -acodec copy -vcodec mpeg2video -qscale:v 2 -aspect 4:3 -filter:v "crop=960:720:160:0" title.mpg
title.mpg ist dann das geschnittene Video in MPEG2 Format, das auf dem MediaStreamer abgespielt werden kann.


F) DVB-T2 (H.265/HEVC) Aufnahmen für MediaStreamer

DVB-T2 in Deutschland

Seit April 2017 wurde in Deutschland DVB-T durch DVB-T2 HD abgelöst. Im Gegensatz zu Österreich wird in Deutschland der H.265/HEVC Codec benutzt (Österreich: H.264). Eine Hardwareunterstützung dieses Codecs ist Anfang 2016 noch dürftig und eine softwaremäßige Dekodierung erfordert eine Menge Rechenleistung, der die meisten Settop Boxen nicht gewachsen ist.
Auf dem PC kann man mit dem VLC Player diese Streams abspielen. Je nach Leistungsfähigkeit des Rechners merkt man aber deutlich, wie es ruckelt.
Aktuelle Versionen von FFmpeg kommen aber mit H.265 klar. Damit kann man dann den Stream in sein Zielformat schneiden und wandeln.

Als DVB-T2 Empfänger habe ich mir den Xoro HRT 7620 und dann noch den Xoro HRT 8720 angeschafft. Damit kann man auch die Streams auf ein USB-Medium aufnehmen, die man dann am PC in ein H.264 wandeln kann, damit es ein MediaStreamer, der kein H.265 unterstützt, auch abspielen kann. Gleichzeitig kann man den Stream schneiden (z.B. Anfang und Ende). Die verschlüsselten privaten Sender kann man auf die im Folgenden genannte Weise jedoch nicht schneiden.

Die Streams im mts- oder ts-Container kann man mit ffmpeg -i title.ts analysieren. Hier ein Beispiel für 'One', 'BR' oder 'Das Erste':

Die Streams im mts- oder ts-Container beim Sender 'ZDF Info' an einem weiteren Beispiel:

Konvertierung mit ffmpeg von H.265/HEVC zu mkv (H.264)

Für das obige erste Beispiel ('One', 'BR' oder 'Das Erste') ergibt sich dann folgender Befehl:

	ffmpeg -i title.ts -map 0:3 -map 0:4 -map 0:5 -c:v libx264 -crf 23 -c:a eac3 -b:a 256k -ss 00:11:18 -t 01:45:13 title.mkv

Für das obige zweite Beispiel ('ZDF Info') ergibt sich dann folgender Befehl:

	ffmpeg -i title.ts -map 0:0 -map 0:1 -map 0:2 -map 0:4 -c:v libx264 -crf 23 -c:a copy -c:s ass -ss 00:12:26 -t 01:19:16 title.mkv

Weitere Codierungsbeispiele aus früheren Testausstrahlungen (Anfang 2016)

Testausstrahlung beim Sender 'Das Erste':

Mit ffmpeg konvertiert:
		ffmpeg -i title.mts -map 0:2 -map 0:7 -map 0:3 -map 0:4 -map 0:6 -c:v libx264 -crf 23 -c:a:0 copy -c:a:1 eac3 -b:a:1 256k -c:a:2 eac3 -b:a:2 256k -c:s ass -ss 00:11:18 -t 01:45:13 title.mkv

Testausstrahlung beim Sender 'arte':

Mit ffmpeg konvertiert:
		ffmpeg -i title.mts -map 0:1 -map 0:2 -map 0:3 -map 0:6 -map 0:5 -map 0:7 -c:v libx264 -crf 19 -c:a eac3 -b:a 256k -c:s ass -ss 00:12:26 -t 01:19:16 title.mkv

Schneiden von Werbeunterbrechungen

Wenn man nun Werbeunterbrechungen entfernen will, muss man bei ffmpeg alle Teile des Films einzeln aus der Gesamtaufnahme herauskodieren und anschließend wieder zusammenfügen. Dies war bei mir z.B. bei der Vorabendserie Hubert und Staller im Ersten notwendig. Die notwendigen Schritte dazu waren dann:


G) Weiterführende Informationen


Axel Findling, 2011-11-24
letzte Änderung 2017-05-11