Qual è il problema con Handbrake?
Quando usi Handbrake per convertire da un formato contenitore all'altro (cioè da MKV a MP4 nel tuo caso), Handbrake ricodifica il video. Vedi anche la rispettiva richiesta di funzionalità che avrebbe abilitato il video passthrough:
Spiacente, l'aggiunta del video passthrough non è prevista. HandBrake è progettato per essere un transcodificatore video. Non è stato progettato per permettere il passthrough.
Quindi, ogni volta che cambi contenitore con Handbrake, il tuo video verrà ricodificato, il che significa che a) richiede tempo e b) può introdurre una perdita di qualità.
Devo ricodificare? Non potrei semplicemente scambiare il contenitore?
Dato che il passthrough non è possibile, chiediti: Devo ricodificare? Se vuoi solo cambiare il contenitore da MKV a MP4, di solito non hai bisogno di codificare nulla, basta cambiare il “wrapping” attorno al video. Questo non perde qualità, e sarà un processo molto più veloce.
Puoi scambiare contenitori facilmente con FFmpeg - devi solo dirgli di copiare i flussi video e audio:
ffmpeg -i input.mkv -c copy -map 0 output.mp4
Ci sono anche strumenti come MP4Box che possono anche creare contenitori MP4 - lo stesso esiste per MKV con MKVtoolnix .
Tuttavia, c'è un grande avvertimento: questo funziona solo se i codec audio e video sono supportati nel contenitore di destinazione (MP4), che è il caso di H.264/H.265 e AAC, per esempio, ma non per molti altri. Inoltre, il supporto del formato dei sottotitoli per MP4 è diverso da quello di MKV, e in realtà piuttosto limitato, quindi questo comando potrebbe fallire.
Se questo comando non funziona, e se il tuo input usa i codec sbagliati per il contenitore di output, probabilmente dovrai ricodificare. In questo caso, i codec saranno adattati al contenitore di uscita.
Per capire perché questo è necessario, è importante imparare la differenza tra codec video e contenitori . Questo ti aiuterà a capire perché cambiare contenitore funziona e perché i contenitori MP4 e MKV hanno poco a che fare con i codec video, in realtà.
Perché la ricodifica è un male, comunque?
Tu non puoi (di solito) mantenere la piena qualità quando codifichi un video che è già stato codificato. Questo perché l'originale è già stato compresso buttando via informazioni, e facendolo di nuovo stai introducendo perdita di generazione .
Spesso, vuoi ricodificare un video quando per esempio le sue dimensioni cambiano, o hai bisogno di un bit rate specifico per comprimere il tuo flusso video, o il tuo video originale usa un codec che non puoi riprodurre per qualsiasi motivo.
Quindi, se carichi il tuo video MKV in Handbrake, e lo ricodifichi con x264, l'encoder H.264 che Handbrake usa, e lo memorizzi in un contenitore MP4, perderai qualità in ogni caso, a meno che non imposti il bitrate o il fattore qualità così alto da non vedere (realmente) la differenza. Ma allora, anche la dimensione del file sarà più grande.
Nel caso ideale, convertiresti il video in un video non compresso, che non ti farà perdere nessuna qualità, ma ti darà file di una dozzina di Gigabyte di dimensione, anche per pochi minuti di materiale video.
Ok, ma devo proprio ricodificare!
Se devi davvero ricodificare, assicurati di non impostare un bitrate medio, ma scegli un Constant Rate Factor , che è qualcosa come “qualità costante”. Proprio come il “bit rate variabile” per l'MP3: farà in modo di spendere i bit sulle parti video che ne hanno bisogno e renderà la qualità complessiva migliore - a parità di dimensione del file.
I valori CRF sani sono da 19 a 24, dove più basso significa “migliore”. Quindi, potresti provare con un Rate Factor di 19. Inoltre, assicurati di impostare il profilo “High”, che permette al codificatore di usare tutte le campane e i fischietti e di ottimizzare la qualità per un dato bit rate.