Der WAV-Container ist im Grunde nur ein Dateiheader. Es unterstützt keine Frames mit variabler Länge, die von Vorbis benötigt werden. "OggVorbis ACM" ist eigentlich Vorbis innerhalb eines Ogg-Containers (zur Bereitstellung des Frames), so dass es in dem älteren Windows ACM-Audio-Framework verwendet werden kann, das das erforderliche Framing nicht unterstützt. Dies ermöglicht auch die Verwendung in WAV-Dateien. Dies ist jedoch weniger sinnvoll, da Sie stattdessen einfach eine .ogg-Datei speichern können.
ffmpeg implementiert oder erkennt diesen nicht standardmäßigen WAV-Codec "OggVorbis ACM" nicht. Sie können ein Programm verwenden, das dies erkennt, z. B. Audacity . Sie können auch einfach den WAV-Header entfernen, um den darin enthaltenen Ogg Vorbis zu extrahieren.
Gültige Ogg-Streams beginnen mit OggS
, was den Anfang jeder Ogg-Seite in der Datei kennzeichnet. In der von Ihnen angegebenen Datei befinden sich 66 Byte vor der ersten OggS
. Zumindest unter Mac / Linux / Unix können Sie die ersten 66 Bytes mit dem Befehl entfernen:
tail -c +67 sample.wav > sample.ogg
In Ihrer Datei enthält der eingebettete Ogg tatsächlich zwei Streams. Dies scheint der Versuch zu sein, ihn mit einer festen Bitrate zu füllen. Der zweite Stream hat einen unbekannten Codec und scheint einige Spieler zu verwirren. Beispielsweise spielt Firefox den ersten Stream ab (den zweiten ignoriert), Chrome wird jedoch angehalten, wenn er auf den zweiten Stream trifft. Es hat auch andere Spezifikationsverletzungen, darunter kein EOS (Ende des Streams) (möglicherweise, weil Sie nicht die vollständige Datei gepostet haben).
Wenn Sie den ersten Bitstream (den vorbis-Bit) extrahieren, scheint er richtig zu spielen. Hier sind einige Tools, mit denen der erste Bitstream extrahiert werden kann:
- oggsplit (arbeitet entweder mit den wav- oder ogg-Dateien)
- oggSplit von Ogg Video Tools (arbeitet mit der ogg-Datei)
- oggz-rip (jedoch mag dieses Programm Ihre Datei nicht, wahrscheinlich aufgrund der anderen Spezifikationsverletzungen)
Es ist möglicherweise besser, die WAV-Datei einfach mit einem Programm wie Audacity zu lesen und neu zu codieren, um sicherzustellen, dass sie keine anderen Verrückungen enthält.