Отримайте необхідне програмне забезпечення
sudo apt-get install gpac mkvtoolnix
Витяг відео та аудіо з файлу matroska
Спершу вам потрібно перевірити, з якими треками міститься файл matroska
mkvmerge --identify video.mkv
File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Потім витягніть відео та аудіо відповідно до їх треків за допомогою:
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%
Мукс-аудіо та відео в 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
Мені довелося додати -fps 24
варіант, оскільки MP4Box
неправильно виявив кадр у кадрі відео. Залежно від використання AC3
аудіозапис слід перекодувати в щось інше перед вимкненням музики.
Тепер ви перепрограмували потоки з контейнера matroska в контейнер mp4, не втрачаючи жодної якості.
EDIT: MP4 офіційно не підтримує звук AC3, тому аудіозапис слід перетворити на підтримуваний формат (наприклад, AAC, MP3), якщо ви бажаєте, щоб файл відтворювався чимось іншим, ніж VLC.