Das beste zum Schluß? oder: Der Sony-DVD-Recorder vs. GNU/Linux

Nein, 2010 lasse ich ruhig ausklingen. Und bevor reingefeiert wird, liegt mir eine ominöse Datei vor, für die wahrscheinlich ein Sony-Gerät verantwortlich ist. Es geht um einen Film, der als DVD gebrannt wurde. Legt man das Original in das Laufwerk ein, so sieht man aber nur einen leeren "VIDEO_TS"-Ordner.

Um mehrere Kopien anzulegen, habe ich ein Image mittels ImageBurn ausgelesen (ja, unter Linux! Dieses Windows-Programm läuft perfekt durch Wine und erkennt auch alle DVD-Laufwerke im Rechner).
Es liegen also folgende Dateien vor:


/home/Videos/SONY_DVD_RECORDER_VOLUME.mds
/home/Videos/SONY_DVD_RECORDER_VOLUME.bin


Damit möchte ich nun weiter arbeiten. Das Original-Medium fasse ich erst garnicht mehr an -- wer weiß, was Sony da wieder für einen Mist fabriziert hat... Eigentlich möchte ich aus den oben genannten Dateien eine ISO erstellen. Nach einem google-Unser stoße ich auf tools wie ccd2iso und bchunk. Diese Kommandozeilentools probiere ich aus, aber ein Umwandeln scheint nicht möglich (cue-file fehlt usw).

Bevor ich mich weiter mit diesen Programmen beschäftige, fällt mir Furius ISO Mount ins Auge. Ich starte, un wähle die extrahierte bin-Datei (siehe oben) aus. Das mounten funktioniert ohne Probleme. Und das beste: die Inhalte der DVD sind nun sichtbar:


/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/video_ts.bup
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/video_ts.ifo
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/video_ts.vob
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_01_0.bup
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_01_0.ifo
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_01_1.vob
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_02_0.bup
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_02_0.ifo
/home/chris/SONY_DVD_RECORDER_VOLUME_bin/video_ts/vts_02_1.vob


Ab hier kann ich nun mit einem Videoprogramm meiner Wahl weiter arbeiten.

MP3-Dateien schneiden mit mp3cut in der linux shell

Es geht um ein tool, das einem das Zurechtschneiden (cutten) von mp3-files ermöglicht.

sudo apt-get install poc-streamer

Danach steht einem das tool mp3cut zur Verfügung. Hiermit kann man einfach ein mp3-file beschneiden. Ich habe es aktuell verwendet, um einen Klingelton aus einem Lied zu erstellen. Gerade dort kann man ein längeres intro nicht gebrauchen, sondern möchte gerne den refrain als eigentlichen Klingelton hören.

Folgende Anleitung bekommt man präsentiert, wenn man nur "mp3cut" auf der Kommandozeile eingibt:

Usage: mp3cut [-o outputfile] [-T title] [-A artist] [-N album-name] [-t [hh:]mm:ss[+ms]-[hh:]mm:ss[+ms]] mp3 [-t ...] mp3 -o output: Output file, default mp3file.out.mp3

Ein Beispiel, um das Lied Testlied_1_extended_version.mp3 zu beschneiden, sähe so aus:

mp3cut -o Testlied_1_kurz.mp3 -t 00:50-03:43 Testlied_1_extended_version.mp3

Audio-CD extrahieren mit Linux

Seit langem mal wieder eine Audio-CD extrahiert und zu MP3 konvertiert. Womit sollte man arbeiten? Es bietet sich zum Beispiel "Sound Juicer" an. Leider bemerken viele, oft erst nachdem man mehrere CDs ausgelesen hat, dass die Qualität bei konstanten 128kb/Sekunde liegt. Das ist eine zu geringe Datenrate. Grund ist die folgende Voreinstellung für das Profil "CD-Quality, MP3 (.mp3-type)".

Grundeinstellung (so, oder so ähnlich):
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=4 vbr-quality=6 ! id3v2mux

Wir ändern das Profil einfach auf folgenden Wert (Bearbeiten -> Einstellungen -> Profile editieren):

Verbesserte Einstellung:
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=0 vbr=4 vbr-quality=2 ! xingmux ! id3v2mux

Dateien umbenennen mit der Linux-shell

Szenario 1: Musikdateien (z.B. best-off, Musikmix) auf MP3-Player haben teilweise Titelnummern am Anfang, die wir bei der best-off-Sammlung nicht gebrauchen können. Daher soll alles (auch Sonderzeichen) bis zum ersten Buchstaben(!) gelöscht werden.

rename -v 's/^[^a-zA-Z]*//' *.mp3

Erläuterung:
Es wird nach allem gesucht, was am Anfang(^-Symbol vor der eckigen Klammer) des Dateinamens keine (^-Symbol innerhalb der Klammer) Buchstaben (groß oder klein) aufweist.
-v steht für verbose und gibt alles aus, was der Befehl "rename" ausführt
-n kann als Option angegeben, wenn man erstmal testen möchte, was passieren wird. Es werden keine Dateien umbenannt!



Szenario 2: Allen Dateien soll etwas vorangestellt werden.
In folgendem Beispiel wird "file_" vor jede bestehende Dateibezeichnung im aktuellen Verzeichnis gesetzt.
Der komplette Dateiname wird durch .* in der Variablen $1 gespeichert. Dann wird dieser komplett durch file_ und den ehemaligen Dateinamen ersetzt.

rename -n 's/(.*)/file_$1/' *

Falls beispielsweise nur mp3-Dateien geändert werden sollen, wird der Befehl wie folgt abgeändert: 

rename -n 's/(.*)/file_$1/' *.mp3

Achtung, mit dem regulären Ausdruck .* muss vorsichtig umgegangen werden. Dazu später mehr.

Input und Output - Linux Shell Tutorial

Die folgenden Beiträge möchte ich verstärkt die basics der Linux Shell erläutern, da es dazu immer wieder Fragen an mich gibt. Bitte klicken Sie auf den folgenden Link, um den gesamten Beitrag zu sehen!

Gnuplot 102 - einfacher Graph mit 2 Wertepaaren

Gnuplot kann sehr aufwendige Operationen ausführen. Am Anfang möchte ich aber vorerst die Grundlagen erklären. Wir möchten folgende Datei namens "aepfel_birnen_preise" auslesen und mit Gnuplot darstellen lassen.

# Durchschnittspreise/kg von Aepfeln und Birnen in Jahren 2000-2010
# Ausgedachte Werte!
# Spalte 1: Jahr
# Spalte 2: Aepfel
# Spalte 3: Birnen
# -----------------
2000 2.1 1.7
2001 1.9 1.65
2002 2.34 1.26
2003 1.24 1.8
2004 1.56 2.1
2005 2.13 2.04
2006 1.67 2.56
2007 1.45 2.04
2008 2.56 2.11
2009 1.76 1.99
2010 1.63 1.56


Beim Aufruf in der Gnuplot-Kommandozeile (starten durch gnuplot) müssen wir definieren, welche Spalten in welcher Beziehung stehen. Zusätzlich sollen die Punkte mit Linien verbunden sein. Zum guten Schluß soll noch erkennbar sein, welche Linie mit welchen Obstpreisen in Beziehung stehen. Das ganze wird in Gnuplot durch einen Einzeiler erledigt.
gnuplot
plot "./aepfel_birnen_preise" using 1:2 title "Aepfel" with lines, "./aepfel_birnen_preise" using 1:3 title "Birnen" with lines
Das selbe kann auch abgekürzt werden (abkürzen bis auf Anfangsbuchstaben der Befehle; filename wird beim zweiten Aufruf interpoliert (es wird der letzte benutzte file genutzt)):
plot "./aepfel_birnen_preise" u 1:2 t "Aepfel" w l, "" u 1:3 t "Birnen" w l

Als Ergebnis wird uns folgender Graph ausgegeben:

GnuPlot 101 - Graph mit Zufallszahlen

Ich möchte einen einfachen Graph mit GNUPLOT ausgeben lassen. Als Zahlenquelle wähle ich Zufallszahlen. Gnuplot erwartet pro Zeile einen Datensatz. Man kann auch andere Formatierungen nutzen, dafür müsste der Befehlssyntax aber erweitert werden. Um eine Liste mit entsprechenden Datensätzen auszugeben, erstelle ich ein kleines Skript, das 100 Zufallszahlen in eine Datei schreibt:

#!/bin/bash
# Dateinamen festlegen
l="random_1"
# Datei loeschen - Fehler unterdruecken
rm $l 2>/dev/null
# 100 Zufallszahlen erstellen
for ((i=0;i<100;i++))
do
echo $RANDOM >>$l
done

Bevor man GnuPlot nutzt, muss man es natürlich installieren (die ersten 2 Befehle sind wichtig):

sudo apt-get install gnuplot
sudo apt-get install gnuplot-doc
sudo apt-get install gnuplott-X11

Nachdem man das Programm mit gnuplot aufruft, kann man Befehle über eine Text-Konsole eingeben. Eine kleine Einführung zu den Befehlen habe ich hier gefunden.

Gestartet werden kann auch direkt über die Linux-shell.
echo 'plot "./random_1"; pause 10'|gnuplot

Oder man startet gnuplot ('gnuplot') und gibt folgendes ein (Achtung, hier habe ich den Befehl durch "with lines" ergänzt. Damit verbindet man die Punkte mit Linien; vgl. Liniendiagram):
plot "./random_1" with lines


Die Graphen können auf vielfältige Weise definiert werden. Diverse Muster stehen zur Auswahl. Eine gute Erklärung findet man auf folgender Seite.