Il blog di Sandro Rizzetto

Convertire MKV in MP4/M4V senza re-encoding

 

Non avendo la PS3 (ma neppure la AppleTV a quanto leggo) il supporto ai file video Matroska (porc#*!##?#) mi capita talvolta di doverli convertire in qualcosa di digeribile dalla console Sony (ad esempio MP4).

Esistono molti tool che fanno questo processo di conversione (ad esempio l’ottimo FreeMake Video Converter che uso spesso per altri scopi) ma hanno tutti il difetto di ri-eseguire il processo di encoding della parte video/audio, cosa che oltre che molto dispendiosa in termini di tempo porta anche a un inevitabile (se pur talvolta trascurabile) decadimento della qualità (è come risalvare un mp3 in mp3 o un jpg in jpg; anche se alziamo il bitrate dell’audio o il qualitylevel dell’immagine se l’originale è compresso non miglioreremo mai il punto di partenza!)

Visto che il Matrioska non è altro che un container di vari formati video/audio/subtitles al pari di MP4, AVI, ecc. il processo più ovvio è di estrarre i file componenti il film (fase di demux) e riassemblarli in un altro container a piacere (fase di mux).

Per il Demux dal file mkv uso MKVExtractGUI2che è una GUI grafica del tool/libreria MKVToolNik (che ha solo il prompt da riga di comando). Solitamente se il film mkv è “semplice” contiene un file audio e uno video (es. un .h264 e un .aac o .ac3 nel caso di audio multicanale). In presenza di più tracce/capitoli e/o di sottotitoli possiamo scegliere dall’interfaccia quale brano estrarre.

image

image

Una volta estratti i file bisogna “unirli” (re-mux) in un file mp4; per fare ciò esistono parecchi tool, io mi sono trovato bene con My Mp4Box GUI (un tool basato su MP4Box che non serve scaricare in quanto già compreso nella GUI). E’ uno dei pochi che non sbaglia gli fps (tiene quelli originali) e non si ferma se l’audio non è compresso con un codec .AAC.

image

A questo punto avete il vostro file .mp4 pronto per essere “playable” dalla PS3 o dalla AppleTV. Buona visione.

image

 

UPDATE:

L’amico Gianluca (che ringrazio) mi fa giustamente notare che l’operazione è fattibile molto più semplicemente con FFMPEG, tool che già conoscevo ma che mi spaventava per l’enorme numero di switch e parametri che offre. In questo caso però se teniamo i codec di destinazione uguali al sorgente e se gli stream da convertire sono i primi, l’uso da riga di comando è molto semplice:

ffmpeg.exe -i nomefile.mkv -vcodec copy -acodec copy nomefile.mp4

Ovviamente ci può fare un batch ConvertMKV2MP4 con
ffmpeg.exe –i %1.mkv -vcodec copy -acodec copy %1.mp4

o con un FOR %I per convertire n file.

Aggiungi Commento

Copyright © 1997-2017 Sandro Rizzetto | All Rights Reserved | Riproduzione delle fotografie vietata | Powered by me