Como concatenar MKVs com diferentes faixas

2

Eu tenho um filme mkv e um mkv separado com uma introdução do diretor. Eu estou tentando usar mkvmerge para concatená-los. No entanto, o filme tem legendas e a introdução não tem legendas, e isso parece estar causando um problema.

Especificamente, a saída da faixa de 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.mkv dão:

| + 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 para mkvmerge como especificar para --append-to que a faixa de introdução não deveria ter legendas e que os timecodes das legendas de filme podem ser alterados. Isso está além da capacidade de mkvmerge ?

Talvez eu precise procurar alguma outra ferramenta como ffmpeg para concatenar o áudio / vídeo de mkvextract e então alguma outra ferramenta para manipular os subs do PGS e eles mkvmerge todos juntos novamente?

Eu vou me deparar com outros problemas porque o áudio / vídeo também difere entre os dois arquivos (por exemplo, estéreo vs 5.1)?

Obrigado

    
por Dave 08.10.2017 / 16:05

1 resposta

0

Seus problemas são causados porque os dois vídeos são totalmente diferentes, não (apenas) por causa dos subs.

How to concatenate MKVs with different tracks

A resposta rápida é descompactar suas faixas de áudio (para dizer, WAV), muxá-las (costurá-las juntas) e depois compactar o áudio (para dizer AC3)

A melhor maneira de fazer isso é converter a trilha sonora para WAV descompactado, (para evitar sincronia), separadamente para cada arquivo MKV. Em seguida, concatenar e, em seguida, recodificá-los, mas não recodificar o fluxo de vídeo, apenas a audiostream para um formato compactado (MP3, AAC ou AC3)

O acima nas etapas:
1. Explodir o áudio de cada arquivo, para um formato descompactado
2. Costure-os juntos.
3. Recodifique apenas o áudio para um estado comprimido

Depois de 2, você deve verificar se o seu áudio é realmente sincrônico.

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

Perhaps I need to be looking into some other tool like ffmpeg to concatenate the audio/video from mkvextract and then some other tool to manipulate the PGS subs and them mkvmerge them all together again?

Se você não tiver problemas denominacionais com o Windows, em vez do Linux, também poderá converter seus subs para o formato ".SRT" e usá-los. 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.

Am I going to run into further problems because the audio/video differ between the two files as well (e.g. stereo vs 5.1)?

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

Seus vídeos devem ter a mesma largura e altura, então 1920 x 1080 ou 720 x 480 Meu conselho é editar o vídeo de introdução mais curto. Você pode escolher entre:
- adicionando uma borda (mas, será uma imagem minúscula)
- aumenta a largura x altura para 1920 x 1080 (mas será granulada)
- faça ambos , no meio do caminho, para dividir a diferença. No seu caso, isso significa:
uma. aumente a largura x altura para 1440 x 640
b. adicione uma borda de 240 - (1920-1440) / 2 - esquerda e direita e uma borda de 220 - (1080-640) / 2 para cima e para baixo.

    
por 08.10.2017 / 16:16