Konvertierung beliebiger Filme nach TS mit FFMPEG

Schneiden, Encoden und Brennen
Nachricht
Autor
SpeedyBoo
Serienhai
Serienhai
Beiträge: 339
Registriert: Sa 18 Dez 2004, 10:49

Konvertierung beliebiger Filme nach TS mit FFMPEG

#1 Beitrag von SpeedyBoo » Mi 08 Feb 2006, 20:06

Anleitung zur Konvertierung eines beliebigen Films in ein dBox-konformes TS-Format mit Hilfe von FFMPEG

Immer wieder wird hier im Forum die Frage gestellt, wie man einen Film auf dem PC, der in einem Nicht-MPG-Format (z.B. AVI) vorliegt, in einen TS-Stream umwandeln kann, um Ihn dann über den Movieplayer auf der Box anschauen zu können. Es gibt zahlreiche Programme, kostenlose wie -pflichtige, die dies machen, meisst aber brauchen die eine halbe Ewigkeit und das Ergebnis ist auch nicht berauschend.

Durch eine Bemerkung von jmittelst bin ich auf FFMPEG aufmerksam geworden, da ich selber auch vor dem Problem stand und bis dato keine befriedigende Lösung gefunden hatte. Meisst waren mehrere Arbeitsschritte nötig, die Konvertierung an sich brauchte wie gesagt eine Ewigkeit und das Ergebnis war nicht so berauschend, soll heissen, dass die Quali der Filme durch die Konvertierung gelitten hat.

Nicht so mit FFMPEG! FFMPEG ist verdammt schnell (Ein 2 Stundenfilm ist in weniger als einer Stunde konvertiert!) und die Qualität des resultierenden Films ist genauso gut (oder schlecht :D ) wie das Ausgangsmaterial (logisch, dass ein schlechte Filmqualität nicht besser werden kann, oder?!). Warum benutzt es also nicht jeder, vor allem da es erstens so ziemlich alle Formate beherrscht (mpg, avi, wmf, QuickTime, RealTime, ...), und zweitens ja auch noch kostenlos ist?!

Ganz einfach, es ist ein Kommandozeilen basiertes Tool. D.h. es gibt keine GUI (Graphic UserInterface, zu deutsch grafische Benutzeroberfläche), in der man durch setzen von Häkchen, drücken von Buttons recht problemlos zum Ziel kommt. Man muss jede Einstellung von Hand vornehmen, und das sind je nach dem zu konvertierenden Material eine Menge. Zusätzlich kommt hinzu, dass FFMPEG ein OpenSource-Projekt ist, offiziell wird nur der Quellcode zum Download angeboten (ähnlich wie bei ProjectX). Es ist nicht in Java programmiert, sondern basiert auf einer Linux C-Version, da es ursprünglich mal für Linux entwickelt wurde. Für Windows braucht man eine entsprechende Entwicklungsumgebung von MINGW, um eine Executable zu kompilieren.
Wer allerdings ein bisschen nach "FFMPEG" und "Executable" oder "Binary" googelt, findet auch bereits fertige Win32-Binaries zum Downloaden, zumindest hab ich es so gemacht.
Wer eine Windows-Executable selber kompilieren will, findet Hilfe dazu unter http://ffmpeg.sourceforge.net/ffmpeg-doc.html. Dies ist übrigens auch die Homepage von FFMPEG.

Da ich mich nun in den letzten Tagen von der Leistungsfähigkeit des Tools überzeugt konnte, nebenbei viel experementiert habe, leiste ich nun Überzeugungsarbeit und versuche das Programm bzw. die Optionen ein wenig zu erläutern bzw. welche Einstellungen wann vorzunehmen sind, denn eigentlich braucht man nur ein paar der unendlich vielen Optionen.

Fangen wir einfach mal an:
Erst mal Grundsätzliches: Damit ich FFMPEG recht einfach von überall aufrufen kann, hab ich das Programmverzeichnis in die Systemvariable PATH mit angehängt. So brauche ich nur noch ein DOS-Fenster zu öffnen, in das Verzeichnis wechseln, in dem sich der zu konvertierende Film befindet und dann FFMPEG nur noch aufzurufen. Erspart eine Menge Tipperei durch den Wegfall der Pfadangaben.

Ruft man FFMPEG ohne weitere Parameter auf, wird die komplette Optionenliste angezeigt. Da diese sehr lang ist, scrollt das DOS-Fenster natürlich durch. Insgesamt sind's 169(!) Optionen, von denen aber zum Konvertieren ca. 20 lediglich gebraucht werden.
Macht's einfach mal, nur damit ihr es mal gesehen habt! ;-)

Auf der Platte habe ich schon länger ein AVI rumfliegen, dass ich mir gerne mal am Fernseher anschauen möchte, "Getaway in Stockholm 4 CD2.avi".

Um zu erfahren, in was für einem speziellem Format der Film genau vorliegt, gebt

ffmpeg -i "Getaway In Stockholm 4 CD2.avi"

ein (Die Anführungszeichen sind notwenig wegen der Blanks im Dateinamen). Folgende Meldung erscheint:

H:\Movie>ffmpeg -i "Getaway In Stockholm 4 CD2.avi"
ffmpeg version 0.4.9-pre1, build 4743, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-mp3lame --enable-vorbis --enable-faad --enable-faac --enable-xvid --enable-mingw32 --enable-a52 --enable-dts --enable-pp --enable-gpl --enable-memalign-hack
built on Feb 22 2005 04:58:29, gcc: 3.4.2 (mingw-special)
Input #0, avi, from 'Getaway In Stockholm 4 CD2.avi':
Duration: 01:16:56.1, start: 0.000000, bitrate: 1267 kb/s
Stream #0.0: Video: msmpeg4, 480x368, 29.97 fps
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 142 kb/s
Must supply at least one output file

Der erste Teil bezieht sich auf die EXE selber, ist also unwichtig. Interessant wird's ab Input #0. Zunächst einmal wird angezeigt, dass es sich tatsächlich um ein AVI handelt (könnt ja auch was anderes sein, Dateiendungen müssen nicht immer korrekt sein). Dann die Länge des Streams, wann startet der Stream, die durchschnittliche Bitrate. Weiterhin stellt FFMPEG fest, dass die Datei aus 2 Streams besteht. Stream 0 (in der EDV ist das erste Element vom Index her immer 0) ist der Videostream.
Er liegt als msmpeg4 (besonderes Microsoft MPEG-Format) vor in der Auflösung 480x368 und einer Framerate von 29.97, was uns verrät, dass es sich hier wahrscheinlich um ein NTSC-Film handelt. Stream 1 (also der 2.) ist der Audiostream, der liegt als MP3 vor in 48000Hz, 142kB/s und in Stereo.

Schön, was machen wir nun damit?! Durch Probieren hab ich festgestellt, dass es in den meissten Fällen bei den heruntergeladenen Filmen reicht, die in SVCD-konforme Formate zu konvertieren. Dazu gibt es zwei Möglichkeiten:

1. über die Option -target format, wobei format ersetzt wird durch pal-svcd. Es gibt noch weitere vordefinierte Zielformate, die gängisten sind vcd, svcd, pal-vcd, pal-svcd, ntsc-vcd, ntsc-svcd, dvd, pal-dvd und ntsc-dvd. Durch diese Option werden durch FFMPEG bestimmte Voreinstellungen gemacht, die andere Optionen, die den
Voreinstellungen widersprechen, ausser Kraft setzen. Ich hab's ausprobiert, allerdings bin ich mit dem Ergebnis nicht zufrieden gewesen. So wurde z.B. nicht die Aspect Ratio gesetzt, was u.U. bei einigen DVD-Authoringprogrammen zu Problemen führen kann. Der MPC hat die Filme auf Grund dessen verzerrt angezeigt. Obwohl es mehr Tippaufwand bedeutet, bin ich dazu übergangen, Variante 2 nur noch zu benutzen:

ffmpeg -i "Getaway In Stockholm 4 CD2.avi" -vcodec mpeg2video -r 25 -s 480x576 -aspect 4:3 -sameq -hq -acodec mp2 -ab 128 -ar 44100 "c:\dBox\Getaway In Stockholm 4 CD2.ts"
  • -i steht für Inputstream, der zu konvertierende Film also.
  • -vcodec format definiert, in welches Videogrundformat konvertiert werden soll, in diesem Fall mpeg2video, da dies SVCD-konform ist.

    Es gibt eine Menge mehr Formate, wenn ihr wissen wollt, welche Formate FFMPEG beherrscht, gebt FFMPEG -formats ein, dann werden alle möglichen Formate aufgelistet zusammen mit u.a. einer Angabe, ob es decodiert bzw. encodiert werden kann (die ersten beiden Buchstaben) und ob es sich um ein Video oder Audioformat handelt (3. Buchstabe).
  • -r 25 steht für die PAL-konforme Bildwiederholrate von 25 Bildern/sek.
  • -s 480x576 steht für die Auflösung, für DVD nach PAL-Norm würde man 720x576 eintragen.
  • -aspect 4:3 setzt das Bildschirmverhältnis. Ohne diese Option enthält der resultierende Stream kein aspect ratio Flag, was auf dem PC zu einer verzerrten Wiedergabe führt, zudem meckern einige DVD-Authoringprogramme, wenn das Flag im Stream fehlt.
  • -sameq steht dafür, dass der Zielstream eine äquivalente Qualität zum Quellstream aufweisst (Same Quality). Ich hab versucht, dass über das setzen eigener Bitraten hinzubekommen, aber ich gebe gerne zu, dass die Ergebnisse immer schlechter waren als mit der gesetzten Option -sameq.
    Also warum kompliziert wenn's einfach geht?! Tatsache ist, dass der Zielstream nie schlechter geworden ist als das Ausgangsmaterial, und mehr will man ja auch nicht.
  • -hq steht für High Quality. Das soll sich nochmals auf die Qualität des Zielstreams positiv auswirken. Ich hab die Option auch mal weggelassen und konnte ehrlich gesagt keinen Unterschied feststellen, aber schaden tut's auch nicht, und da es nicht viel zu tippen ist, lasse ich es immer drin.

    Der Videoteil ist damit abgeschlossen. Jetzt kommen die Optionen für den Audiostream.
  • -acodec mp2 es gilt das Gleiche wie für vcodec. Ich nehme mp2, weil das SVCD-konform ist.
  • -ab 128 steht für die Bitrate in kbits/s des Audiostreams. Hier weiche ich ein wenig vom SVCD-Standard ab, was aber nicht schlimm ist. Standard für SVCD und DVD wäre 192
  • -ar 44100 steht für die Frequenz in Hz. Auch hier ist es nicht ganz Standard, der ist normalerweise 48000Hz
So, dass war's eigentlich schon. Jetzt nur noch den Namen und das gewünschte Zielformat festlegen und dann kann's losgehen. Das Zielformat wird durch die Endung der Zieldatei festgelegt, wobei die Endung schon zum gewählten Codec passen sollte. Da ich einen TS-konformen Stream haben will, wähle ich also .ts als Dateiendung.

Nach Drücken der Entertaste erscheinen folgende Meldungen:

ffmpeg version 0.4.9-pre1, build 4743, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-mp3lame --enable-vorbis --enable-faad --enable-faac --enable-xvid --enable-mingw32 --enable-a52 --enable-dts --enable-pp --enable-gpl --enable-memalign-hack
built on Feb 22 2005 04:58:29, gcc: 3.4.2 (mingw-special)
Input #0, avi, from 'Getaway In Stockholm 4 CD2.avi':
Duration: 01:16:56.1, start: 0.000000, bitrate: 1267 kb/s
Stream #0.0: Video: msmpeg4, 480x368, 29.97 fps
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 142 kb/s
Output #0, mpegts, to 'c:\dBox\Getaway In Stockholm 4 CD2.ts':
Stream #0.0: Video: mpeg2video (hq), 480x576, 25.00 fps, q=2-31, 200 kb/s
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 128 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
frame= 2997 q=0.0 size= 53108kB time=119.8 bitrate=3630.3kbits/s

Neben dem schon bekannten Input-Teil werden nun Infos zum Zielstream angezeigt. Ich erläutere die jetzt nicht mehr, letztlich dient es der Kontrolle, ob man auch alles richtig eingegeben hat. Interessant ist jetzt nur noch die letzte Zeile. Sie zeigt Infos zum laufenden Konvertierungsprozess an. Die Bedeutungen:
  • frame=xxxxx - Anzahl bereits verarbeiteter Frames
  • q=0.0 - ???
  • Size=xxxxxxxxkB - momentane Größe der Ergebnisdatei
  • time=xxx.x - momentane Länge des Zielstreams
  • bitrate=xxxx.xkbits/s - Durchschnittliche Bitrate des bis dahin erstellten Zielstreams.
Irgendwann ist's dann fertig, in diesem Fall hat's gerade mal 'ne halbe Stunde gedauert.
Natürlich ist die Dauer der Konvertierung auch vom PC abhängig, aber im Vergleich zu TMPGEnc2.5 ist FFMPEG um ein vielfaches schneller. Mit TMPGEnc2.5 hätte ich für die Konvertierung in ein SVCD-konformes Format ca. 2-3 Stunden gebraucht und das mit einem 3.2 GHz Rechner.
Und dann muss ich das Ergebnis ja noch in TS umwandeln, mit FFMPEG hab ich also noch einen Arbeitsschritt gespart.

Für's erste soll dies genügen. In einem weiteren Teil will ich dann noch versuchen zu erklären, wie man einen 4:3 Film in einen 16:9 Film und genauso einen Cinemascope-Film in 16:9 Film mit Hilfe von FFMPEG konvertiert.

Aber bis dahin wünsche ich viel Spass beim Ausprobieren!

P.S.: Wer einen so langen Atem hatte und bis hierhin durchgehalten hat, für den hab ich hier noch die Windows-Binary von FFMPEG.
Dateianhänge
FFMpeg.zip
(2.56 MiB) 1931-mal heruntergeladen
Sagem 1xI JTG-Image (immer aktuelles Snapshot)
avia500v110
avia600vb022
ucode_B107
cam_01_02_105D
Umstieg von XMG auf JTG 0.7.4c
TS-Streaming über lokale Timer
WinXP Prof. SP2 + NFS-Server, Intel 3.2GHz, 1GB, Intel-Chipsatz, X800XT PE, Sound onBoard, ca.320GB Festplatte (3 Stück)
Canon Pixma iP3000

DrRamoray
Site Sponsor
Site Sponsor
Beiträge: 1453
Registriert: Mo 04 Aug 2003, 16:22
Wohnort: Nürnberg
Kontaktdaten:

#2 Beitrag von DrRamoray » Mi 08 Feb 2006, 22:07

Liest sich sehr gut, besten Dank für die Anleitung :top:

Werd ich sicher bei Gelegenheit mal ausprobieren.
NOKIA 2xI Avia500 JtG-Image mit IDE-IF, Dreambox 7025CC + 800C OoZooN-LeanCVS, Streaming-Server
Bild

Benutzeravatar
DrStoned
Moderator
Moderator
Beiträge: 2604
Registriert: Mo 15 Sep 2003, 22:57
Wohnort: Reutlingen
Kontaktdaten:

#3 Beitrag von DrStoned » Do 09 Feb 2006, 4:53

Ich habs mal gepinnt, vielen Dank für die tolle Anleitung. :respekt: :respekt: :respekt:
Greetz von DrStoned :lol: :lol: :lol:

1. Box: Nokia Avia 500 2x Intel SAT Bmon 1.0 mit 64 MB Onbord-RAM, 100 GB Wechsel-Festplatte, 1GB-CF-Karte, USB-Interface, blaues Display
2. Box: Nokia Avia 500 2x Intel SAT Bmon 1.0
3. Box: Nokia Avia 500 2x AMD Kabel Bmon 1.0
4. Box: Dreambox 7025+ 2 SAT-Tuner mit 250 MB Festplatte, 2 GB CF-Karte
Image: Immer aktuelles JtG-Image, mit aktuellem Snapshot
Hardware: StreamPC: ASUS-A7V-133 Athlon 900, 256MB RAM, NIC 3COM 3C905C-TX 40 GB + 160 GB + 400 GB Festplatte, DVD-Brenner: LG-4160B
Arbeits-PC: MSI-KT3 Ultra Athlon 2800XP 512MB RAM, DVD-Brenner: Toshiba SD-R5112,
DVD-Player: APEX AD703, Daewoo 5000N
Software: SFU 3.5, ProjectX, Cuttermaran, Nero 6.0.0.19, VLC 0.72

Sedonion
Serienhai
Serienhai
Beiträge: 456
Registriert: Mi 10 Nov 2004, 9:54
Wohnort: Bremen
Kontaktdaten:

#4 Beitrag von Sedonion » Do 09 Feb 2006, 7:28

Liest sich nicht schlecht, nutze ffmpeg seit gut einem Jahr und rennt perfekt. Auch die Umwandlung von NTSC in PAL läuft schnell und einwandfrei.
Wer sich tiefer einarbeiten will, hier die Sourceforge Anleitung (englisch):
http://ffmpeg.sourceforge.net/ffmpeg-doc.html

Ein Frage: Welche Version ist im DL Paket? Die 0.4.9 pre1 oder eine neuere?
Dbox2 Nokia Kabel, Premiere Komplett
avia500v110, avia600vb022, cam_01_02_105D, ucode_B107
JtG 7.4c, udrec 0.12o
ProjectX 0.90.1.00
Muxxi 1.10.046
VLC 0.8.0

SpeedyBoo
Serienhai
Serienhai
Beiträge: 339
Registriert: Sa 18 Dez 2004, 10:49

#5 Beitrag von SpeedyBoo » Do 09 Feb 2006, 8:47

Ist die 0.49-pre1 built 4743 und ist laut der Projekthomepage bei SourceForge.net die akuellste. Die Binary selber ist vom 22.02.2005.

Vielen Dank für das viele Lob, das spornt ja an für die Erstellung des 2. Teils der Doku! :D
Sagem 1xI JTG-Image (immer aktuelles Snapshot)
avia500v110
avia600vb022
ucode_B107
cam_01_02_105D
Umstieg von XMG auf JTG 0.7.4c
TS-Streaming über lokale Timer
WinXP Prof. SP2 + NFS-Server, Intel 3.2GHz, 1GB, Intel-Chipsatz, X800XT PE, Sound onBoard, ca.320GB Festplatte (3 Stück)
Canon Pixma iP3000

Benutzeravatar
jmittelst
Co-Admin
Co-Admin
Beiträge: 11013
Registriert: So 16 Nov 2003, 13:42
Wohnort: Schildgen (Bergisch Gladbach)
Kontaktdaten:

#6 Beitrag von jmittelst » Do 09 Feb 2006, 9:35

Dank Dir SpeedyBoo - tolle Arbeit!

cu
Jens
VU+ Ultimo 4k
VU+ Duo²
VU+ Solo²


[Zitat]Es gibt 2 Dinge, die unendlich sind. Das Weltall und die Dummheit der Menschen. Beim Weltall bin ich mir aber nicht so sicher...[/Zitat]
Vorsicht! Lesen kann zu Bildung führen! Links, Suchfunktion, Wikis und Google deshalb nur mit Bedacht nutzen!

gmo18t
Einmal-Streamer
Einmal-Streamer
Beiträge: 17
Registriert: Mi 24 Mär 2004, 8:51

#7 Beitrag von gmo18t » Mi 01 Mär 2006, 12:34

... hab ffmpeg - glaub ich - in Vergangenheit schon öfters mal erwähnt (wenn nicht hier dann im Tuxbox-Forum) ...

Aber der Vollständigkeit sollte man noch folgenden kleinen Mangel erwähnen: Die TS-Struktur, die ffmpeg erzeugt, weist einige Fehler auf, die im großen und ganzen den DBox2-Movieplayer (und auch andere Programme) nicht unbedingt stören.
Mit Ausnahme, daß die Art der PES-Paketisierung, beim Movieplayer zu gelegentlichen Rucklern/Hängern führen kann, aber auch nur wenn die Zielbitrate recht hoch ist (so in etwa ab 4-5MBit).

Die Meisten werden das dann als "normale" Ruckler wegen Überschreiten der bei 10MBit max. vorhandenen Bandbreite einordnen - ist dann aber nicht in jedem Fall so :)

- GMo -

MOS-Marauder
Serienhai
Serienhai
Beiträge: 257
Registriert: Fr 14 Jan 2005, 20:46

#8 Beitrag von MOS-Marauder » Sa 04 Mär 2006, 18:01

Hi Leutz ...

Das is alles nett und leider nur für Kommandozeilen Freaks geeignet.

Ich empfehle Euch daher AVIDEMUX 2.

Das ist sowas wie Virtual Dub Mod mit dem unterschied das es auch Mpeg encodedn kann.
(Basierend auf FFMPEG ;-))

http://www.avidemux.org/

Das Programm gibt es für Windows und Linux... HF
_______________________________________
Dreambox 7020S(ENIGMA) + XMG 0.3.5 (Win und Linux)
TechnoTrend DVB-S2 3200 HDTV+CI & CAM
Asus P4V800D-X & P4 Northwood 3ghz +, 1 GB RAM
MSI GForce FX 7900gts - VMagicTV Plus Plugin (Harware Mpeg Encoder)
Creative Audigy I
CCE 1.0 SP2 ORIGINAL
_______________________________________

Benutzeravatar
jmittelst
Co-Admin
Co-Admin
Beiträge: 11013
Registriert: So 16 Nov 2003, 13:42
Wohnort: Schildgen (Bergisch Gladbach)
Kontaktdaten:

#9 Beitrag von jmittelst » Sa 04 Mär 2006, 18:16

Im Gegensatz zu einer Gui kann man die Kommandozeile aber auch super in eigene Routinen einbinden.

cu
Jens
VU+ Ultimo 4k
VU+ Duo²
VU+ Solo²


[Zitat]Es gibt 2 Dinge, die unendlich sind. Das Weltall und die Dummheit der Menschen. Beim Weltall bin ich mir aber nicht so sicher...[/Zitat]
Vorsicht! Lesen kann zu Bildung führen! Links, Suchfunktion, Wikis und Google deshalb nur mit Bedacht nutzen!

MOS-Marauder
Serienhai
Serienhai
Beiträge: 257
Registriert: Fr 14 Jan 2005, 20:46

#10 Beitrag von MOS-Marauder » Sa 04 Mär 2006, 18:28

Ja stimmt Jens, aber das geht via Script in Avisemux (für forgeschrittene Benutzer) auch ;)

Nur das man dort das Resizing usw automatisch machen kann....
_______________________________________
Dreambox 7020S(ENIGMA) + XMG 0.3.5 (Win und Linux)
TechnoTrend DVB-S2 3200 HDTV+CI & CAM
Asus P4V800D-X & P4 Northwood 3ghz +, 1 GB RAM
MSI GForce FX 7900gts - VMagicTV Plus Plugin (Harware Mpeg Encoder)
Creative Audigy I
CCE 1.0 SP2 ORIGINAL
_______________________________________

SpeedyBoo
Serienhai
Serienhai
Beiträge: 339
Registriert: Sa 18 Dez 2004, 10:49

#11 Beitrag von SpeedyBoo » Mo 06 Mär 2006, 8:27

Da sieht man mal wieder, wer noch aus der alten Schule kommt und mit der Kommandozeile umgehen kann! :D :D

Ob ich nun die ganzen Befehle in ein Skript packe oder über die Kommandozeile eingebe (übrigens braucht man da auch nur einmal eingeben und kann zum Ausprobieren die Zeile immer wieder editieren DOSKEY sei Dank), vom Aufwand her für mich das Gleiche.

Aber letztlich ist es eine Geschmacksfrage, jeder hat seine Vorlieben, und damit "Newbies" auch mit der Kommandozeile zurechtkommen, habe ich die Anleitung geschrieben. Denn eine GUI muss nicht unbedingt besser sein, die kann dermassen mit Optionen überfrachtet sein, dass man sehr schnell den Überblick verliert, und wenn's dann keine ordentliche Online Hilfe gibt, gute Nacht Marie.
Sagem 1xI JTG-Image (immer aktuelles Snapshot)
avia500v110
avia600vb022
ucode_B107
cam_01_02_105D
Umstieg von XMG auf JTG 0.7.4c
TS-Streaming über lokale Timer
WinXP Prof. SP2 + NFS-Server, Intel 3.2GHz, 1GB, Intel-Chipsatz, X800XT PE, Sound onBoard, ca.320GB Festplatte (3 Stück)
Canon Pixma iP3000

JonWain
Einmal-Streamer
Einmal-Streamer
Beiträge: 19
Registriert: Di 27 Dez 2005, 19:07

#12 Beitrag von JonWain » Mo 07 Aug 2006, 10:48

Sehr gute Anleitung, vielen Dank dafür. Sehr gut verständlich und auch eine gute Auswahl der Parameter, ich habe diese einfach übernommen.

Wie könnte man das wohl nutzen, um automatisch ein ganzes Verzeichnis in ts- files umzuwandeln? Ich kann ja schlecht jedes File mit einer Pausen Funktion c.a. 1 Stunde warten lassen und hoffen, dass das File davor dann soweit ist. Gibt es eine Funktion, welche besagt, dass er warten soll, bis die vorige FFMPEG Session beendet ist?

SpeedyBoo
Serienhai
Serienhai
Beiträge: 339
Registriert: Sa 18 Dez 2004, 10:49

#13 Beitrag von SpeedyBoo » Mo 07 Aug 2006, 13:31

Über eine Batchdatei geht das. Standardmässig wird der nächste Batchbefehl erst dann abgearbeitet, wenn das Kommando bzw. das Programm des vorgehenden Batchkommandos sich beendet hat. Wenn Du jetzt hingehst und die Quelldateien namensmässig durchnumerierst, kannst Du die Verarbeitung in einem Loop so lange laufen lassen, bis alle Dateien abgearbeitet sind.
Sagem 1xI JTG-Image (immer aktuelles Snapshot)
avia500v110
avia600vb022
ucode_B107
cam_01_02_105D
Umstieg von XMG auf JTG 0.7.4c
TS-Streaming über lokale Timer
WinXP Prof. SP2 + NFS-Server, Intel 3.2GHz, 1GB, Intel-Chipsatz, X800XT PE, Sound onBoard, ca.320GB Festplatte (3 Stück)
Canon Pixma iP3000

JonWain
Einmal-Streamer
Einmal-Streamer
Beiträge: 19
Registriert: Di 27 Dez 2005, 19:07

#14 Beitrag von JonWain » Mo 07 Aug 2006, 14:03

Ach so, das ist ja praktisch. Vielleicht kann man sich das unbenennen sparen, wenn vorher das Verzeichnis mit

dir /A-D-H /b >batch/datei.txt

eingelesen wird. Dann müsste man die Datei nur noch von dem Batch auslesen lassen, die Endungen für das TS File ändern und so würde man auch die Dateinamen behalten.

JonWain
Einmal-Streamer
Einmal-Streamer
Beiträge: 19
Registriert: Di 27 Dez 2005, 19:07

#15 Beitrag von JonWain » Mo 07 Aug 2006, 14:46

Ungefähr so:
Verzeichnis erstellen, wo die zu konvertierenden Dateien drin sind.
In diesem Verzeichnis ist ffmpeg im gleichnamigen Verzeichnis (also Order\ffmpeg)
Darüber hinaus gibt es noch das Verzeichnis "ts", wo die fertigen Dateien abgespeichert werden sollen. (ordner/ts)

Folgende Batch-Datei unter ffmpeg:
---------------------test.bat-------------------------
cd..
dir /A-D-H /b >ffmpeg/datei.txt
cd ffmpeg
FOR /f "tokens=*" %%f IN (datei.txt) DO ffmpeg -i "d:\videos\%%f" -vcodec mpeg2video -r 25 -s 480x576 -aspect 4:3 -sameq -hq -acodec mp2 -ab 128 -ar 44100 "d:\videos\ts\%%~nf.ts"
------------------------------------------------------

Höre gerne Verbesserungsvorschläge

gruß Jon

P.S.: Was mache ich denn, wenn die Original-Datei mehrere Tonspuren hat?

Antworten