Andreas Bohle
Folgenden Beitrag sendete Tobias Speidel ein:
Hallo Linux-Freaks,
vor zwei Jahren habe ich damit angefangen, es mit der Videobearbeitung unter Linux zu versuchen, und nach einer Woche harten Kampfes habe ich es am letzten Montag eine halbe Stunde vor Mitternacht geschafft:
Ich konnte eine unter Linux gebrannte Super-Video-CD auf CD-RW in meinem DVD-Player abspielen. Die Aufgabenstellung war, zwei Standbilder mit Musik ineinander überzublenden:
- Schnitt (Überblendung) erfolgte mit Broadcast2000
- MPEG-Codierung mit mjpegtools
- CD-Image erstellen mit vcdimager
- CD brennen mit cdrdao (und eventuell cdrecord)
Vorteil einer Super-Video-CD (SVCD): Die Auflösung horizontal 480 und vertikal 576 Pixel ist zwar etwas schlechter als die DVD mit 720x576 Pixel aber viel besser als alles andere wie analoges VHS oder S-VHS oder die normale Video-CD 1.0 oder 2.0. Außerdem ist die SVCD ein Standard und läßt sich auf DVD-Playern abspielen. Der Film wird wie bei DVD mit MPEG2 komprimiert, und die SVCD läßt sich mit billigen CD-Brennern auf CD-R- oder CD-RW-Medien brennen, die im Vergleich zu DVD-R (A)- oder (G)-Medien spotbillig sind. Auf eine SVCD passen vermutlich nicht mehr als 30 bis 60 Minuten Film, aber für die eigenen Filmchen reicht das zweimal aus.
Wer längere Urlaubsfilme dreht ist entweder ein begnadeter Dokumentarfilmer oder möchte sein Publikum vorsätzlich langweilen.
--------------------------------------------------------------
Ein Mikro-HowTo für Interessierte, wie es bei mir unter SuSE 7.3 funktioniert hat:
Alle oben aufgeführten Programmpakete sind als fertige RPMs unter SuSE 7.3 enthalten. Allerdings fehlen bei den mjpegtools die wichtigen Programme mp2enc zum Codieren des Tons und mpeg2enc für den Film. Weiß der Geier, warum SuSE das verpennt hat. Unter http://download.sourceforge.net/mjpeg liegt ein RPM für SuSE 7.1. Aus diesem RPM habe ich die zwei fehlenden Programme extrahiert und zu den anderen ins Verzeichnis /usr/bin kopiert.
Der Film wurde mit Broadcast2000 geschnitten und dann als Quicktime-Film mit Ton 16 Bit und 44,1 kHz und Video als MJPEG A-Codierung mit 25 Frames pro Sekunde gerendert. Die Frame-Größe für die Ausgabe ("Projektor") betrug 768x576 Pixel.
Die MPEG2-Codierung des Bildes sollte eigentlich so funktionieren:
vcddebug -v --cdrom-device=/dev/scd0
Leider ging es aber nur schrittweise, weil bei der obigen Befehlszeile das mpeg2enc zwischenrein abstürzte, durch die zusätzlichen Dateien werden natürlich Unmengen an Plattenplatz verbraten:
lav2yuv testmovie.mpg > testmovie.yuv cat testmovie.yuv | yuvscaler -I INTERLACED_ODD_FIRST -O SVCD > testmovie.scl cat testmovie.scl | mpeg2enc -m 2 -b 2500 -F 0 -V 400 -s -h -o testmovie.m2v
MPEG-Codierung des Tones:
lav2wav testmovie.mov | mp2enc -o testmovie.mp2
Zusammenführen der Ton- und Videospur:
mplex -m 2 -f 4 -o testmovie.mpg testmovie.mp2 testmovie.m2v
Erstellen des CD-Images, dabei werden die Dateien videocd.bin mit dem Image und videocd.cue mit Informationen fürs Brennen erzeugt.
vcdimager -t svcd testmovie.mpg
Evtl. Löschen einer CD-RW:
cdrecord -v speed=4 blank=fast dev=0,6,0
Brennen des Images auf CD-R oder CD-RW:
cdrdao write --device 0,6,0 --driver generic-mmc --speed 4 videocd.cue
Einlegen der fertigen SVCD in ein CD-Laufwerk zum Testen:
vcddebug -v --cdrom-device=/dev/scd0
Einlegen der fertigen SVCD in einen DVD-Player und geniessen.
-------------------------------------------------------------
Ich persönlich habe nichts gegen gut funktionierende, ausführlich und verständlich dokumentierte Kommandozeilenprogramme. Aber die (linuxtypischen?) schlampigen, fehlerhaften, amateurhaften und nur schwer entschlüsselbaren Dokumentationen machen das Anwenden dieser Programme zur Qual.
Die Opensource- und Freeware-Bewegung in Ehren - aber ich wollte eigentlich nur Filme machen und nicht die Tiefen verquerter Gedankengänge von fähigen Unix-Programmierern nachstöbern. Jetzt fehlt also nur noch monatelanges Herumpfrimeln, bis eine PCI-Firewire-Karte funktioniert, nochmal ein paar Wochen dazu, bis dvgrab sauber kompiliert ist, und wenn vielleicht Broadcast2000 mit den eingelesenen Videos was anfangen kann ... tja, dann ist vielleicht (bei mir) die "Prozeßkette" der Videoverarbeitung unter Linux geschlossen. Die Software kostete mich dann außer zweieinhalb Jahre Zeit keinen Penny - einen Film habe ich in dieser Zeit aber auch nicht gemacht.
CU,
Tobbi
| Kommentare | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
Hi, ich finde es gut, dass Tobias dieses Fass aufgemacht hat. Ich selber schlage mich auch schon einige Zeit mit diesem Problem herum und habe xawtv und Nuppelvideo probiert. Letztlich bin ich bei Nuppelvideo hängen geblieben. Bei Xawtv hatte ich entweder Synchronisationsprobleme (4mpeg-Format) oder Qualitätseinbussen und Längenbeschränkungen (AVI). Die Sync-Probleme dürften aber nicht an der Anwendung selbst sondern an der - gelinde gesagt - ungenauen Default-Timestamp-Generierung unter Video4Linux V.1 liegen. Da ist der nuvrec-Weg über die Interrupts sicher zuverlässiger. Hier meine Route zur SVCD: 1) nuvrec -r -S1 -W480 -H576 video1 # r wie raw hilft gegen Artefakte braucht aber eine grosse schnelle Platte.(neu in 0.5.2) # -S1: Lesen vom Composite-Eingang nuvplay -e video1.nuv | toolame -b 224 -p 2 -m s /dev/stdin video1.mp2 exportvideo video1.nuv "| mpeg2enc -m2 -b2500 -V230 -q16 -F0 -g15 -G15 -s -n n -f3 -N -o video1.m2v" # -m2: MPEG-2 # -b: Video-Bitrate 2500 kBit/s # -V: Video Buffer Usage für SVCD # -q: Quantisierung --> VBR # -F0: frame-by-frame, no interlace # -g15 -G15: Min. und Max GOP # -s: Sequence header at every GOP # -n: Norm PAL # -f3: 25fps # -N: mildly denoise (alternativ: -h für volle Schärfe) mplex -v1 -m2 -f4 -b230 -V -o video1.mpg video1.m2v video1.mp2 # -v2: Verbosity # -m2: MPEG-2 # -f4: Format SVCD # -b: Video Buffer 230 kB # -V: Variable Bitrate - wie kriegt ihr OHNE diese Option Bild und Ton synchron ? vcdimager -t svcd video1.mpg # Wenn der vcdimager 0.6.2 mit einem Fehler (assertion ... == 225 failed) aussteigt, auf die Version 0.7.7beta umsteigen Der Patch des Nuvrec zur Vermeidung des File-Splittings ist übrigens trivial, sucht mal in nuvrec.c nach MAXBYTES ;-) . Noch zwei kleine Tips: Wenn man beim Xawtv-Paket den Kommandozeilen-Recorder "streamer" verwendet, kann man direkt die gewünschte Auflösung (z.B. 352x288) eingeben und sich den yuvscaler sparen. Allen die den mpeg2enc aus der SuSE verwenden: Neu kompilieren lohnt sich (ist aller- dings wegen der vielen Voraussetzungen (SDL, movtar, quicktime usw.etwas aufwändig). Beim configure-Schritt werden die Möglichkeiten der Hardware ausgelotet (SSE, MMX, 3dnow), der selbst kompilierte mpeg2enc läuft auf meinem Thunderbird-Athlon 1GHz doppelt so schnell wie der aus dem SuSE-rpm. Das ist kein Vorwurf an SuSE, die müssen sich ja am kleinsten gemeinsamen Nenner orientieren. Viel Spass damit und danke für viele gute Tipps. Armin | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
Ich hatte meine erste VCD nach einem viertel Jahr fertig, davon habe ich jedoch ca. zwei Monate zum Schneiden mit Broadcast gebraucht und noch mit einer viel zu kleinen HD. Dazu sei noch erwähnt, dass ich vielleicht zehn Stunden pro Woche für soetwas Zeit habe. > Leider ging es aber nur schrittweise, weil bei der obigen Befehlszeile das > mpeg2enc zwischenrein abstürzte, durch die zusätzlichen Dateien werden > natürlich Unmengen an Plattenplatz verbraten Broascast erzeugt kein korrektes Quicktime, dies führt zu Probleme beim zurückspielen auf VHS mittels Capture-Karten wie der DC10. Das könnte auch hier das Problem sein. Versuche mal dein gerendertes Video mit lav2yuv ... | yuv2lav ... in ein avi zu konvertieren dann mit lavaddwav den Ton noch hinzufügen. Natürlich leidet dadurch die Qualität. Weiterhin ist die Verwendung von yuvdenoise zu empfehlen, da dadurch die Qualität des MPEG deutlich steigt. Ich habe einen Dual PIII 500Mhz, seit der Verwendung von yuvdenoise und einigen anderen Einstellungen zur Verbeserung der Quqlität komme ich auf 0,6 Frames/s. Eine 40 min SVCD braucht so ca. 30 Stunden. Dafür kann man den MPEG kaum noch vom Original unterscheiden. > Aber die (linuxtypischen?) schlampigen, fehlerhaften, amateurhaften und nur schwer > entschlüsselbaren Dokumentationen machen das Anwenden dieser Programme zur Qual. Erstens ist die Doku von Word und Konsorten auch mies und dabei handelt es sich um kommerzielle Programme. Nach Jahren der Arbeit damit habe ich immer noch keinen Weg gefunden einfach Referenzen hinzubekommen. Zu den MJPEG-Tools gibt es gute Seiten im Netz, weiterhin eine MJPEG-Mailingliste. Gerade mit Hilfe letzter konnte ich viele Probleme lösen. Außerdem ist die Videobearbeitung aufgrund der vielen Formate ein sehr weites und damit fehlerträchtiges Feld. Das sieht man auch anhand der in de.comp.tv+video gestellten Fragen, und dort tummeln sich haupsächlich Windows-Nutzer | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
An dieser Stelle mal eine Frage zu VCR meinerseits: Ist es irgendwie möglich, bei Verwendung des Low-Motion DivX-Codecs die Video-Bitrate einzustellen, oder ist dies generell nicht möglich? Ich bekomme von VCR immer die Meldung "invalid Attribute for this codec". | ||||||||||||||||||||||||||||||||
In Bezug auf den Anfang des Threads: >vor zwei Jahren habe ich damit angefangen, es mit der Videobearbeitung unter Linux zu versuchen, und nach einer Woche harten Kampfes habe ich es am letzten Montag eine halbe Stunde vor Mitternacht geschafft: Toll echt!! Da haette ich mir schon laengst ein WinXX-PC oder einen MAC gekauft! Da gehts ganz gut (hab ich gehoert)!;-) > Ich persönlich habe nichts gegen gut funktionierende, ausführlich und verständlich dokumentierte Kommandozeilenprogramme. Das glaub ich gern! Aber lieber dann vielleicht doch was mit mit Maus (so zum Klicken)? Oder?:-) >Aber die (linuxtypischen?) schlampigen, fehlerhaften, amateurhaften und nur schwer entschlüsselbaren Dokumentationen machen das Anwenden dieser Programme zur Qual. Wow!!!! Ganz schoen heftig! Na ja, aber als sauberen, fehlerfreien, professionellen Anwender (Programmierer?) faellt es Dir sicher nicht schwer, die Programme zu toppi, aeh meine zu toppen!:-) :-)) Austeilen ist leicht! Gell! Schoenen Tag Gimlie | ||||||||||||||||||||||||||||||||
Das zeigt wiedermal, irgendwie bekommt man es halt immer unter Linux hin. Wenn ich allerdings einmal im Jahr ein Urlaubsfilmchen machen will, muss ich wohl schon im Dezember mit den Vorbereitungen anfangen... Videobearbeitung ist ein Grund weswegen Windows seine Daseinsberechtigung hat. Ganz ehrlich, das kryptische hantieren mit dutzenden von Optionen und Tools ist nicht jedermanns Sache. Wahrscheinlich ist generell kein allzugrosser Bedarf an dem Thema Linux+Video? Sonst gebe es doch bestimmt ein Projekt das diese ganzen Tools unter einer einfachen GUI-zusammenbringt um etwas flask oder tmpenc-ähnliches hinzubekommen. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|




Alles Ausklappen