mkvmerge Fehler "Formate stimmen nicht überein" beim Anhängen von oga-Dateien

3604
Laurent S

Wir verwenden mkvmerge, um vom Benutzer hochgeladene Audiodateien in einer einzigen Datei zusammenzufassen (dies geschieht alles über den Code einer Django-Website).

Die Befehlszeile sieht so aus mkvmerge -o /path/to/output.webm -w /file/to/concat1.oga + /file/to/concat2.oga(es kann Hunderte von Dateien geben, aber das ist nicht das Problem).

Es funktioniert normalerweise gut, außer bei ein paar Dateien, und wir versuchen, das Problem damit herauszufinden, damit wir unseren Code verbessern können.

Der Fehler, den wir erhalten, ist: Error: The track number 0 from the file '/path/to/file1.oga' cannot be appended to the track number 0 from the file '/path/to/file2.oga'. The formats do not match.

Die beiden Dateien sind gültige ogg / vorbis-Dateien, wie die Ausgabe von ogginfo zeigt:

Processing file "/path/to/file1.oga"...  New logical stream (#1, serial: 32b21854): type vorbis Vorbis headers parsed for stream 1, information follows... Version: 0 Vendor: Xiph.Org libVorbis I 20101101 (Schaufenugget) Channels: 1 Rate: 22050  Nominal bitrate: 45.111000 kb/s Upper bitrate not set Lower bitrate not set User comments section follows... ENCODER=libsndfile TITLE=Tape1 Vorbis stream 1: Total data length: 8453 bytes Playback length: 0m:01.532s Average bitrate: 44.126101 kb/s Logical stream 1 ended 

und ogginfo /path/to/file2.oga gibt mir:

Processing file "/path/to/file2.oga"...  New logical stream (#1, serial: 46c1e760): type vorbis Vorbis headers parsed for stream 1, information follows... Version: 0 Vendor: Xiph.Org libVorbis I 20101101 (Schaufenugget) Channels: 1 Rate: 22050  Nominal bitrate: 58.000000 kb/s Upper bitrate not set Lower bitrate not set User comments section follows... TITLE=Tape2 Vorbis stream 1: Total data length: 12121 bytes Playback length: 0m:01.787s Average bitrate: 54.234588 kb/s Logical stream 1 ended 

Der einzige Unterschied, den ich sehen kann, ist die Bitrate, die nach meinem Verständnis des Vorbis-Formats kein Thema sein sollte.

Irgendwelche Ideen, was das Problem sein kann?

3
Der ursprüngliche Fehlerbericht ist unter https://code.ductus.us/ticket/127#comment:4 zusammen mit einer Kopie der Dateien zu finden, falls Sie das Problem haben, zu reproduzieren. Laurent S vor 11 Jahren 0

1 Antwort auf die Frage

2
Laurent S

Hier ist eine Lösung für das Problem, wenn jemand interessiert ist.

Das Problem ist, dass das webm-Format in Bezug auf den vorbis-Stream, den es enthalten kann, wählerischer ist als matroska. Dokumentationen sind praktisch nicht zu finden (selbst die offiziellen webm-Spezifikationen weisen nur darauf hin, dass die Bitrate Beschränkungen unterliegt, http://www.webmproject.org/code/specs/container/#demuxer-and-muxer-guidelines ).

Im Quellcode von mkvmerge wird jedoch erwähnt, dass "die Vorbis-Codebücher unterschiedlich sind; solche Tracks können nicht ohne erneute Codierung verkettet werden", im Fall meiner Dateien. (grep für die oben zitierte Zeichenfolge in der Quelle für weitere Details)

Damit ist die Frage beantwortet: Ich muss das Ganze neu codieren.