Ottieni il software necessario
sudo apt-get install gpac mkvtoolnix
Estrai video e audio dal file matroska
Per prima cosa devi controllare con quali tracce contiene il file matroska
mkvmerge --identify video.mkv
File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Quindi estrai video e audio in base alle loro tracce con:
mkvextract tracks video.mkv 1:video.h264 2:audio.ac3
Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'video.h264'. Container format: AVC/h.264 elementary stream
Extracting track 2 with the CodecID 'A_AC3' to the file 'audio.ac3'. Container format: Dolby Digital (AC3)
Progress: 100%
Mux audio e video nel contenitore mp4
MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4
AVC-H264 import - frame size 1280 x 720 at 24.000 FPS
Import results: 31671 samples - Slices: 5672 I 125048 P 122648 B - 32288 SEI - 4936 IDR
AC3 import - sample rate 48000 - 6 channels
Saving to video.mp4: 0.500 secs Interleaving
Ho dovuto aggiungere -fps 24
un'opzione perché MP4Box
non ho rilevato correttamente i video fps. A seconda dell'uso, AC3
la traccia audio deve essere ricodificata in qualcos'altro prima di eseguire il mix.
Ora hai ricalcolato i flussi dal contenitore matroska al contenitore mp4 senza perdere alcuna qualità.
EDIT: MP4 non supporta ufficialmente l'audio AC3, quindi la traccia audio deve essere convertita in un formato supportato (es. AAC, MP3) se vuoi che il file sia riproducibile con qualcosa di diverso da VLC.