Demuxen von der Kommandozeile (und Frage zu Video-Stream)

Aufnahmen zum PC übertragen und dort weiterverarbeiten.
Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

Demuxen von der Kommandozeile (und Frage zu Video-Stream)

#1

Beitrag von ibbi » Fr 5. Mai 2006, 23:59

Hallo,

zum gelegentlichen Demuxen einer Aufnahme (haupsächlich für den Audio-Stream) habe ich nach einem kleinen und unkompliziertem Tool für Windows gesucht, das ohne Installation auskommt und sich nicht megabyteweise auf meiner Festplatte breitmacht, und es in bbdmux in Form eines 29 KB großen Kommandozeilentools gefunden. Software, wie ich sie liebe: klein, fein, aufs Wesentliche beschränkt und kostenlos. :up:

Die Extraktion des Audio-Streams als .mpa funktioniert problemlos, und zwar direkt aus dem Topfield-rec-File. Auch die Extraktion des Video-Streams als .mpg (oder .mp2v) gelingt, allerdings enthält die entstehende Datei immer noch eine Audio-Spur. :confused:

Nicht dass ich es bräuchte, aber nur mal so aus Neugierde: Kann man MPEG-2 Video auch ohne Ton aus dem Transport-Stream extrahieren, oder gehört der Ton einfach dazu? Auch TMPGEnc erzeugt mir bei Auswahl des Video-Streams aus der .mpg/.mp2v-Datei stets eine Datei gleicher Größe mit Ton. :thinker:

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28979
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#2

Beitrag von FireBird » Sa 6. Mai 2006, 00:26

Die 188 Byte Pakete eines Transport-Streams beginnen mit der PID und somit lässt sich jeder Stream sehr einfach aus einem TS filtern. Vielleicht geht das Programm davon aus, dass ein Video ohne Audio nicht sein darf.

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#3

Beitrag von George VII » Sa 6. Mai 2006, 11:21

Hallo ibbi!

So wie ich das kenne wird beim Demuxen (bei mir mit ProjectX, selten mit PVAStrumento) der Transportstream TS in die Elemtary-Streams Video (mpv, mp2v) und Audio (mpa) zerlegt und gleichzeitig synchronisiert. Das Synchronisieren ist wichtig, damit nachher kein Bild-/Tonversatz auftritt. Diese Elementary Streams können dann (evt. zuerst geschnitten werden und dann) mit einem Muxer (z.B. mplex) wieder zu einem lippensynchronen MPEG2-File zusammengesetzt werden.

Mir ist kein Programm bekannt, das beides nacheinander durchführt: Demuxen und anschließend Muxen, so dass 'hinten' ein MPEG2 rauskommt. Ich kenne das besagte Programm nicht, hört sich für mich aber so an (wie Firebird schon sagt), das hier der MPEG2-Stream aus dem Transport-Stream extrahiert wird (wohl ohne Synchronisation). Aber wozu Audio und dann nochmals Video+Audio aus TS rausziehen, kann ich mir nicht erklären.

MPEG2 enthält meines Wissens immer Video+Audio. Nur Video wäre nur ein Elemtary Stream und hätte nicht die Extension MPG.

Falls Du mal auf der Suche nach einem 'kleinen aber feinen' kostenlosen Tool zum Muxen bist, hier ein Link ...
http://support.magix.net/boards/magix/i ... t&p=129751

Gruß,
George VII

Benutzeravatar
Homer
ToppiHolic gefährdet
ToppiHolic gefährdet
Beiträge: 9736
Registriert: Sa 11. Mär 2006, 12:08
Receivertyp: TF5200PVRc (seit 25. März 2006) CRP-2401CI+ (seit 26. Mai 2011) Uno 4K
Receiverfirmware: Dec 06 2006,
Mar 9 2011
Wohnort: 669..
Kontaktdaten:

#4

Beitrag von Homer » Sa 6. Mai 2006, 11:41

:thanks: ibbi für den Link zu bbdmux.

Ich konnte erfolgreich einen Clip demuxen:

Code: Alles auswählen

bbDMUX - version 1.9, by Brent Beyeler ()
  speed increases by, Apachez and Christian Vogelgsang
  transport stream demux logic adjusted by Zhuo Meng
Scanning for PID's, press control-c to quit ...
File disco1~1.rec is an MPEG-2 Transport Stream
Found PID 0x0167, Other Stream
Found PID 0x0456, Other Stream
Found PID 0x0460, Other Stream
Found PID 0x044C, Other Stream
Found PID 0x0082, stream id 0xBD = Private Stream 1, substream 0x10
Found PID 0x0000, Program Association Table Stream
Found PID 0x0011, Other Stream
Summary:
MPEG Transport Packets = 675823
PID 0x0000, Program Association Table packets = 1589, total bytes = 292376
PID 0x0011, Other packets = 602, total bytes = 110768
PID 0x0082, Private Stream 1 packets = 27817, total bytes = 4939498
    Substream 0x10 packets = 27817, total bytes = 4939498
PID 0x0167, Other packets = 1, total bytes = 151
PID 0x044C, Other packets = 3348, total bytes = 616032
PID 0x0456, Video stream 0 packets = 614079, total bytes = 112746707
PID 0x0460, MPEG Audio stream 0 packets = 28385, total bytes = 5086596
PID 0x0572, Other packets = 1, total bytes = 0
PID 0x0573, Other packets = 1, total bytes = 0
disco.0456 ist Video ohne Audio. disco.0460 ist Audio:

Code: Alles auswählen

Dateiname                        Größe
------------------------   -----------
Disco 1973-05-26 ZDF.rec   127.057.920
disco.0000                     292.376
disco.0010                           0
disco.0011                     110.768
disco.0082                           0
disco.00bd                           0
disco.00c0                           0
disco.00e0                           0
disco.0167                         151
disco.044c                     616.032
disco.0456                 112.635.644
disco.0460                   5.084.448
Auch ein Hörfunkmitschnitt ließ sich demuxen:

Code: Alles auswählen

bbDMUX - version 1.9, by Brent Beyeler ()
  speed increases by, Apachez and Christian Vogelgsang
  transport stream demux logic adjusted by Zhuo Meng
Scanning for PID's, press control-c to quit ...
File hörens~1.rec is an MPEG-2 Transport Stream
Found PID 0x0573, Other Stream
Found PID 0x02C6, Other Stream
Found PID 0x02BC, Other Stream
Found PID 0x0000, Program Association Table Stream
Found PID 0x0011, Other Stream
Summary:
MPEG Transport Packets = 277997
PID 0x0000, Program Association Table packets = 11940, total bytes = 2196960
PID 0x0011, Other packets = 4538, total bytes = 834992
PID 0x02BC, Other packets = 12578, total bytes = 2314352
PID 0x02C6, MPEG Audio stream 9 packets = 248940, total bytes = 38237184
PID 0x0573, Other packets = 1, total bytes = 69
Die wav-Datei habe ich aus der mpa-Datei mit dBpowerAMP Music Converter erstellt, um sie samplegenau schneiden zu können:

Code: Alles auswählen

Dateiname                                                 Größe
-------------------------------------------------   -----------
hören.mpa                                            38.236.760
hören.wav                                           229.418.540
Hörensagen 2006-05-01 Albert Einstein, Briefe.rec    52.267.008

Viele Grüße
Homer
Zuletzt geändert von Homer am Sa 6. Mai 2006, 23:19, insgesamt 1-mal geändert.
Grund: E-Mailadresse von Brent Beyeler entfernt
rettet-das-freetv.de Project Euler 2401 Urban Priol ist ein smarter Androide und kann keine TAPs.

TF5200PVRc (HA250JC)
TAPs: BootMenu - UsbAccelerator - [thread=49960]acaderc_5k[/thread] - RemoteSwitch - Automove V1.9 final [90] (18.04.2008) - TF5000Display - 3PG - IdleHDD

CRP-2401CI+ (ST3500312CS,MZ-75E500B)
TAPs: XStartTap_TMS - AutoReboot - RemoteSwitch_TMS - RescueRecs - SmartEPG_TMS - RebuildNAV - Automove V2.0 beta 13 (24.05.2011) - StartFTPd - TMSRemote - NiceDisplay

KabelBW Unitymedia (free to air)

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#5

Beitrag von ibbi » Sa 6. Mai 2006, 22:03

Heute habe ich es noch einmal mit derselben Testaufnahme versucht, und diesmal wurde der Video-Stream separat (also ohne Audio) extrahiert. :confused:

Das hat mich dann doch etwas verblüfft, bis ich herausfand, dass mein Player, sofern er Video- (.mpg) und Audio-Datei (.mpa) findet, beides zusammen abspielt! (Und bei meinen Tests lagen natürlich beide Dateien im selben Verzeichnis. :D )

Fazit: das Tool macht genau das, was es soll. :hello: (Einzig die Länge des entstehenden .mpg wird falsch angezeigt, es ist angeblich nur wenige Sekunden lang, obwohl es die gesamten - und in Wirklichkeit längeren - Video-Daten enthält.)
Zuletzt geändert von ibbi am Sa 6. Mai 2006, 23:37, insgesamt 1-mal geändert.

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#6

Beitrag von ibbi » Sa 6. Mai 2006, 23:36

George VII hat geschrieben:Falls Du mal auf der Suche nach einem 'kleinen aber feinen' kostenlosen Tool zum Muxen bist, hier ein Link ...
http://support.magix.net/boards/magix/i ... t&p=129751
:thanks: für den Link. mplex1 ist das würdige Gegenstück :up: (und genau das richtige für einen Kommandozeilen-Freak :X wie mich).

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#7

Beitrag von George VII » So 7. Mai 2006, 11:10

Keine Ursache :wink:

Zu den beiden mplex-Versionen sollte ich Dir vielleicht noch erklären, dass mplex1.exe nur EINEN Audio-Stream mitmuxen kann, mplex.exe aber MEHRERE, u.a. auch AC3.

Zudem erzeugt mplex1.exe immer DVD-konformes MPEG2-Material, bei mplex.exe lässt sich über Parameter einstellen, welcher Output erzeugt wird (ich denke da z.B. an SVCD, falls das noch einer brennt). Mit mplex.exe kannst Du die Output-Dateien auch gleich als VOB's mit DVD-konformer Größe erzeugen lassen.

Mein erster Treffer bei der Suche nach "mplex" in Internet war (nach einer langen Sucherei) mplex1.exe mit einer kleinen GUI. Allerdings war mir die zu spartanisch (Pfade immer wieder neu suchen). Da habe ich dann eine eigene GUI für mplex1.exe geschrieben (funktioniert auch mit mplex.exe, deckt aber nur dessen Basisfunktionen ab). Auf die vielfältigen Möglichkeiten von mplex.exe bin ich erst später gestoßen. Hätte ich mplex.exe vorher gehabt, dann wäre die GUI speziell dafür geschrieben worden.

Aber von Kommandozeilenfreak zu Kommandozeilenfreak ...

Du kannst die MuxerGUI auch so einstellen, dass nur die Batchdatei mit den DOS-Befehlen erzeugt wird, ohne diese Batch auszuführen. Und falls Du gerne noch Befehle einfügen möchtest, ist das im Kommandozeilenfenster jederzeit möglich.

Nicht zu vergessen der Vorteil der MuxerGUI bzgl. der Kontrolle des Festplatten-Restplatzes. War mir vorher ein paar Mal passiert, dass ich zu viel demuxt und wieder gemuxt habe, bis dann ein Vorgang mit einer nichtssagenden Fehlermeldung gestoppt hat. Grund: Platte voll :thinker:

Bei mir ist der Ablauf so, dass ich die Topf4000-TTF-Datei mit TFtool auf den Rechner kopiere, dann mit ProjectX demuxe und mit mplex direkt wieder muxe. Habe dann ein synchronisiertes MPEG2-File zur Weiterverarbeitung.

Bin jetzt gerade dabei, die GUI so zu erweitern, dass das Demuxen ebenfalls ganz einfach mit bedient werden kann, so dass man von der selben Oberfläche aus die TS-Files von ProjectX demuxen und anschließend mit mplex wieder muxen lassen kann. Die Topfield-TTS kann auf Wunsch nach dem Demuxen gelöscht werden, die erzeugenen Elementary-Streams nach dem erneuten Muxen (spart Festplattenplatz). Das Ganze funktioniert natürlich im Stapel (mehrere Arbeitsgänge festlegen und dann einmal starten), so dass man z.B. mehrere Serienteile zur Bearbeitung aussucht und dann den Rechner alleine arbeiten lässt, während man sich selbst einen Film von seinem Topf anschaut :D

Ach, was wird man doch mit der Zeit so faul :zzz:

Gruß,
George VII
Zuletzt geändert von George VII am So 7. Mai 2006, 11:13, insgesamt 1-mal geändert.

Benutzeravatar
jkIT
TFtool-Guru
TFtool-Guru
Beiträge: 3207
Registriert: Sa 10. Dez 2005, 18:26
Receivertyp: TF4000 & TF5000MP & SRP-2410

#8

Beitrag von jkIT » So 7. Mai 2006, 17:09

Hallo George,

das demuxen könntest Du mit TFtool auch direkt von der Topf-Platte erledigen. Wenn Du dann die entsprechende PX-ini so einstellst, dass PX nach dem demuxen mplex ausführt geht fast alles in einem Rutsch.
Gruß jkIT

CRP-2401; SRP-2410 (aD); TF5000MP (aD); TF4000PVR (aD); TFtool, aTMSremote (Autor)

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#9

Beitrag von George VII » Mo 8. Mai 2006, 09:47

Hallo jkIT !

Das hatte ich auch schon mal als Möglichkeit ins Auge gefasst, aber bei mir ist der Punkt "Topfplatte ausbauen und auslesen" sozusagen eine "Minutensache" :D
Morgens nimmt der Topf für den Junior auf, am frühen Abend für meine Frau. Und am Abend selbst will man ja auch mal was fernsehen :X

Deshalb ist das eine Arbeit, die ich morgens um 6:00 Uhr erledige: Platte raus (Topf noch ohne Wechselrahmen), an den Rechner, rüberkopiert und Platte wieder rein. Und dann irgendwann gemütlich demuxt, gemuxt, geschnitten, zusammengestellt und gebrannt.
Tja, hat halt jeder so seinen Arbeitsablauf :wink:

Bei meinem Tool wird zusätzlich zu der Stapelverarbeitung der Vorteil auch darin liegen, dass die nicht mehr benötigten Dateien automatisch gelöscht werden können (nach dem Demuxen die TTFs, nach dem Muxen die MPVs und MPAs). Das spart Plattenplatz.

Aber nichtsdestotrotz danke für den Tipp, der wird für einige Andere bestimmt eine Arbeitserleichterung bringen. Und Lob für TFtool, das ist ein prima Programm und wird mit jeder Version besser :hello:

Gruß,
George VII

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#10

Beitrag von ibbi » Mo 8. Mai 2006, 11:16

George VII hat geschrieben:Zu den beiden mplex-Versionen sollte ich Dir vielleicht noch erklären, dass mplex1.exe nur EINEN Audio-Stream mitmuxen kann, mplex.exe aber MEHRERE, u.a. auch AC3.
Ich habe mich aus zwei ganz profanen Gründen für mplex1 entschieden: Die Hilfe, die man beim Aufruf ohne Parameter bekommt, passt auf eine Seite, so dass man sich bei nur gelegentlichem Gebrauch schnell informieren kann, und mplex1 war im Gegensatz zu mplex sofort in der Lage, aus meinen beiden gedemuxten Dateien (mpg und mpa) wieder ein Video mit Ton zu machen (mplex faselte etwas von Fehlern und das Ergebnis war nicht wie erwartet). Fazit: Für den Gelegenheitsmuxer wie mich ist mplex1 das unkompliziertere Tool.

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#11

Beitrag von George VII » Mo 8. Mai 2006, 13:19

ibbi hat geschrieben:Ich habe mich aus zwei ganz profanen Gründen für mplex1 entschieden: Die Hilfe, die man beim Aufruf ohne Parameter bekommt, passt auf eine Seite, so dass man sich bei nur gelegentlichem Gebrauch schnell informieren kann.
Das trifft den Nagel auf den Kopf :wink:
Genau das hatte mir auch an mplex1 gefallen. Und weitergesucht hatte ich nicht mehr, weil ich dachte, ich hätte nun das besagte Tool mplex gefunden.
ibbi hat geschrieben:mplex1 war im Gegensatz zu mplex sofort in der Lage, aus meinen beiden gedemuxten Dateien (mpg und mpa) wieder ein Video mit Ton zu machen (mplex faselte etwas von Fehlern und das Ergebnis war nicht wie erwartet). Fazit: Für den Gelegenheitsmuxer wie mich ist mplex1 das unkompliziertere Tool.
Achtung, beide mplex-Versionen stammen vom selben Ahnen ab! Ich denke mal, dass mplex die Fehler nur etwas genauer beim Namen nennt.

Hier ein Link wo Du was zu den Muxern bzgl. Herkunft und Aufrufparameter-Reihenfolge nachlesen kannst. Die Info's sind vom Autor von Mpeg2Schnitt ...
http://mdienert.winnt.de/Tips-Tricks/Muxen/Muxen.html

Wenn allerdings die Ergebnisse hier funktionieren und dort nicht, dann ist DAS logischerweise für Dich das Entscheidungskriterium.

Gruß,
George VII

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#12

Beitrag von ibbi » Mo 8. Mai 2006, 14:38

Hallo George VII,

gibt es eigentlich noch ein passendes Kommandozeilenprogramm, das die Länge des demuxten .mpg korrigiert? Meinen Recherchen zufolge resultiert die viel zu kurze Längenanzeige durch den Player in falschen (Maximal-) Bitraten im Header.

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#13

Beitrag von George VII » Mo 8. Mai 2006, 17:46

Hallo ibbi !

Sorry, aber ein solches Tool ist mir nicht bekannt und mir auf meiner Suche im Internet bzgl. De-/Muxing noch nicht begegnet/aufgefallen.

Durch das Muxen werden evt. einige Frames eingefügt oder an anderer Stelle der Ton gestreckt. Auf eine Änderung der angezeigten Film-Länge habe ich dabei noch nie geachtet, da ich letztendlich ja noch Anfang, Ende und Werbung wegschneide.
Meinen Recherchen zufolge resultiert die viel zu kurze Längenanzeige durch den Player in falschen (Maximal-) Bitraten im Header.
Da kann ich Dir leider nicht weiterhelfen, da fehlt mir das Fachwissen :thinker:
Woher hat der Muxer die Daten zum Erstellen des Headers ? Aus der mpv oder durch Überprüfen des Materials ? Wenn der Muxer 'schuld' ist ...

Da gibt es noch den ImagoMPEG-Muxer. Hast Du den schon mal probiert, was der für mpg's erzeugt ? Bei mir waren dessen mpg's nicht so, dass ich sie weiterverwerten konnte. Allerdings lese ich die gemuxten mpg's in VideoDeLuxe ein, und das kann damit wohl nicht so recht umgehen, allerdings mit den mpg's von mplex. Muss halt alles zusammenpassen.

Welcher Player zeigt Dir denn eine falsche Länge an ? Kann ich vielleicht ja mal testen.

Nochmal zu mplex (lässt mich dann doch nicht los):
Welche Unterschiede hast Du bei Dir denn zwischen den Ergebnissen von mplex und mplex1 festgestellt ? Nicht dass ich meine Ergebnisse verschlechtere, wenn ich auf mplex.exe 'umsteige'. Oder den falschen Muxer für das richtige Material weiterempfehle.
Bild ? Ton ? Synchronität ? Welches Quellmaterial ?

Bin jetzt ja echt gespannt ...

Gruß,
George VII

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#14

Beitrag von ibbi » Mo 8. Mai 2006, 21:44

George VII hat geschrieben:Da kann ich Dir leider nicht weiterhelfen, da fehlt mir das Fachwissen :thinker:
Ich denke, da kann ich mit weniger Fachwissen dienen :D , schließlich habe ich letztes Wochenende erst meine erste Datei de-/gemuxt.
George VII hat geschrieben:Woher hat der Muxer die Daten zum Erstellen des Headers ? Aus der mpv oder durch Überprüfen des Materials ? Wenn der Muxer 'schuld' ist ...
Soweit ich das durch Googlen verstanden habe, steht im Transport-Stream eine (feste und falsche) Bitrate von 15000000 bits/sec, und diese wandert auch ins demuxte .mpg, so dass ein Player, der Bitrate und Dateilänge in Lauflänge umrechnet, auf eine viel zu kurze Spielzeit kommt. (Meine Testaufnahme von 25 Sekunden wird als 5-Sekunden-Aufnahme angezeigt, d. h. die Fortschrittsanzeige ist schnell am Ende, obwohl die Aufnahme natürlich bis zum Ende gespielt wird.) bbdmux macht also alles richtig, er trennt die Streams und belässt die - falschen - Header, wie sie sind. Resultat: Beim Audio-Stream (mit der richtigen Bitrate im Header) ist alles ok, der Video-Stream (mit seiner falschen Bitrate) "erscheint" dem Player kürzer als er in Wirklichkeit ist.

mplex1 zeigt übrigens schön an, was der richtige Eintrag wäre:

Code: Alles auswählen

    Bit rate : 1875000 bytes/sec (15000000 bits/sec)
    Computed avg rate : 393750 bytes/sec (3150000 bits/sec)
Ich weiß nicht, ob es beim muxen stören würde, wenn das .mpg-File eine Bitrate von 3150000 bits/sec hätte, aber ich dachte, es wäre nett, wenn man eine reine Video-Datei mit der "richtigen" (d. h. durchschnittlichen) Bitrate erzeugen könnte, die dann im Player auch mit der richtigen Länge angezeigt wird.

Und hey, während ich das schreibe, frage ich mich, was passiert eigentlich, wenn man mplex1 nur die Video-Datei (ohne Audio) muxen lässt...? Schnell ausprobiert und hurra: Es entsteht eine Video-Datei mit "richtiger" Bitrate und korrekter Längenanzeige im Player. :hello:

Schön, dass ich mir weiterhelfen konnte. :lol:
George VII hat geschrieben:Nochmal zu mplex (lässt mich dann doch nicht los):
Welche Unterschiede hast Du bei Dir denn zwischen den Ergebnissen von mplex und mplex1 festgestellt ?
Meine Testaufnahme habe ich mit bbdmux in Video- und Audio-Teil getrennt.

Die mit mplex1 aus diesen Teilen gemuxte Datei ist wieder 25 Sekunden lang und unterscheidet sich beim Ansehen nicht vom Original.

mplex bricht stets mit einem Fehler ab:

Code: Alles auswählen

**ERROR: [???] Too many frame drops -exiting
Das Ergebnis ist entweder nur 4 Sekunden oder - mit Parameter -V - 10 Sekunden lang.

Ich möchte mplex1 und mplex nicht werten, vielleicht ist mplex ja das genauere Programm, aber mplex1 ist für den Gelegenheitsbenutzer einfach einfacher. :)
George VII hat geschrieben:Bild ? Ton ? Synchronität ? Welches Quellmaterial ?
Dazu kann ich echt nichts sagen, da ich nur einen 25-sekündigen Werbespot de-/gemuxt habe.

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#15

Beitrag von George VII » Di 9. Mai 2006, 11:11

ibbi hat geschrieben:Soweit ich das durch Googlen verstanden habe, steht im Transport-Stream eine (feste und falsche) Bitrate von 15000000 bits/sec, und diese wandert auch ins demuxte .mpg
Ich habe immer noch Probleme mit diesem mpg. Beim Demuxen entstehen normalerweise eine Video- und 1_bis_mehrere Audiodateien. Eigentlich keine mpg, eher mpv und mpa (bzw. ac3). Natürlich ist es möglich, dass die Videodatei evt. vom Demuxer selbst nach mpg umbenannt wird. Das Demuxen ist aber nur eine Trennung der Elementarströme Video/Audio, mehr nicht. Ich bin mir nicht sicher, ob diese mpg schon DVD-konform ist. Eine Korrektur des Headers mit Erstellung einer DVD-konformen mpg-Datei kann meines Erachtens nur durch den Muxer geschehen, nicht durch den Demuxer. Das MPG-Format ist auch nur ein Container. Auf den Inhalt kommt es an.
ibbi hat geschrieben:bbdmux macht also alles richtig, er trennt die Streams und belässt die - falschen - Header, wie sie sind. Resultat: Beim Audio-Stream (mit der richtigen Bitrate im Header) ist alles ok, der Video-Stream (mit seiner falschen Bitrate) "erscheint" dem Player kürzer als er in Wirklichkeit ist.
Genau, der Demuxer trennt nur die Elementary-Streams aus dem Transport-Stream heraus. Die falsche Bitrate vom Original wird nicht überprüft/geändert.
ibbi hat geschrieben:mplex1 zeigt übrigens schön an, was der richtige Eintrag wäre:

Code: Alles auswählen

    Bit rate : 1875000 bytes/sec (15000000 bits/sec)
    Computed avg rate : 393750 bytes/sec (3150000 bits/sec)
Hier denke ich ist die Bitrate der erneut gemuxten mpg-Datei (aus mpv und mpa) angezeigt. Nicht die Bitrate der Quell-Videodatei mpv.
ibbi hat geschrieben: ... ich dachte, es wäre nett, wenn man eine reine Video-Datei mit der "richtigen" (d. h. durchschnittlichen) Bitrate erzeugen könnte, die dann im Player auch mit der richtigen Länge angezeigt wird.
Ohne weitergelesen zu haben hätte ich Dir an dieser Stelle geraten, die durch das Muxen entstandene mpg (mit der korrekten Bitrate) erneut zu Demuxen. Die dabei entstehende Videodatei mpv müsste dann eigentlich ebenfalls die korrekte Bitrate im Header anzeigen (weil sie die von der Quelldatei übernimmt). Dabei wäre ich allerdings nie auf folgende Idee gekommen ...
ibbi hat geschrieben:Und hey, während ich das schreibe, frage ich mich, was passiert eigentlich, wenn man mplex1 nur die Video-Datei (ohne Audio) muxen lässt...? Schnell ausprobiert und hurra: Es entsteht eine Video-Datei mit "richtiger" Bitrate und korrekter Längenanzeige im Player. :hello:
Der Muxer überarbeitet die Elementarströme auf dem Weg zur mpg. Scheinbar selbst wenn's nur einer ist :D
ibbi hat geschrieben:Schön, dass ich mir weiterhelfen konnte. :lol:
... und hast damit auch für uns neue Infos erarbeitet :wink:
ibbi hat geschrieben:Meine Testaufnahme habe ich mit bbdmux in Video- und Audio-Teil getrennt. Die mit mplex1 aus diesen Teilen gemuxte Datei ist wieder 25 Sekunden lang und unterscheidet sich beim Ansehen nicht vom Original.
Durch das Demuxen und das erneute Muxen passiert keine Änderung an Video/Audio bzgl. der Qualität. Sie werden lediglich getrennt und dann synchronisiert und wieder zusammen geführt. Quell-Qualität = Ziel-Qualität.
ibbi hat geschrieben:mplex bricht stets mit einem Fehler ab:

Code: Alles auswählen

**ERROR: [???] Too many frame drops -exiting
Diese Meldung habe ich bei mplex noch nie gesehen. Vielleicht liegt's am Quellmaterial ? Hagge hatte mir mal geantwortet, dass nur weil ein Programm keine Fehler im Material anzeigt deshalb nicht trotzdem welche da sein können. Manche Programme gehen mit uns Usern scheinbar "gnädiger" um und ersparen uns dabei manche Aufregung :w00t:
ibbi hat geschrieben:Ich möchte mplex1 und mplex nicht werten, vielleicht ist mplex ja das genauere Programm, aber mplex1 ist für den Gelegenheitsbenutzer einfach einfacher. :)
Genau!

Gruß,
George VII

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

#16

Beitrag von hagge » Di 9. Mai 2006, 11:44

ibbi hat geschrieben:Soweit ich das durch Googlen verstanden habe, steht im Transport-Stream eine (feste und falsche) Bitrate von 15000000 bits/sec, und diese wandert auch ins demuxte .mpg
Richtig. Es sei denn man verwendet ein Demuxer-Programm, das die minimale, maximale und mittlere Bitrate schon ausrechnet und dann das File entsprechend patchen kann. Also zum Beispiel ProjectX oder PVAStrumento.
so dass ein Player, der Bitrate und Dateilänge in Lauflänge umrechnet, auf eine viel zu kurze Spielzeit kommt.
Diese Rechnung ist ja sowieso immer nur eine Schätzung. Da eine DVB-Datei eine variable Bitrate hat, kann die Angabe also nur stimmen, wenn am Anfang die korrekte mittlere Datenrate eingetragen wird. Nimmt man die maximal vorkommende Datenrate oder sonst eine andere Angabe, dann stimmt alles nicht mehr. Diese "Berechnung" der Länge ist also ein äußerst fragwürdiges Verfahren des Players, denn die Bitratenangabe ist nicht wirklich definiert, was darin zu stehen hat.

Die Frage ist, wie man es besser machen kann. Am besten ist, man schaut in die Presentation Timestamps (PTS). Ein PTS-Wert am Anfang und ein PTS-Wert am Ende ausgelesen ergibt in der Differenz einen ziemlich genauen Wert der Dauer -- es sei denn, der Film hat zwischendrin eine Lücke, z.B. wo Werbung weggeschnitten wurde.

Aus diesem Grund erzeugt ein ordentliches Demux-Programm eine komplett neue Zeitlinie, die ab 0:00:00 durchnumeriert ist und lückenlos verläuft. Dann stimmen auch solche Zeitangaben wieder.
Ich weiß nicht, ob es beim muxen stören würde, wenn das .mpg-File eine Bitrate von 3150000 bits/sec hätte
Nein, und wie gesagt machen das ordentliche Demuxer sowieso von selbst.
mplex bricht stets mit einem Fehler ab:

Code: Alles auswählen

**ERROR: [???] Too many frame drops -exiting
Nun, das deutet darauf hin, dass entweder der Empfang bei Dir schon sehr schlecht ist, so dass viele Lücken im Datenstrom des Topfield entstanden sind, oder der Demuxer, den Du verwendest, taugt halt nichts und baut seinerzeit einen ungültigen Datenstrom. ProjectX und PVAStrumento korrigieren solche Fehler im Datenstrom, so dass anschließend auf jeden Fall ein gültiges MPEG-File vorliegt. Die korrigierten Stellen äußern sich allerdings durch Lücken im Bild. Dann solltest Du aber den Fehler an der Quelle beheben, sprich den Empfang verbessern (größere Schüssel, Schüssel besser ausrichten, bessere Kabel, etc.), anstatt später die Fehler mühselig auszukorrigieren.

Insgesamt kann ich Deine Beweggründe verstehen, ein paar kleine Tools verwenden zu wollen. Aber auf der anderen Seite hat das schon seinen Grund, warum gerade die Programme ProjectX und PVAStrumento so gerne verwendet werden: sie liefern das beste Ergebnis ab. Wenn Du hier selber forschen willst, dann erfindest Du das Rad neu. Das haben vor Dir schon andere probiert und doch nichts besseres gefunden.

Ich habe anfangs auch lange gesucht, bis ich ein halbwegs akzeptables Verfahren gefunden hatte, meine DVB-Filme auf DVD zu bekommen. Optimal ist das noch lange nicht, und so halte ich immer die Augen auf nach was Besserem. Aber selbst gegen Geld gibt es keine so wirklich gute Lösung. Darum bleibe ich bei meinem Ablauf: ProjectX -> Mpeg2Schnitt -> IfoEdit. Für jeden Schritt gibt es entsprechende Alternativen:

Statt ProjectX: PVAStrumento
Statt Mpeg2Schnitt: Cuttermaran
Statt IfoEdit: GUIforDVDAuthor (kostenlos) oder DVD-Lab (kostet).

Wer mehr mit einem kommerziellen Videoschnittprogramm arbeiten will, muss meist dennoch demuxen und muxen, also z.B. ProjectX und mplex. Dann kann man auch direkt mit so Programmen wie Magix Video Deluxe, Pinnacle Studio, Ulead Video Studio etc. arbeiten und dort dann das Smartrendering verwenden, also ohne Neu-Encodierung und dem damit verbundenen Qualitätsverlust. Ich selbst bin dabei mit dem Magix-Produkt ganz zufrieden. Aber eines klappt bei keinem dieser Programme bis heute: nämlich dass man problemlos DVB-Transportstreams einlesen, von Werbung befreien und auf eine DVD brennen kann. Das schreiben die zwar schon seit zig Versionen auf die Packung, aber bisher hat es noch immer unsynchrone DVDs ergeben. Das einzige Programm, dass das wohl halbwegs gut und in einem Rutsch hinbekommt, aber dafür auch nichts anderes kann, ist DVR Studio (Pro) von Haenlein-Software.

Tschau,

Hagge

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#17

Beitrag von ibbi » Di 9. Mai 2006, 11:46

George VII hat geschrieben:Ich habe immer noch Probleme mit diesem mpg.
Ich schaue zunächst mit

Code: Alles auswählen

bbdmux test.rec
nach, welche Streams in der Aufnahme sind, und welche PIDs Video- (z. B. 0x0065) und Audio-Stream (0x0066) haben. Dann erzeuge ich mit

Code: Alles auswählen

bbdmux test.rec 0x0065 test.mpg
das Video und mit

Code: Alles auswählen

bbdmux test.rec 0x0066 test.mpa
die Audio-Datei.

Hmm, sollte ich die Video-Datei besser test.mpv nennen? (Weiß gar nicht, ob dieser Dateityp bei mir registriert ist.)

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#18

Beitrag von ibbi » Di 9. Mai 2006, 12:00

hagge hat geschrieben:Insgesamt kann ich Deine Beweggründe verstehen, ein paar kleine Tools verwenden zu wollen. Aber auf der anderen Seite hat das schon seinen Grund, warum gerade die Programme ProjectX und PVAStrumento so gerne verwendet werden: sie liefern das beste Ergebnis ab. Wenn Du hier selber forschen willst, dann erfindest Du das Rad neu. Das haben vor Dir schon andere probiert und doch nichts besseres gefunden.
Ursprünglich suchte ich nur nach einer einfachen Möglichkeit, gaaanz selten mal einen Audio-Stream zu extrahieren. ProjectX & Co. wollte ich mir nicht antun, deshalb war ich glücklich, bbdmux gefunden zu haben. Damit wäre meine Anforderung eigentlich bereits abgedeckt gewesen. Da ich aber nun mal neugierig bin, wollte ich das zu kurze Video nicht auf sich beruhen lassen, und fand zusätzlich die Idee reizvoll, ebenso einfach gaaanz selten mal wieder zu muxen.

Insgesamt habe ich mit zwei Kommandozeilen-Tools nun zu 100% das Gewünschte erreicht. Natürlich erwarte ich nicht, damit nun hochwertige DVDs erstellen zu können, denn darum ging es mir ja gar nicht. Sollte ich wirklich mal etwas auf DVD archivieren wollen, dann werde ich um die von Dir erwähnten Programme nicht herumkommen, das ist mir schon klar. (Immerhin weiß ich dann aber bereits in Ansätzen, was hinter den Kulissen abläuft.)

George VII
Benutzer
Benutzer
Beiträge: 94
Registriert: Mo 2. Jan 2006, 14:53
Receivertyp: Topfield 5500 PVR

#19

Beitrag von George VII » Di 9. Mai 2006, 12:05

ibbi hat geschrieben:Ich schaue zunächst mit "bbdmux test.rec" nach, welche Streams in der Aufnahme sind, und welche PIDs Video- (z. B. 0x0065) und Audio-Stream (0x0066) haben. Dann erzeuge ich mit "bbdmux test.rec 0x0065 test.mpg" das Video und mit "bbdmux test.rec 0x0066 test.mpa" die Audio-Datei.
Bei dem Ablauf (der mir nicht gerade der einfachste scheint) und dem von hagge beschriebenen Neuschreiben der Zeitlinie bei Demuxern wie ProjectX und PVAS kann ich hagge nur zustimmen, Dir einen anderen Demuxer zuzulegen.

Zudem: ProjectX läßt sich auch über die Kommandozeile aufrufen (wenn es erst mal installiert ist). ProjectX gibt es auch fertig kompiliert, so dass man das Java SDK nicht auch noch installieren muß. (Die Cracks trauen dem Braten aber meistens nicht und compilieren den Sourcecode lieber selbst)
ibbi hat geschrieben:Hmm, sollte ich die Video-Datei besser test.mpv nennen?
Würde ich machen. Dann kommst Du damit auch nicht mit den Muxer-Output-Mpeg's durcheinander. Die mit dem Audio mit drin :p

Gruß,
George VII

EDIT: Hallo ibbi, da warst Du mit Deiner Antwort wohl schneller ...
Zuletzt geändert von George VII am Di 9. Mai 2006, 12:07, insgesamt 1-mal geändert.

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#20

Beitrag von ibbi » Di 9. Mai 2006, 12:12

George VII hat geschrieben:kann ich hagge nur zustimmen, Dir einen anderen Demuxer zuzulegen.
Vielleicht habe ich ja wirklich mal das Bedürfnis, heiß zu reißen und die Ergebnisse zu archivieren. Aber für den Moment bin ich mit den beiden Tools rundherum zufrieden. :)

Antworten

Zurück zu „Aufnahmen am PC bearbeiten“