[Help] Come muxare un file mkv

Curiosità, novità e consigli sulla Rete e dintorni.

Moderatori: darkglobe, rmontaruli

[Help] Come muxare un file mkv

Messaggioda darkglobe » sabato 2 novembre 2019, 13:33

Dopo il fortunato post sulla conversione di DVD dal formato NTSC a quello PAL risalente ormai al 2014, che, nonostante un eccesso di tecnicismo, ha superato le 4500 letture, in questo post parlerò tra qualche giorno di un nuovo argomento che pare all'ordine del giorno, come effettuare un mux audio/video di un file .mkv
Ricordo che il Matroska Media Container ha quasi del tutto soppiantato il vecchio formato .avi, essendo free, open e soprattutto orientato ad una larga moltitudine di codifiche (codec), incluse quelle per l'alta definizione, e ad una migliore gestione dei sottotitoli, con la capacità di supportare perfino, oltre che più piste audio, anche più piste video all'interno dello stesso file.
La caratteristica a mio avviso più rilevante per un contenitore mkv è che, potendo inglobare virtualmente qualsiasi tipo di codec, non necessità della "ricodifica" di un video ma consente un trasferimento diretto, e senza alcuna alterazione del contenuto, dai contaner .vob (del DVD) e .mts/.m2ts (del Blu-Ray) a quello mkv.

Se disponete, come dovrebbe essere, di un disco sorgente privo di audio ITA e regolarmente acquistato, è possibile far ricorso ad MakeMKV, un programma che effettua il trasferimento del video presente su DVD o BD in un file .mkv senza arrecare alcuna manomissione sui dati di codifica e di compressione.
Si tratta di un software nato free, che oggi funziona gratuitamente fino al formato DVD e che richiede una licenza "una tantum" per formati Blu-Ray e superiori, al momento mi pare intorno ai 50 euro. Esistono moltissimi altri programmi che effettuano una conversione da supporto fisico a file .mkv (il primo che mi viene in mente è Pavtube), ma che io sappia la quasi totalità di quelli in circolazione agiscono, durante la conversione, anche sui dati di compressione e sulla codifica, alterando dunque il video originale.
MakeMKV, oltre ad effettuare la conversione di qualunque supporto fisico in file .mkv, consente anche un backup su PC dei propri dischetti ottici, mantenendo l'alberatura ed il contenuto nativi, ma questo è un discorso che può interessare chi abbia la necessità di preservare il proprio patrimonio video e non riguarda l'argomento trattato in questo post.

Posto dunque che si disponga della sorgente video in mkv, ma priva della pista audio in italiano che intendiamo aggiungere per il nostro mux, elenco di seguito i software a cui si dovrà far ricorso per "costruire" la pista audio da muxare al file video originale in mkv:
Audacity, indispensabile per le conversioni di velocità delle piste audio da 23,97/24 fps a 25 fps e viceversa
MPC o VLC, uno dei due video player per i test
MKVToolNix GUI, una interfaccia grafica che pilota una serie di sottoapplicativi per comporre un file mkv con video, audio, sottotitoli e fonts vari
Mediainfo, programma che consente di capire quali siano i formati e le codifiche dei vari file audio e video
Avidemux per effettuare prove di sincronizzazione adio video.

I programmi sopra elencati sono tutti free e dunque privi di alcuna necessità di licenza ma svolgono egregiamente il proprio dovere.
Le casistiche che affronteremo nei post successivi sono le seguenti:
    - Audio e video già perfettamente sincronizzati, bisogna solo muxarli o al massimo sicronizzare il punto di partenza
    - Audio e video a fps differenti ma perfettamente allineati dopo la conversione allo stesso fps
    - Audio totalmente bucherellato o con vari punti di mancata sincronizzazione col video, che va ricostruito con una faticosa opera di "taglia e cuci" e poi muxato alla componente video.
Avatar utente
darkglobe
Utente Senior
Utente Senior
 
Messaggi: 2216
Iscritto il: lunedì 9 febbraio 2004, 12:19
Località: Italy

Audio e video già perfettamente sincronizzati

Messaggioda darkglobe » mercoledì 18 marzo 2020, 20:36

Supponiamo di dover estrarre una pista audio in italiano da un file video, ad esempio un riversamento da vecchia videocassetta VHS. che abbiamo nominato RipVHS.avi o RipVHS.mkv.

In questo caso avviare MKVToolNix GUI
Immagine

ed effettuare il drag & drop del fle video, dalla cartella che lo contiene al riquadro superiore della pagina principale di MKVToolNix:
Immagine

Deselezionare tramite checkbox tutto ciò che non riguarda la pista audio di interesse e salvare il file audio tramite l'opzione Avvia Multiplexing
Immagine

Al termine di questa operazione verrà prodotto un file RipVHS.mka contenente al suo interno la sola pista audio estratta dal precedente file video, nel caso dell'esempio codificata in PCM (ma potrebbe essere qualsiasi formato, da MP3 fino a FLAC). Tutta questa operazione fin qui descritta è ovviamente necessaria solo se non disponete già direttamente del file audio ma avete necessità di estrarlo da una qualche vostra fonte video.

Riavviamo a questo punto MKVToolNix GUI caricando, sempre tramite Drag & Drop, il file video Video.mkv a cui vogliamo aggiungere la pista audio appena estratta o già in nostro possesso.
Immagine

Cliccando sul tasto aggiungi file sorgente, carichiamo il file audio mka di cui sopra, ma potrebbe benissimo essere un qualsiasi altro formato audio a voi disponibile.
Immagine

Rendiamolo questa nuova pista audio "attiva" cliccando sulla checkbox corrispondente e nelle proprietà sulla destra aggiungiamo per chiarezza come Nome traccia la parola italiano, selezioniamo questa traccia come traccia predefinita (questo significa che nel video finale la pista in italiano partirà per prima), avendo infine cura di disattivare come predefinite eventuali altre tracce audio già presenti nel file (ad esempio l'inglese).
Immagine

L'avvia multiplexing consentirà di generare il file mkv muxato contenente la traccia audio estratta nel nostro caso dalla VHS.

Possibili scenari:
    - Pista audio e video sono già sincronizzate: dovete solo godervi il film
    - Pista audio e video sono temporalmente sfasate: bisogna ripetere il mux avendo cura di modificare il parametro Ritardo sulla pista audio, in modo da rendere le piste audio e video perfettamente sincronizzate

Per individuare il corretto valore di ritardo ci può venire in aiuto AVIdemux, caricandovi dentro il file mkv prodotto ed agendo sulla voce ritardo per gestire il sync audio. In teoria sarebbe possibile fare questa operazione anche direttamente con VLC, ma il programma sembra avere stalli cronici non appena lo shift temporale supera qualche secondo.
Immagine
Con AVIdemux, prima di avviare il play del film, bisogna selezionare nel menù Audio la pista sonora su cui si intende lavorare.

Individuato il valore corretto in millisecondi lo stesso potrà poi essere inserito in MKVToolNix, selezionando la traccia audio e valorizzando il campo Ritardo (ms) per rigenerare nuovamente il file muxato, ma con sync audio/video corretto: il campo accetta valori positivi e negativi a seconda che la traccia audio sia in anticipo o in ritardo rispetto al video.
Immagine

Rieseguire infine Avvio multiplexing per avere il file mkv definitivo.
Avatar utente
darkglobe
Utente Senior
Utente Senior
 
Messaggi: 2216
Iscritto il: lunedì 9 febbraio 2004, 12:19
Località: Italy

Audio e video con fps differenti

Messaggioda darkglobe » giovedì 19 marzo 2020, 1:16

Quando audio e video da muxare provengono da fonti eterogenee, è possibile che le due componenti afferiscano a filmati con frame rate diverso. Ad esempio l'audio viene estratto da una videocassetta in PAL (25fps) ed il video è tratto da un supporto fisico in NTSC (23.976fps).
Per accertarsi preventivamente dei diversi framerate basta trascinare il file da cui si intende estrarre l'audio ed il filmato su cui andrà muxato in MediaInfo e visualizzare nella sezione Video quali sono i rispettivi frame rate dei filmati:
Immagine
Nel caso in questione, come era prevedivile, scopriamo che il video sorgente estratto dalla VHS ha un fps parti a 25.

Generato, come descritto al punto precedente, il file mka, lo stesso va dunque convertito al giusto framerate, sulla base della seguente tabella:
Audio da filmato 25 a 23,976 fps: -4,096
Audio da filmato 25 a 23,978 fps: -4,088
Audio da filmato 25 a 24,000 fps: -4,000
Audio da filmato 24 a 23,976 fps: -0,1
Audio da filmato 23,976 a 24 fps: 0,1
Audio da filmato 23,976 a 25 fps: 4,271

Supponendo dunque che, come nel nostro caso, il file audio vada "rallentato" da 25fps a 23,976 fps, facendo ricorso ad Audacity bisogna procedere come segue:

1 - Caricare il file audio in Audacity trascinandolo col mouse:
Immagine

2 - Selezionare l'intera pista audio con CTRL+A Impostare alla voce Effetti/Cambia Tempo (evitare tassativamente l'opzione Cambia Tempo/Intonazione) il valore determinato secondo al tabella di conversiuone, quindi nel nostro caso -4,096
Immagine

3 - avviare la conversione
Immagine

4 - esportare il nuovo file audio come WAV (quindi PCM) o MP3 (occhio ad utilizzare un buon bitrate per non rovinare la pista):
Immagine

Ottenuto il nuovo file audio sincronizzato al giusto frame rate, file audio in questo caso con estensione MP3 o WAV, ripetere i passi di muxing descritti al post precedente.
Avatar utente
darkglobe
Utente Senior
Utente Senior
 
Messaggi: 2216
Iscritto il: lunedì 9 febbraio 2004, 12:19
Località: Italy

Audio con dei buchi sulla pista rispetto al video

Messaggioda darkglobe » giovedì 19 marzo 2020, 18:17

E' indubbiamente la situazione peggiore e più onerosa. Si tratta tipicamente dei casi in cui l'edizione italiana di un'opera cinematografica conteneva vari tagli della censura o riduzioni apportate dai produttori cinematografici italiani per rendere il film "più fruibile" in sala. E' evidente che se si acquista un'edizione estera priva di tagli, la stessa conterrà più materiale video rispetto alla traccia italiana, recuperata ad esempio da pellicola o negativo. In questi casi, quando il prodotto è stato pubblicato anche in Italia, sia major che piccole etichette pubblicano film con parti in lingua originale e sottotitolate in italiano.
Il grosso del lavoro di taglia e cuci in questi casi può essere realizzato caricando in Audacity , con un banale drag and drop, sia la traccia italiana che quella completa in lingua, confrontando le forme d'onda delle due piste audio per una prima dettagliata scrematura.
Immagine
Audacity contiene funzioni di selezione (il tasto con linea verticale la abilita e la manina guidata dal mouse seleziona), taglia, copia ed incolla (peccato non funzionino le combinazioni CTRL+C e CTRL+V ma si debba ricorrere ai tastini di copia ed incolla presenti nella barra in alto), amplificazione audio regolabile (per selezioni di parti), ed infine di traslazione temporale, funzioni che dunque consentono di effettuare il certosino lavoro di adattamento descritto.
In generale il procedimento consiste nel partire dal punto temporale 0 ed incrementarlo confrontando, ad esempio premento di tasto Play, l'andamento d'onda della traccia originale associata alla pista video con quella ricavata da altra fonte. E' possibile sempre il confronto acustico tenendo attive entrambe le tracce o silenziare una delle due quando necessario. Il confronto sugli andamenti delle forme d'onda è talmente efficace che a volte è possibile lavorare sulla nuova traccia audio senza neppure ricorrere alle immagini video.
Dove compaiono delle difformità conviene copiare la parte della traccia originale mancante ed incollarla direttamente sulla traccia nuova, anche se contiene parti in lingua.
Agendo con il tasto CTRL e ruotando la rondella del mouse si può effettuare uno zoom molto dettagliato su parti specifiche della pista audio per tutte le rifiniture necessarie. Consiglio di procedere con un livello di zoom abbastanza spinto (dettaglio su intervallo del secondo) per evitare che restino parti di audio non sincronizzate.
Durante la fase di lavorazione (ed ovviamente terminato lo stesso) conviene effettuare export temporanei del file audio prodotto (meglio in PCM), muxarlo con la pista video e verificare se quanto realizzato sia fruibile.
Audacity accetta in input anche file multicanale e con qualche plug-in li esporta.
Non è questa la sede per dettagliare tutte le funzionalità di Audacity, sul quale si trovano infiniti tutorial in rete, software che ha pur sempre qualche rigidità ed ancora oggi qualche crash inaspettato, ma posso assicurarvi che si tratta di uno dei prodotti che meglio si adatta a questo tipo di operazioni.

Piccola considerazione finale: i film comprateli, io ne posseggo una collezione sterminata e mai mi sognerei di effettuare mux di materiale regolarmente reperibile sul mercato.
Questa guida serve solo ad aiutarvi a gestire i "casi disperati" in cui mai e poi mai avrete la speranza di poter visionare un film con pista italiana almeno in qualità superiore a quella di una VHS o a di una vecchia registrazione televisiva.
Avatar utente
darkglobe
Utente Senior
Utente Senior
 
Messaggi: 2216
Iscritto il: lunedì 9 febbraio 2004, 12:19
Località: Italy

Re: [Help] Come muxare un file mkv

Messaggioda zasor56 » martedì 5 maggio 2020, 21:00

Ah, se solo riuscissi a capire anche un decimo solamente di tutte queste preziose conoscenze tecniche qui descritte tanto chiaramente e che a me sono invece negate per limiti personali, sarei l'uomo più felice del mondo... :!! :plauso
zasor56
Utente Junior
Utente Junior
 
Messaggi: 291
Iscritto il: giovedì 8 marzo 2012, 23:04

Re: [Help] Come muxare un file mkv

Messaggioda darkglobe » martedì 12 maggio 2020, 16:30

zasor56 ha scritto:Ah, se solo riuscissi a capire anche un decimo solamente di tutte queste preziose conoscenze tecniche qui descritte tanto chiaramente e che a me sono invece negate per limiti personali, sarei l'uomo più felice del mondo... :!! :plauso
Basterebbe un banale affiancamento ;)
Avatar utente
darkglobe
Utente Senior
Utente Senior
 
Messaggi: 2216
Iscritto il: lunedì 9 febbraio 2004, 12:19
Località: Italy


Torna a Internet, PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite