staging.inyokaproject.org

TS-Daten_archivieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels TS-Daten_archivieren.

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

eishailiga schrieb:

Die Original Stream Dateien werden nicht gelöscht. Es werden nur die von ProjectX zerlegten Dateien gelöscht, also die diversen Audiospuren und die Videospur.

💡 Dann ist das ja völlig korrekt ☺

eishailiga

Avatar von eishailiga

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 5401

Ja, das Script arbeitet ordentlich. Vielleicht äußert sich BruceCompanys noch dazu. Man sollte im Wiki anmerken, daß das Script nicht mit HD DVB Streams funktioniert, wobei es jetzt unerheblich ist, ob es sich um das geänderte oder um das derzeitige Script im Wiki handelt. ProjectX kann mit diesen HD Streams nicht umgehen.

jayarbie

Anmeldungsdatum:
24. Juni 2009

Beiträge: 100

Moin,

danke für's Skript. Funktioniert tadellos und macht die Sache wieder um einiges schneller und angenehmer. Bei HD bleib ich mal gespannt ...

g, jb

eishailiga

Avatar von eishailiga

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 5401

Ich habe das Skript im Wiki, an die überarbeitete Version angepasst, da es doch etwas komfortabler ist.

ponal

Anmeldungsdatum:
26. September 2009

Beiträge: 113

Moin moin zusammen!

Erstmal Dank für diesen Artikel. hat mit sehr geholfen und endlich kann ich mit meinem DVB-T-Stick was aufnehmen und es auch auf DVD brennen.

Bei den Einstellungen in Avidemux ist mir allerdings aufgefallen, dass ich bei einer .m2t-Datei (mit DVB-T-Stick aufgenommen) bzw. .ts-Datei von den im Artikel angegeben Einstellungen etwas abweiche und ein deutlich besseres Ergebnis bekomme.

Im Artikel in der Tabelle "Einstellungen für Video-Export" Video-Codec DVD (lavc) lasse ich einfach auf Kopie und das Ergebnis wir deutlich besser. und schneller geht's glaube ich auch.

Format natürlich für die Ausgabe auf MPEG-PS (A+V)

Vielleicht findet sich noch jemand, der es ausprobiert und bestätigen kann. Wäre ja evtl. eine Korrektur wert.

Gruß aus Hamburg

jayarbie

Anmeldungsdatum:
24. Juni 2009

Beiträge: 100

Moin ponal,

ich gebe Bescheid, sobald ich für meine gesammelten Aufnahmen das nächste Mal eine Burn-Session mache.

g, jb

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8555

warum behandelt ihr im artikel nicht DVBcut ? Ein Programm mit GUI zum schneiden, exportieren von DVB Videos.

Schrödingers_Katze

Anmeldungsdatum:
11. März 2010

Beiträge: 83

Ich habe zu dem Demux-Skript ein paar Fragen.

Und zwar wird bei beiden mplex-Aufrufen je zweimal dasselbe Input-File

1
"$DIR"/"$NAME".mp2 "$DIR"/"$NAME".mp2

übergeben? Ist das so korrekt? Müsste da nicht eigentlich

1
"$DIR"/"$NAME".mp2 "$DIR"/"$NAME"[1].mp2

stehen?

Solange der Transportstrom nur eine Tonspur hat, entsteht auch nur eine mp2-Datei; sobald zwei Tonspuren vorhanden sind, gibt es eine zweite mp2-Datei mit [1] im Dateinamen zur Unterscheidung. Kann es sein, dass der Autor des Skripts für diesen Fall vorsorgen wollte? Nur dann macht nämlich die Zeile

1
rm "$DIR"/"$NAME"[1].mp2 >/dev/null 2>&1 &

Sinn.

(Kann ein Transportstrom eigentlich auch mehr als zwei Tonspuren beinhalten?)

BruceCompanys

Anmeldungsdatum:
4. Januar 2007

Beiträge: 89

Durch aus berechtigte Frage, lass das Script doch einfach laufen, falls du eine TS-Datei hast. (Ich habe leider keine TS-Datei parat um den Script zu testen.)

Aber es macht keinen Sinn zweimal dieselbe Tonspur zu übergeben. Das war im Originalscript so nicht eingepflegt und wurde erst im nachhinein eingefügt. (Vgl. Versionen des Artikels)

MfG BruceCompanys

Schrödingers_Katze

Anmeldungsdatum:
11. März 2010

Beiträge: 83

Ich habe mir mal eine TS-Datei erstellt und sie in die Elementarströme aufgeteilt. (1 Videostrom, 1 Audiostrom)

Wenn ich mplex „normal“ aufrufe, d.h.

1
mplex -f 8 -o blaaaaah.mpg 450804.m2v 450804.mp2

, dann geht alles gut, und die Ausgabedatei ist 1804288 Bytes groß.

Wenn ich denselben Audiostrom mehrfach übergebe, d.h.

1
mplex -f 8 -o blaaaaah2.mpg 450804.m2v 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2 450804.mp2

, dann wird der MPEG-Container auch erfolgreich gebaut, allerdings ist er nun 2725888 Bytes groß; das heißt, identische Ströme werden mehrfach eingebunden!

Schließlich habe ich mplex mal folgendermaßen aufgerufen:

1
mplex -f 8 -o blaaaaah.mpg 450804.m2v 450804.mp2 450804[1].mp2

, das heißt mit einer nicht existierenden Datei als Eingabe. Dann bekomme ich immerhin eine Fehlermeldung.

1
**ERROR: [mplex] Unable to open file 450804[1].mp2 for reading.

Ich werde mich mal hinsetzen und das Skript so anpassen, dass es mehrere Ströme nur dann verarbeitet, wenn sie unterschiedlich sind.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Schrödingers Katze schrieb:

... (Kann ein Transportstrom eigentlich auch mehr als zwei Tonspuren beinhalten?)

Ja, beim demuxen kann auch noch eine ac3-Datei rauskommen.

Schrödingers_Katze

Anmeldungsdatum:
11. März 2010

Beiträge: 83

Ich habe jetzt das Demux-Skript ein wenig ausgebaut:

Es bekommt nun ein Eingabeverzeichnis und ein Ausgabeverzeichnis übergeben und prüft als erstes, ob alle Dateien im Eingabeverzeichnis tatsächlich Transportströme sind, ob das Eingabeverzeichnis Unterverzeichnisse enthält (noch ist das nicht erlaubt, aber in ein paar Tagen oder so sollte ich das hinkriegen:-) ) und ob das Ausgabeverzeichnis leer ist.

Da das Programm dvbcut laut Wikiseite Probleme mit Umlauten, Leerzeichen, Doppelpunkten etc. hat, werden die Transportströme umbenannt, bevor projectx zu Werke geht, und es wird eine Zuordnung von ursprünglichen zu neuen Dateinamen erstellt.

In dieser Version ist die angekündigte Überprüfung auf doppelt übergebene Parameter noch nicht enthalten. Ich überlege noch, ob das mit einer md5-Summe oder mit diff oder doch mit einer völlig anderen Methode am besten funktioniert.

Davon abgesehen haben meine Tests mit Ultrakurz-Transportströmen (zwei davon sind unten angehängt) keine Probleme gezeigt; insbesondere wurde aus dem arte-Transportstrom mit zwei Tonspuren ein Programmstrom mit ebenfalls zwei Tonspuren.

barcc schrieb:

Ja, beim demuxen kann auch noch eine ac3-Datei rauskommen.

Heißt das, dass mp2 und ac3 in ein und demselben Transportstrom vorkommen können? Wenn ja, dann ist Zeile 164 des Skripts wie folgt zu ändern (sofern ich nichts übersehen habe):

1
	mplex -f 8 -o "$outputfilename" ${fullname}*.{m2v,mp2,ac3} || \

Vielleicht äußert ihr euch schon einmal zu diesem Stand und dazu, ob er im Entferntesten dazu geeignet ist, in den Artikel aufgenommen zu werden.

Schrödingers Katze

PS: Merkwürdigerweise werden die Anhänge als 0.0 KB groß angezeigt… Runterladen kann man sie aber.

demuxer_v02.sh (4.6 KiB)
Demux-Skript
Download demuxer_v02.sh
prosieben.m2t (1.5 MiB)
TS_1_Video_1_Audio
Download prosieben.m2t
arte.m2t (1.1 MiB)
TS_1_Video_2_Audio
Download arte.m2t

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

Änderungsvorschlag für das auf der Seite enthaltene Skript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh

test $# -eq 0 && set -- *.{ts,m2t}

for file; do
    echo "Konvertiere $file"
    dir=$(dirname "$file")
    filename="${file##*/}"
    name="${filename%.*}"

    projectx "$file"

    if [ -f "$dir/$name.ac3" ]
    then
	    mplex -f 8 -o "$dir/$name.mpg" "$dir/$name.ac3" "$dir/$name.m2v" "$dir/$name.mp2" "$dir/$name.mp2"
    else
	    mplex -f 8 -o "$dir/$name.mpg" "$dir/$name.m2v" "$dir/$name.mp2" "$dir/$name.mp2"
    fi

    rm -f "$dir/$name.ac3" "$dir/$name.m2v" "$dir/$name.mp2" "$dir/$name[1].mp2" "$dir/$name_log.txt"
done

echo "Fertig!"

Änderungen:

  • /bin/sh ist ausreichend (statt /bin/bash).

  • Variablen des Skriptes klein geschrieben, damit man Konflikte mit Umgebungsvariablen vermeidet.

  • Erlauben, dass die zu konvertierenden Namen auf der Kommandozeile angegeben werden. Falls keine angegeben, nimmt er alle mit der passenden Erweiterung (wie vorher).

  • rm -f macht die ganze Untertrückung der Fehlerausgaben überflüssig.

  • rm nicht mehr im Hintergrund - das ist total überflüssig. Man möchte auch, dass die Artefakte von der vorherigen Datei entfernt werden, bevor neue erzeugt werden (Platz).

  • Unnötig kompliziertes Quoting verändert.

Ich konnte es noch nicht testen! Deshalb habe ich es noch nicht auf die Seite gepackt.

PS: Ich wundere mich etwas über die doppelte Verwendung von "$dir/$name.mp2" in Zeile 15 und 17. Ist das richtig so?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

Mir ist noch eine Vereinfachung aufgefallen:

  • die Aufteilung in $dir und $name ist überflüssig.

  • Außerdem hatte ich vergessen zu erwähnen, dass die neue Version nur den Teil hinter dem letzten Punkt abschneidet, während die ursprüngliche Version alles nach dem ersten Punkt abschneidet - das ist besonders ungünstig, wenn ein Dateiname weitere Punkte enthält.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

test $# -eq 0 && set -- *.{ts,m2t}

for file
do
    echo "Konvertiere $file"
    name="${file%.*}"

    projectx "$file"

    if [ -f "$name.ac3" ]
    then
	    mplex -f 8 -o "$name.mpg" "$name.ac3" "$name.m2v" "$name.mp2" "$name.mp2"
    else
	    mplex -f 8 -o "$name.mpg" "$name.m2v" "$name.mp2" "$name.mp2"
    fi

    rm -f "$name.ac3" "$name.m2v" "$name.mp2" "$name[1].mp2" "$name_log.txt"
done

echo 'Fertig!'

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

wenn's funktioniert kannst du das gerne ändern.

Gruß, noisefloor

Antworten |