Jensi's Blog

Powered by Berlin-Hood

Flower

Posts Tagged ‘Linux’

Videocodierung mit ffmpeg

Ich habe jetzt ein paar meiner DVD’s gesichert, und nun die VOB Dateien auf der Platte liegen. Das ist blöd zum anschauen und speichern. Deshalb habe ich mich mal schlau gemacht, wie man ffmpeg nutzt um aus den VOBs XVid Codierte Dateien in AVI Containern zu erstellen. Wichtig war mir auch mehrere Audiospuren mitnehmen zu können.

Update: Durch vertauschte Ton/Bildspuren in den VOB Dateien etc. hatte ich einige Probleme und nun habe ich meine Lösung noch einmal überarbeitet!

Erstmal sucht man sich die VOBs im VIDEO_TS Ordner der CD, welche den Film enthalten. Anschließend kann man mit

$ ffmpeg -i VTS_01_1.VOB

Input #0, mpeg, from 'VTS_01_1.VOB':
Duration: 00:24:06.59, start: 0.280000, bitrate: 5937 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 9800 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.3[0x82]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.4[0x83]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s

schauen wie die Video und Audiostreams in der VOB Datei angeordnet sind. Die Informationen sind später wichtig wenn die Streams mit -map neu angeordnet werden sollen. Man sollte vorher in der kompletten VOB Datei mal reinhören, damit man weiß welche Sprache zu welcher Audiospur gehört.

1. Videospur strippen:

Im ersten Schritt habe ich aus jeder VOB das Video herauskopiert (-vcodec copy) ohne Audio mitzuschleppen (-an), dann alle Teile zusammengefügt und letztendlich von MPEG 2 auf MPEG 4 (XVid) mit niedrigerer Qualität komprimiert:

$ ffmpeg -i VTS_01_1.VOB -vcodec copy -an Video_Part_1.mpg
$ cat Video_Part1.mpg ... Video_Part_N.mpg > Video_Komplett.mpg
$ ffmpeg -i Video_Komplett.mpg -f avi -vcodec mpeg4 -vtag xvid -b 1024k -g 300 -bf 2 -threads 2 video_xvid.avi

2. Audiospuren strippen:

Als nächstes müssen wir die gewünschten Audiospuren aus den VOBs sichern. Diese kann man gleich als mp3 komprimieren lassen. Diesmal lassen wir das Video weg (-vn) und müssen auch evtl. auf weitere Tonspuren zugreifen, falls die gewünschte Sprache nicht die erste Tonspur ist (-map 0:2 falls ich wie in obigem Beispiel auf die 3. Spur, also die Audiospur Nummer 2 zugreifen möchte [0x81]). Anschließend werden die mp3′s zusammengefügt. Dabei gehen allerdings die Zeit-Informationen in der Zieldatei kaputt, weswegen man die fertige mp3 noch einmal durch ffmpeg jagen muss damit die Fehler korrigiert werden:

$ ffmpeg -i VTS_01_1.VOB -vn -acodec libmp3lame -ab 128k Deutsch_1.mp3 -map 0:2
$ cat Deutsch_1.mp3 ... Deutsch_N.mp3 > Deutsch_tmp.mp3
$ ffmpeg -i Deutsch_tmp.mp3 -acodec copy Deutsch.mp3

3. Untertitel hinzufügen

Untertitel kann man auch aus den VOBs sichern und der neuen Datei hinzufügen, das brauchte ich nicht und werde es ergänzen sobald ich mich damit beschäftigen musste. Falls jemand eine Lösung hat dann her damit!

4. Zusammenfügen der einzelnen Streams:

Zum Schluss haben wir eine XVid Videospur und mindestens eine Audiospur für den Ton. Mein folgendes Beispiel nimmt 2 Audiospuren, eine für deutsch und eine für englisch. Eine Video- und Audiospur benutzt ffmpeg, möchte man die zusätzlichen Spuren mit haben muss man für jede Spur ein -newaudio mit ans Ende anhängen.

$ ffmpeg -i video_xvid.avi -vcodec copy -i deutsch.mp3 -acodec copy -f avi -aspect 16:9 -threads 2 Video_Remastered.avi -i englisch.mp3 -acodec copy -newaudio

So, das wars auch schon. Wir haben eine schöne kleine Video-Datei mit den gewünschten Sprachen aus unserer DVD gebaut!

Festplatten auf Defekte prüfen

Ich habe eine externe Festplatte (2,5 Zoll) die an einigen Stellen defekte hat. Beim lesen von Daten kommt es immer wieder zu fehlern. Nach ein wenig googlen bin ich zur Fehlersuche unter Linux auf den netten Befehl badblocks gestoßen, welcher das Lesen und Schreiben testet und die Fehlersektoren ausgiebt. Folgende Parameter hab ich aus einem Forenbeitrag übernommen:

sudo badblocks -b512 -c65536 -fsvw /dev/(hdx|sdx)

In der Ausgabe werden die Blöcke gelistet, wo es Probleme gab. Ich hab den Lauf nach etlichen Stunden abgebrochen, da auf meiner Platte zu viele Fehler waren… –> Elektroschrott!

Ubuntu 10.4

Ich habe grad Ubuntu 10.4 Lucid Lynx auf meinem alten Notebook installiert. Das ist echt der Hammer! Der installer ist total Userfreundlich, die Installation geht fix und das System ist mit allen wichtigen Anwendungen sofort einsatzbereit :-)

Auch die Integration der sozialen Dienste wie Jabber, ICQ, Facebook oder Twitter sind extrem gut gelöst. Man richtet die Accounts ein und hat auf alle Dienste völlig transparenten Zugriff. Eine schöne Sache ist auch, dass jetzt der Chromium-Browser (die Open-Source Version von Google Chrome) mit in den offiziellen Repositories ist.

Es wird auch von Anfang an die native Displayauflösung in der Konsole eingestellt. Ich weiß bloß noch, dass ich graue Haare bekommen habe als bei einem Kernel-Update von Ubuntu 9.10 der vga= Parameter entfernt wurde und ich keine Lösung gefunden habe die Konsole auf eine vernünftige Auflösung umzuschalten…

Fazit: Sieht auf den ersten Blick rundum gelungen aus, herzlichen Glückwunsch an die Entwickler!!!

Ubuntu Desktop Installationsliste

Nach einer Neuinstallation von Ubuntu kann man sich bei der Paketinstallation hier orientieren…

Multimedia
sudo aptitude install chromium-browser vlc mplayer gxine gxineplugin gajim totem-plugins-extra totem-xine mencoder swfdec-gnome swfmill swftools flvtool2 dvdrip dvdrip-doc lsdvd qdvdauthor acidrip ogmrip mp3gain oggconvert soundconverter me-tv dvb-utils sound-juicer avidemux flashplugin-installer

Entwicklung
sudo aptitude install vim-gnome meld build-essential subversion libqt4-core libqt4-dev libqt4-gui libqt4-designer libglui2c2 libglui-dev

Systemtools / Utilities / Netzwerk
sudo aptitude install hwinfo sysinfo wine screen gufw mc startupmanager fusion-icon traceroute wireshark aircrack-ng pdfcrack liferea planner alien gnome-color-chooser compizconfig-settings-manager macchanger ubuntu-restricted-extras lynx elinks gnome-do network-manager-openvpn network-manager-pptp network-manager-vpnc pidgin-otr pidgin-encryption aide

Text / Grafik
sudo aptitude install dia openoffice.org-thesaurus-de openoffice.org-pdfimport openoffice.org-hyphenation-de openoffice.org-hyphenation texlive texlive-lang-german texlive-latex-extra biblatex biblatex-dw pdfjam pdftk pdf2svg html2ps xhtml2ps gnuhtml2latex epstool xpdf inkscape scribus-ng scribus-ng-doc cups-pdf

Filesystem
sudo aptitude install hfsplus hfsutils hfsprogs b5i2iso ccd2iso cdi2iso mdf2iso nrg2iso pdi2iso gparted gsambad isomaster ntfsprogs ntfsdoc gftp-gtk

Synchronisation
sudo aptitude install libopensync0 opensync-plugin-evolution opensync-plugin-google-calendar opensync-plugin-palm sudo aptitude install multisync libmultisync-plugin-evolution libmultisync-plugin-irmc-bluetooth multisync0.90 multisync-tools

Packprogramme
sudo aptitude install p7zip p7zip-full p7zip-rar pbzip2 unace-nonfree unp unrar unrar-free unzip rar cabextract arj arc zoo orange

Anschließend noch sudo /usr/share/doc/libdvdread4/install-css.sh um die DVD Wiedergabe zu ermöglichen und evtl. ecryptfs-setup-private um das Home-Verzeichnis zu verschlüsseln.

Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: