Falsche Längenangabe in Videodatei. Vermutlich irreparabel.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Falsche Längenangabe in Videodatei. Vermutlich irreparabel.

    Anzeige
    Hallo Leute.

    Ich habe folgendes Problem:
    Ich habe für ein kommentiertes Spielevideo mein Gameplay aufgezeichnet. Das ganze dauerte ca. 2:07 Std. So lange sind zumindest die Aufnahmen meiner Voice, meiner Facecam und eigentlich auch beim Spielvideo. Aber wenn ich das Rohvideo in einen Player packe, zeigt der mir nur 54 Minuten an. Sowohl in den Windows-Eigenschaften der Datei, im VLC Player, im Windows Media Player und tatsächlich auch in meinem Videobearbeitungsprogramm (zu Software nacher mehr)

    Folgendes passiert aber: Wenn ich das Video in den VLC oder WMP abspiele und einfach mal laufen lasse, zählt die Zeit bis 54 Minuten und bleibt dann stehen. Der Zeitcursor idt (glaube ich) dann auch schon hinten angekommen, das Video geht aber weiter.
    Und was noch interessant ist: Wenn ich das Video im Player laufen lasse und der Cursor dann nach 50 Minuten ja kurz vor dem Ende der Zeitleiste ist bin ich auch im Video ganz normal an der Stelle, wo ich bei 50 Minuten sein sollte. Wenn ich jetzt den Player schließe oder das Video komplett stoppe, dann wieder starte und den Cursor von Hand zu der Stelle ziehe, an der er vorher bei 50 Minuten war, wird mir zwar wieder 50 Minuten angezeigt, ich bin dann aber an der Stelle im Video, zu der die Position in der Zeitleiste passt. Also quasi kurz vor Ende.
    Das heißt wenn ich das Video normal laufen lasse fährt der Cursor bis ans Ende der Zeitleiste und bleibt dort stehen, das Video geht weiter. Wenn ich aber den Cursor verschiebe, sucht er sich dann aus dem Video die Stelle raus die dann zu Position der Cursors passt. Ich hoffe ich habe das einigermaßen einleuchtend beschrieben. Man muss es sehen um dieses Phänomen zu begreifen :D

    In meinem Bearbeeitungsprogramm ist es ähnlich. Wenn ich die Videodatei einfüge ist die nur 54 Minuten lang, und auch da läuft der Zeitcursor über das Ende des Videos hinaus, es wird aber noch weiterhin ein Video gezeigt. Teilweise sind aber Fehler im Video zu sehen. Manchmal schwarze Bilder kurz, manchmal fehlen aber auch längere Passagen. Wenn ich es dann einfach mal rendere zusammen mit meiner Voice und der Facecam sind diese Fehler nicht mehr da. Allerdings rendert er nicht wie in der Vorschau über den Endpunkt des Videos hinweg, sondern bricht dann das Gamevideo an der Stelle ab.

    Also irgendwie habe ich das Gefühl, dass das Videomaterial schon vollständig vorhanden ist, aber leider irgendwie beschädigt ist. Ich habe auch schon eine Vermutung, weiß aber nicht wie ich das hinbekomme.

    Habe es mit dem VLC player versucht zu konvertieren, ging leider nicht.
    In meinem Bearbeitungsprogramm kann ich es zwar einmal ohne alles komplett rendern lassen, aber es bleibt bei den 54 minuten in der Zeitleiste, obwohl auch bei dem Video alles da ist.
    Ich habe es auch mit MeGUI versucht, aber da muss ich gestehen steige ich nicht durch. Da bin ich dann zu sehr Laie.

    So, nun zu meiner Software:

    Aufnahmeprogramm Voice: Audacity (sollte man da als MP3 oder als wav exportieren?)
    Aufnahmeprogramm Game: Hauppauge TotalMedia Show Biz mit der Hauppauge HD PVR 2, Software nicht geupdatet, weil die neue Programmversion "Hauppauge Capture" mir große Probleme bereitet hat.
    Bearbeitungsprogramm: MAGIX Video Deluxe 2013 Plus

    Meine Vermutung wo mein Fehler oder Problem liegt: Ich habe aus anscheinend eine variable Bitrate gewählt. Normaler Weiße habe ich 14.000, allerdings sieht man schon in den Details der Videodatei das ich irgendwo bei 30.000 liege und ich habe später in meinen capture einstellungen gesehen das es auf variable stand. Kacke. Aber urteilt ihr mal selbst.

    Und hier noch die Mediainfo der Videodatei:

    Allgemein
    ID : 0 (0x0)
    Vollständiger Name : E:\2015_3_6_21_15_41.TS
    Format : MPEG-TS
    Dateigröße : 13,0 GiB
    Dauer : 54min
    Modus der Gesamtbitrate : variabel
    Gesamte Bitrate : 34,2 Mbps

    Video
    ID : 4113 (0x1011)
    Menü-ID : 1 (0x1)
    Format : AVC
    Format/Info : Advanced Video Codec
    Format-Profil : High@L4.0
    Format-Einstellungen für CABAC : Ja
    Format-Einstellungen für ReFrames : 3 frames
    Codec-ID : 27
    Dauer : 54min
    Breite : 1 280 Pixel
    Höhe : 720 Pixel
    Bildseitenverhältnis : 16:9
    Bildwiederholungsrate : 59,940 FPS
    Standard : Component
    ColorSpace : YUV
    ChromaSubsampling : 4:2:0
    BitDepth/String : 8 bits
    Scantyp : progressiv
    colour_primaries : BT.709
    transfer_characteristics : BT.709
    matrix_coefficients : BT.709
    colour_range : Limited

    Audio
    ID : 4352 (0x1100)
    Menü-ID : 1 (0x1)
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format-Version : Version 2
    Format-Profil : LC
    Muxing-Modus : ADTS
    Codec-ID : 15
    Dauer : 54min
    Bitraten-Modus : variabel
    Kanäle : 2 Kanäle
    Kanal-Positionen : Front: L R
    Samplingrate : 48,0 KHz
    Video Verzögerung : 23ms
  • AzuRO schrieb:

    Meine Vermutung wo mein Fehler oder Problem liegt: Ich habe aus anscheinend eine variable Bitrate gewählt. Normaler Weiße habe ich 14.000, allerdings sieht man schon in den Details der Videodatei das ich irgendwo bei 30.000 liege und ich habe später in meinen capture einstellungen gesehen das es auf variable stand. Kacke. Aber urteilt ihr mal selbst.

    Sowas hat mit Bitraten nix zu tun.
    In VBR aufzunehmen ist daher schon in Ordnung.

    34200 kbps für in einem TS Container.
    Viel weniger bekommst du wenn du es in MP4 speicherst. Da TS Streams mit mehr Bitrate umgehen können.

    Die Frage die sich dir stellen sollte allerdings ist ob dein Capture Gerät nicht mittendrin abgesoffen ist oder Planmäßig nach Softwareeinstelung beendet hat. Weil... schau dir deine Mediainfo an. Du siehst ja selbst das es nach 54 Minuten aufhört.

    Aber 34200 kbps bei 54 Minuten und 59.94 FPS bei der Auflösung und YUV Farbraum ist schon recht ok. Würde sogar hinkommen.

    Müsste man die Bitratenverteilung sehen mit dem Bitraten Viewer, da es ja hier nun eine VBR ist.

    Je komplexer das Bildmaterial, desto mehr Bitrate wird benötigt. Je inkomplexer ein Frame ist, desto weniger Bitrate wird benötigt.

    Und ich sag es leider so wie es ist: Wenn der Rest des Videomaterials defekt sein sollte, dann kannst du ihn eh nicht wiederherstellen. Gerade bei so einem Lossy Format wie H264.

    Aber für mich sieht das eher aus als ob der mittendrin geziehlt aufgehört hat. Weil wenn es defekt gewesen wäre, wäre gewiss nur ein Teil in der Mediainfo nicht richtig aufgeführt. Aber bei dir haben ja Video und Audio die gleiche Länge. Und auch die Dateigröße wundert mich nicht bei so einer hohen Bitrate. Also ich denke vielmehr das die Aufnahme unerwartet oder geplant beendet wurde seitens der Software oder Hardware.

    Unerwartet kann das schon sein wenn das Capturegerät kein Signal bekommt.
  • Sagaras schrieb:

    Aber für mich sieht das eher aus als ob der mittendrin geziehlt aufgehört hat. Weil wenn es defekt gewesen wäre, wäre gewiss nur ein Teil in der Mediainfo nicht richtig aufgeführt. Aber bei dir haben ja Video und Audio die gleiche Länge. Und auch die Dateigröße wundert mich nicht bei so einer hohen Bitrate. Also ich denke vielmehr das die Aufnahme unerwartet oder geplant beendet wurde seitens der Software oder Hardware.


    Dann würde es doch einfach bei Minute 54 aufhören, aber der Videostream geht ja danach noch weiter...
    Das hört sich für mich nach einem beschädigten Header an...

    Man könnte es mit der Wiederherstellung von @De-M-oN versuchen, mit dem Verfahren das selbst bei Lagarith wieder alles herstellen konnte...
    Nur das muss er dann mal schreiben xD
  • GelberDrache92 schrieb:

    Man könnte es mit der Wiederherstellung von @De-M-oN versuchen, mit dem Verfahren das selbst bei Lagarith wieder alles herstellen konnte...

    Viel Spaß dann dabei.

    GelberDrache92 schrieb:

    Dann würde es doch einfach bei Minute 54 aufhören, aber der Videostream geht ja danach noch weiter...

    Das einzige was er versuchen kann, wenn da wirklich noch mehr sein sollte, den TS Stream in MP4 zu muxen. Das aber dann bitte mit FFMpeg unbedingt machen. Weil der den H264 Stream analysieren kann anstatt den vom Header zu lesen.

    Und wenn der erkennt das da noch mehr ist, schreibt er auch den neuen Header korrekt.

    Im schlimmsten Falle könnte man das Video versuchen zu dumpen. Beim Dumpen wird der Header nämlich dann ignoriert und man hat dann den Rohstream. Den kann man dann ja wieder in ein geeigneten Container wieder geben und dann hätte man das eventuell auch gelöst.

    Ist halt nur die Frage ob es dann geht.

    Weil an der Headerdatei rumzuschrauben wie bei einer AVI Datei und einem Lossless Codec kannste vergessen. Damit erreichste nicht viel. Gerade bei solch Lossy Aufnahmen. Damit hätte er ja mehr Glück das Video richtig zu schrotten. ^^


    Also...
    Versuch 1 wäre über den TSMuxer das Problem zu lösen.
    Du öffnest den TSMuxer (liegt bei MeGUI mit bei im Tool Verzeichnis) und lädst dein Video. Dann demuxt du dein Video dort und fügst die Rohteile wieder mit MP4BoxGUI zusammen. Und dann schauste ob das Problem gelöst ist oder weiter besteht.

    Besteht es weiter löschst du die MP4 wieder und machst mit der Original TS Datei wieder weiter...

    Versuch 2 wäre dann über FFMpeg die Streams herauszukopieren.

    Quellcode

    1. ffmpeg.exe -i "C:\Neuer Ordner\Video.TS" -c:v copy "C:\Neuer Ordner\Video.mp4"


    Das ist der Command Befehl für FFMpeg um den Videostream zu kopieren.


    Wenn das nicht helfen sollte, dann probierst mit Versuch 3 es via einem Dumping.
    Dazu dienlich sein sollte mencoder und mplayer

    Mit mplayer machst du dann den Dump via Commandbefehl:

    Quellcode

    1. MPlayer.exe yourfile.ts -dumpvideo


    Und dann via mencoder das gedumpte Video in einen MP4 Container geben lassen.
    Das machste dann via diesem Command:

    Quellcode

    1. mencoder.exe stream.dump -ovc raw -noskip -ofps 59.94 -o file2.mp4


    Und dann haste den Rohstream in einem neuen Container.

    Das gleiche müsste man dann für Audio auch machen. Probier es halt mal damit
  • Anzeige
    Das ist bei TS-Dateien hin und wieder normal, einfach mit nem entsprechenden Programm ("TSPE - Transport Stream Packet Editor", gibts als 30 Tage TestVersion oder Freeware "H.264 TS Cutter") laden und direkt ungeschnitten speichern, dann sollte Windows (und andere Mediaplayer) da wieder die korrekte Länge anzeigen weil die Programme die TimeStamps beginnend bei 0 neu schreiben (bei TSPE muss man das extra aktivieren bzw. meckert nach einem Scan das Programm sowieso rum).

    Das Problem kommt häufiger vor weil TS-Dateien eben "LiveStreams" sind ("TS" = TransportStream), da ist kein richtiger Header vorhanden (abgesehen von PAT- und PMT-Paketen die aber sowieso periodisch im gesamten Stream zu finden sind) da es ein Paket-Orientiertes Format ist und im gegensatz zu MKV, AVI usw keinen Header am Anfang der Datei hat.

    Jedes Paket in dieser Datei hat einen Zeitstempel damit man die nachher wieder passend sortieren kann (es könnte ja ein Paket früher ankommen als ein anderes).

    Nun gibt es sogenannte PTS-WrapArounds (der Zeitstempel der Pakete in der TS-Datei springt wieder auf 00:00:00.00) dann kann der Filter der die Restzeit einfach aus den Timestamps errechnet (nehm den letzten Timestamp und ziehe den ersten davon ab = Laufzeit) natürlich keine korrekte Zeit ermitteln und "stoppt" eben dort wo der Sprung stattfand (bei dir eben nach knapp 60 Minuten).

    Wenn du jetzt eine solche Datei im Mediaplayer abspielst (ohne zu spulen) hört der Balken natürlich bei der vorher falsch berechneten Zeit auf aber das Video (die Datei ist ja noch nicht zu ende) spielt weiter.

    Spulst du so nimmt der Mediaplayer (weil er nicht weiß wo in der Datei welcher Zeitstempel ist, ist ja ein "LiveStream"-Format) einfach die Stelle der Datei auf Festplatte wo dein Balken sich befindet (bei 50% in der Mitte der Datei, bei 75% das letzte 1/4 usw), spielt aber im Gegensatz zum "nicht spulen" jetzt die korrekte Stelle ab (Prozentual gesehen, nicht Zeitlich), hat ja aber noch immer die falsche Restzeit-Anzeige (die berechnet der nicht neu).

    TLDR: Timestamps mit "TSPE" oder "H.264 TS Cutter" neu schreiben lassen = Datei sollte wieder problemlos mit richtiger Länge angezeigt werden und sich auch spulen/abspielen lassen.
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • Ich versuche mal im einzelnen das zu beantworten.

    Mit dem TS oder MP4 Format verhält es sich bei mir so: Ich habe meine Gamevideo immer im MP4 Format aufgenommen, hatte dann aber das Phänomen, das die Tonspur asynchron zur Videospur in das MAGIX Programm eingelesen wurde. Die Rohdatei in einem MediaPlayer war absolut korrekt, aber im Videobearbeitungsprogramm lief sie nach hinten raus glaube zu schnell weg. Ich musste sie glaube ich immer etwas verlangsamen. Dann habe ich einmal aus versehen im TS Format aufgenommen und es ist dabei nicht passiert. Da habe ich dann gedacht, dass es mir persönlich egal ist welches Format meine Rohdatei hat, ich konnte mir den Arbeitsschritt ersparen, das wieder ausgleichen zu müssen. Daher nahme ich da nicht mehr MP4.
    Darüber hinaus habe ich das Problem auch bei meiner Voice zu meiner Facecam. Nehme das beides separat auf, daher ist es nicht von vorne herein eine Spur (ist keine Webcam am PC daher separat). Da muss ich die meine Voicespur auch minimal verlangsamen. Klar, je länger das Video, desto größer der Unterschied gegen Ende des Videos. Woran das liegt habe ich bis heute nicht rausgefunden, habe es erstmal akzeptiert. Daher habe ich eben noch gefragt, ob es sinnvoller ist, aus Audacity eine wav zu exportieren. Vllt klappt es damit ja besser.

    Ich kann mit meinem Capture Programm 3 verschiedene Formate aufnehmen. MP4, TS und M2TS.

    Mit dem TSMuxer habe ich das probiert, allerdings "fehlt" mir das anscheinend was. Ich habe in dem Ordner nur 2 Datein. Einmal die Release notes und eine tsMuxeR.exe. Mir fehlt die TSMuxerGUI.exe. Habe das Programm geupdatet, aber ändern tut sich nichts. Wenn ich die vorhandene exe Datei starte, rattert er nur eine DOS-Ebenen Eingabe runter und schließt sich sofort wieder.

    Ich würde deine Vorschläge gerne mal versuchen, aber es hapert dadurch schon am ersten :D
  • drive.google.com/file/d/0B0VmP…1M2h0dFE/edit?usp=sharing

    Die TSmuxerGUI musst du dann starten. Wie der Name sagt hat diese Exe dann eine Grafische Benutzer Oberfläche (GUI) ;D
    Die ohne GUI Bezeichnung ist eine reine Command Version und lässt sich über Batchdatein oder direkt über die Command Console von Windows starten.
  • Super. Ich danke dir! Ich starte das ganze mal und lasse mich überraschen. Sage dann gleich Bescheid was es ergeben hat.

    Update: Es scheint tatsächlich geklappt zu haben! Ich habe erst aus versehen auf "TS muxing" gelassen und habe dadurch eine neue TS Datei erhalten, die aber in Ordnung zu sein scheint. Zeit wird richtig im VLC angezeigt. Teste es nacher mal im MAGIX. Das einzige was mir aufgefallen ist, ist das die Zeitspur ein paar Sekunden versetzt ist, aber das ist kein Problem. Das löse ich spätestens im MAGIX.
    Habe dann auch das Demux versucht. Habe 2 Dateien bekommen, kann sie aber nicht wieder zusammenfügen weil mir auch bei mp4bos das GUI fehlt O_o keine ahnung wieso. Aber bin auch so erstmal mehr als zufrieden und glücklich! Danke euch allen für die super Hilfe!!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AzuRO ()

  • AzuRO schrieb:

    Super. Ich danke dir! Ich starte das ganze mal und lasse mich überraschen. Sage dann gleich Bescheid was es ergeben hat.

    Update: Es scheint tatsächlich geklappt zu haben! Ich habe erst aus versehen auf "TS muxing" gelassen und habe dadurch eine neue TS Datei erhalten, die aber in Ordnung zu sein scheint. Zeit wird richtig im VLC angezeigt. Teste es nacher mal im MAGIX. Das einzige was mir aufgefallen ist, ist das die Zeitspur ein paar Sekunden versetzt ist, aber das ist kein Problem. Das löse ich spätestens im MAGIX.
    Habe dann auch das Demux versucht. Habe 2 Dateien bekommen, kann sie aber nicht wieder zusammenfügen weil mir auch bei mp4bos das GUI fehlt O_o keine ahnung wieso. Aber bin auch so erstmal mehr als zufrieden und glücklich! Danke euch allen für die super Hilfe!!!
    Ich denke, dann kann ich hier mal schließen, da die Frage geklärt zu sein scheint.
    Falls noch Rückfragen auftauchen, oder ich anderwertig zu früh geschlossen haben sollte, so genügt eine kleine PN des Threaderstellers an mich.

    Bitte beim nächsten Mal als 'erledigt' markieren mit Doppelklick auf das rote Kästchen:



    #CLOSED