Was bedeutet „Data: Skeleton“ in einer .ogv-Datei?

Meine Frage: Ich habe mit recordmydesktop (Version 0.3.8.1) einen Screencast gemacht. Wenn ich die gerenderte Datei mit untersuche avprobesehe ich, dass da Stream #0.0: Data: skeletonin der produzierten Datei ist. Ich vermute ffprobe, dass es zu den gleichen Ergebnissen kommen wird...

Was ist "Data: Skeleton"? Was wird in einem solchen Stream gespeichert? Ist es notwendig, die Mediendatei abzuspielen?

Was ich gemacht habe: Zuerst nehme ich einen Teil meines Bildschirms via auf

recordmydesktop --height 10 --width 10 -y 50

Jetzt laufe ich und avprobe out.ogvich bekomme als Ergebnis

avprobe version 9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2007-2014 the Libav developers
  built on Aug 10 2014 18:19:26 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[ogg @ 0x93aa700] Multiple fisbone for the same stream is not implemented. Update your Libav version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[ogg @ 0x93aa700] 22 bytes of comment header remain
[ogg @ 0x93aa700] truncated comment header, 1 comments not found
[ogg @ 0x93aa700] max_analyze_duration reached
Input #0, ogg, from 'out.ogv':
  Duration: 00:00:06.93, start: 0.000000, bitrate: 9 kb/s
    Stream #0.0: Data: skeleton
    Stream #0.1: Video: theora, yuv420p, 16x16 [PAR 1:1 DAR 1:1], 15 tbn, 15 tbc
    Stream #0.2: Audio: vorbis, 22050 Hz, mono, fltp, 89 kb/s
Unsupported codec with id 0 for input stream 0

Wenn Sie die Videodatei selbst untersuchen möchten, können Sie sie unter http://www38.zippyshare.com/d/BaItXEdB/2145/out.ogv herunterladen

Antworten (1)

Was ist Ogg-Skelett?

Aus Ogg Skeleton 4 :

Ogg Skeleton bietet Strukturierungsinformationen für mehrspurige Ogg-Dateien. Es ist mit Ogg Theora kompatibel und bietet zusätzliche Hinweise für die Synchronisierung und Inhaltsaushandlung, wie z. B. die Sprachauswahl. Die neueste Version von Skeleton, Version 4.0, bietet auch Keyframe-Indizes, um eine optimale Suche über Verbindungen mit hoher Latenz wie das Internet zu ermöglichen.

Grundsätzlich kann der Ogg-Container also mehrere Tracks mit mehreren Track-Typen unterstützen. Jedoch:

Ogg weiß nichts über den Inhalt, den es trägt, und überlässt es der Medienzuordnung jedes Codecs, sich selbst zu deklarieren und zu beschreiben. Auf der Ogg-Ebene sind keine Metainformationen über die Inhaltsspuren verfügbar, die in einem physischen Ogg-Bitstrom eingekapselt sind.

Ogg Skeleton versucht, mit diesen Problemen umzugehen, indem es Informationen über die anderen Streams bereitstellt, die das Parsen und (De-)Muxen ermöglichen , ohne .

Was wird in einem solchen Stream gespeichert?

Ogg Skeleton ist ein logischer Bitstrom innerhalb eines Ogg-Stroms, der Informationen über die anderen eingekapselten logischen Bitströme enthält. Für jeden logischen Bitstrom liefert es Informationen wie seinen Medientyp und erklärt, wie das granulepos-Feld in Ogg-Seiten auf die Zeit abgebildet wird.

Weitere Einzelheiten finden Sie unter Der „Skelett“-Metainformationstrack für Ogg .

Ist es notwendig, die Mediendatei abzuspielen?

Fortsetzung vom zweiten zitierten Absatz:

Dies ist insbesondere dann ein Problem, wenn Sie nicht alle Decoderbibliotheken zur Verfügung haben und nur eine Ogg-Datei parsen möchten (z. B. mit file), um herauszufinden, welche Art von Daten sie kapselt.

  • Für die Wiedergabe decodieren Sie .

  • Sie verwenden (libogg/libvorbis/libtheora und) die FFmpeg-CLI-Tools (oder sollten es sein; ich empfehle Libav nicht), um zu demuxen und zu decodieren. Ihnen stehen die verschiedenen Decoder-Bibliotheken zur Verfügung. Sie können einen aktuellen Build vonffmpeg .

  • Ihre Akte ist nicht kompliziert. Es enthält nur einen Videostream, einen Videostream und einen Datenstream (das Ogg-Skelett). Es enthält nicht mehrere Streams von Video, Audio, Untertiteln usw.

  • Ogg Skeleton 4.0 kann Keyframes für die Suche in Situationen mit hoher Latenz indizieren. Angesichts der Informationen, die Sie (nicht) bereitgestellt haben, gehe ich davon aus, dass dies nicht auf Sie zutrifft.

Die Antwort hier lautet also: Ogg Skeleton ist nicht erforderlich, um diese Mediendatei abzuspielen .

Sie können dies testen, indem Sie die Datei remuxen, während Sie den Datenstrom mit einer negativen Zuordnung ausschließen:

ffmpeg -i input.ogv -map 0 -map -0:d -c copy output.ogv

Versuchen Sie jetzt, es zu spielen.