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 720×576 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 768×576 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
[1] http://www.ts-studio.net
[2] http://download.sourceforge.net/mjpeg





Du brauchst mp2enc nicht unbedingt, mann kann es auch nach toolame pipen lav2wav datei.avi | toolame -b 224 -m s /dev/stdin datei.mp2 z.B. für CBR mp2, VCD compilant allerdings ist das fehlen von mpeg2enc (für video) natürlich fatal, und auch ich habe das fehlen einiger executables bei SuSE’s mjpeg gesehen. Was mich aber noch interessieren würde, wie lange dauert das und welche Systemleistung hast du (ich weiss, unter Linux spricht man eigentlich nicht so viel von MHz, aber mpeg ist Prozessor-Intensiv). Auch ich nutze die mjpegtools, um TV Aufnahmen in mpeg zu encoden (weniger Bildbearbeitung, eher SoftVCR), allerdings bleibe ich… Mehr »
Zur Frage wegen der Zeitdauer für die MPEG2-Encodierung:
Mein Rechner: 500 MHz Athlon, 128 MB RAM, U2W-SCSI-Platte
Die Zeile
cat testmovie.scl | mpeg2enc -m 2 -b 2500 -F 0 -V 400 -s -h -o testmovie.m2v
hat für ca. 45 Sek. Filmlänge mit 1088 encodierten Frames zum Encodieren 27:34 Min. gebraucht.
Welche Hard- und Software benutzt Du für Dein SoftVCR? Wie lauten Deine eingegebenen Befehle?
@Hardware auch ich habe einen Athlon 500 (classic), 256 Mb Ram und IDE Platten (und die SVCD-compilant-mpeg dauer … hab ich nicht gemessen aber müsste genau so lang sein, zumindest subjektiv ist sie es). Zum capturen nehme ich eine normale BT878 TV Karte (ich liebäugle mit einer Zoran-Chipsatz basierten mjpeg oder einer mpeg Karte, z.B. von linuxmedialabs, aber der Preis ….). @Software Au ja, auch das ist eine leidensgeschichte. Zuerst habe ich es mit fame oder ffmpeg versucht. Beides kann direkt in mpeg1 aufnehmen, allerdings nur in mpeg1 VBR, was leider nicht (S)VCD konform ist. Zudem haben (hatten) beide tools… Mehr »
Danke für die Tips. Das Problem mit nuvrec ist, dass wenn die 2 GByte Grenze erreicht wird, ein neues file angelegt wird. Wie bringt man die files zusammen?
Ich habe sie in mpeg1 gewandelt und dann mit mpgjoin zusammengehängt. Mein Cyberhome player mag das aber gar nicht. Irgendwelche Ideen?
Soweit ich weiss, gibt es beim 2.4er Kernel die 2Gbyte Grenze nicht mehr, vielleicht werde ich den Sourcecode von nuvrec mal patchen …
Rats
Der unten angegebene Link beschreibt den Stand des Large File Supports (LFS)
in Linux für die verschiedenen Filesysteme und Distributionen.
Harald
[1] http://www.suse.de/~aj/linux_lfs.html
Erstmal Kompliment! Über zwei Jahre sein Vorhaben durchzuhalten und dann auch zu verwirklichen, Respekt! Was mir persönlich für meine Videoschnittbedürfnisse unter Linux noch fehlt: – Nen Video-In Treiber für meine Elsa Erazor III Pro (ich häng an dem Teil ;-) ) – Ein Tool, das wie DVDx unter Windows meine DVDs in SVCD-konforme MPEG2-Dateien runterkonvertiert und gleichzeitig die Ausgabe-Dateien in 800MB-Dateihäppchen aufteilt, damit ich die mit Hilfe des vcdimagers und cdrdao gleich auf meine Rohlinge brennen kann. Wenn hier jemand in der Community von Tools weiß, die diese Aufgaben erledigen, ich wäre ihm/ihr für einen Link oder einen Hinweis ewig… Mehr »
Die Konvertierung von DVD nach MPEG2 dürfte mit Transcode gehen.
[1] http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/
Das Tool klingt da interessant. Das gibts anscheinend Module für das direkte Rippen von DVD. Genau das was ich brauche.
Das Teil werde ich mir mal näher anschauen müssen.
Vielen Dank für den Tip.
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.
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… Mehr »
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”.
vielen dank für deine bemühungen, haben mir echt weitergeholfen!!!
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… Mehr »
Hallo Leute, da hier schon viele Tipps für die Videoberabeitung mit Linux gegeben haben, möchte ich auch meinen Senf dazugeben. Eins vorweg: Es geht (fast) alles! I. DVD rip ———- Es geht hier um das Umwandeln von DVD auf SVCD. Für den DVD-rip wird Transcode verwenden (URL: http://freshmeat.net Suchwort: transcode) Wichtig ist die Version: Es muß mindestens 0.6.0 sein weil erst dann der MPEG codec vorhanden ist. Sollen copiergeschützte DVDs gerippt werden (ist in DE zum privaten Gebrauch erlaubt) wird noch die libdvdcss gebraucht (URL: http://freshmeat.net Suchwort: libdvdcss). Sollte transcode mit dem Namen nicht zurechtkommen, muss in /usr/lib ein symbolic… Mehr »
Die Anleitung finde ich gut – habe trotzdem aber 2 Probleme:
1.) -s anhand des rescale Wertes gesetzt führt zur völligen Übersteuerung des Tons
2.) -T 1,-1 funzt bei mir nicht ich muss meine DVD mit -T 1,2-36 einlesen um sie rippen
zu
können
hat jemand ne Ahnung was ich falsch mache?
Ich verwende transcode 0.6.0pre3 und habe irgendwo ein rpm für mein Suse 7.3
(transcode-0.6.0pre3-2.i386.rpm) aufgetrieben.
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… Mehr »
du schreibst, dass man ggf. statt mit cdrdao auch mit cdrecord die cd brennen kann. wie das? soweit ich weiss, erstellt vcdimage nur bin/cue-files und die kann cdrecord nicht verwenden, oder irre ich mich da?
geht vcd auch mit einem tao-brenner (der also kein dao kann)?
Danke.
Ich weis nicht ob es möglich ist mit cdrdao SVCDs zu schreiben. Als ich es mal probiert habe, hat es jedenfalls nicht funktioniert. Hintergrund ist, daß cdrdao nur eine extrem begrenzte CDRWIN CUE implementierung besitzt. Speziell wird das Schreiben im RAW Modus dabei durch cdrdao nicht unterstützt. Das ist aber bei Verwendung von Brennern mit Firmware von Pioneer notwendig, denn Pioneer kann mehr als Index 0 und Index 1 nur im RAW Modus. Cdrecord hat hingegen eine deutlich weitergehende Implementierung für CUE Sheets. Allerdings wird dazu eine halbwegs aktuelle cdrecord Version benötigt. Cdrecord Versionen von vor Dezember 2006 können keine… Mehr »