mkvmerge error “os formatos não correspondem” ao adicionar arquivos oga

2

estamos usando o mkvmerge para concatenar o áudio enviado pelo usuário em um único arquivo (tudo isso é feito a partir do código em um site do django).

A linha de comando parece com mkvmerge -o /path/to/output.webm -w /file/to/concat1.oga + /file/to/concat2.oga (pode haver centenas de arquivos, mas esse não é o problema).

Geralmente funciona bem, exceto com alguns arquivos, e estamos tentando descobrir o problema com eles, para que possamos melhorar nosso código.

O erro que recebemos é: 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.

Os dois arquivos são arquivos ogg / vorbis válidos, como mostrado pela saída do ogginfo:

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

e ogginfo /path/to/file2.oga me dá:

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

A única diferença que posso ver é a taxa de bits, que, segundo minha compreensão do formato vorbis, não deve ser um problema.

Alguma idéia sobre qual é o problema?

    
por Laurent S 20.05.2012 / 20:34

1 resposta

1

Aqui está uma solução para o problema, se alguém estiver interessado.

O problema é que o formato webm parece ser mais exigente que o matroska em relação ao fluxo vorbis que ele pode conter. A documentação é virtualmente impossível de encontrar sobre isso (mesmo as especificações oficiais do Webm apenas indicam que existem restrições na taxa de bits, link ).

Mas o código-fonte do mkvmerge na verdade menciona que "os livros de código Vorbis são diferentes; essas trilhas não podem ser concatenado sem reencodificar "no caso dos meus arquivos. (grep para a string citada acima na fonte para mais detalhes)

Então, isso responde à pergunta: devo re-codificar a coisa toda.

    
por 29.05.2012 / 16:18