Como concatenar MKVs com faixas diferentes

Como concatenar MKVs com faixas diferentes

Tenho um mkvfilme e um separado mkvcom introdução do diretor. Estou tentando usar mkvmergepara concatená-los. Porém, o filme tem legenda e a introdução não tem legenda, e isso parece estar causando um problema.

Especificamente, a saída da trilha mkvinfo intro.mkvé:

| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 2 | + Codec ID: V_MPEG2 | + CodecPrivate, length 164 | + Default duration: 33.367ms (29.970 frames/fields per second for a video track) | + Video track | + Pixel width: 720 | + Pixel height: 480 | + Display width: 853 | + Display height: 480 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Stereo | + Audio track | + Sampling frequency: 48000 | + Channels: 2

e mkvinfo film.mkvdá:

| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 1 | + Codec ID: V_MS/VFW/FOURCC | + CodecPrivate, length 74 (FourCC: 0x57564331 "WVC1": VC-1) | + Default duration: 41.708ms (23.976 frames/fields per second for a video track) | + Video track | + Pixel width: 1920 | + Pixel height: 1080 | + Display width: 1920 | + Display height: 1080 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Surround 5.1 | + Audio track | + Sampling frequency: 48000 | + Channels: 6 | + A track | + Track number: 3 (track ID for mkvmerge & mkvextract: 2) | + Track UID: 4 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_HDMV/PGS | + Content encodings | + Content encoding | + Content compression

Eu tentei mkvmerge -o full.mkv intro.mkv + film.mkv, mas isso me dá

Error: The file no. 0 ('intro.mkv') does not contain a track with
the ID 2, or that track is not to be copied. Therefore no track
can be appended to it. The argument for '--append-to' was invalid.

Não está claro para mim na página de manual mkvmergecomo especificar --append-toque a faixa de introdução simplesmente não deve ter legendas e os códigos de tempo das legendas do filme podem simplesmente ser alterados. Isso está além da capacidade de mkvmerge?

Talvez eu precise procurar alguma outra ferramenta, como ffmpegconcatenar o áudio/vídeo mkvextracte, em seguida, alguma outra ferramenta para manipular os subs PGS e colocá- mkvmergelos todos juntos novamente?

Terei mais problemas porque o áudio/vídeo também difere entre os dois arquivos (por exemplo, estéreo vs 5.1)?

Obrigado

Responder1

Seus problemas são causados ​​porque os dois vídeos são totalmente diferentes, e não (apenas) por causa das legendas.

Como concatenar MKVs com faixas diferentes

A resposta rápida é descompactar suas faixas de áudio (por exemplo, WAV), mixá-las (juntá-las) e depois compactar o áudio (por exemplo, AC3)

A melhor maneira de fazer isso éconvertera trilha sonora para descompactadaWAV, (para evitar falta de sincronia), separadamente para cada arquivo MKV. Em seguida, concante-os e recodifique-os, mas não recodifique o fluxo de vídeo, apenas o fluxo de áudio para um formato compactado (MP3, AAC ou AC3)

As etapas acima:
1. Amplie o áudio de cada arquivo para um formato não compactado.
2. Junte-os.
3. Recodificar apenas áudio para um status compactado

Após 2, você deve verificar se o seu áudio está realmente sincronizado.

Você pode fazer tudo isso com VirtualDub ou AviDemux 2.6.12 (definir a saída de vídeo para copiar), eles são gratuitos e não são malware.

Talvez eu precise procurar alguma outra ferramenta como o ffmpeg para concatenar o áudio/vídeo do mkvextract e, em seguida, alguma outra ferramenta para manipular os subs PGS e mkvmerge-los todos juntos novamente?

Se você não tiver problemas denominacionais com o Windows, em vez do Linux, você também pode converter seus subs para o formato ".SRT" e usá-lo. Estou inclinado a pensar que é mais fácil trabalhar com um formato baseado em texto do que com um formato baseado em imagem. Você decide.

Terei mais problemas porque o áudio/vídeo também difere entre os dois arquivos (por exemplo, estéreo vs 5.1)?

Em geral, SIM! As 2 faixas de áudio devem ter características tão idênticas quanto possível, portanto ambas estéreo, esta é a mais fácil porque é a mais universal. Não use 5.1, a menos que esteja em um teatro.

Seus vídeos devem ter a mesma largura e altura, então1920 x 1080ou720x480 Meu conselho é editar o vídeo de introdução mais curto. Você pode escolher entre:
- adicionar uma borda (mas será uma imagem minúscula)
- aumentar a largura x altura para1920 x 1080(mas ficará granulado)
- façaambos, no meio do caminho, para dividir a diferença. No seu caso, isso significa:
a. aumente a largura x altura para 1440 x 640
b. adicione uma borda de240 - (1920-1440)/2 - esquerda e direita e uma borda de220 - (1080-640)/2 para cima e para baixo.

informação relacionada