Nhận phần mềm cần thiết
sudo apt-get install gpac mkvtoolnix
Trích xuất video và âm thanh từ tập tin matroska
Trước tiên, bạn cần kiểm tra xem tập tin matroska chứa gì
mkvmerge --identify video.mkv
File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Sau đó trích xuất video và âm thanh theo bản nhạc của họ bằng:
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 âm thanh và video thành mp4 containter
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
Tôi đã phải thêm -fps 24
tùy chọn vì MP4Box
không phát hiện chính xác video fps. Tùy thuộc vào việc sử dụng AC3
theo dõi âm thanh nên được mã hóa lại vào một cái gì đó khác trước khi mux.
Bây giờ bạn đã chuyển các luồng từ thùng chứa matroska sang thùng chứa mp4 mà không làm giảm chất lượng.
EDIT: MP4 không chính thức hỗ trợ âm thanh AC3, do đó, đoạn âm thanh phải được chuyển đổi thành định dạng được hỗ trợ (ví dụ: AAC, MP3) nếu bạn muốn tệp có thể phát được bằng một thứ khác ngoài VLC.