J'ai besoin de convertir un fichier vidéo de Matroska conteneur en conteneur MP4. Le fichier Matroska contient une piste vidéo h.264 et une piste audio AC3. Cela devrait être possible de le faire sans perte, mais comment le faire avec les outils natifs Ubuntu?
Le transcodage n'est pas une option.
L’outil le plus simple à cet égard est peut-être ffmpeg
ou avconv
du package libav-tools
. Libav est un fork de FFmpeg, sur lequel Ubuntu est passé quelques années jusqu’à Ubuntu 15.04. C'est l'un des moteurs de nombreux outils d'interface graphique mentionnés dans d'autres réponses.
Changer de conteneur sans reconduire le contenu ne pourrait être plus simple:
ffmpeg -i input.mkv -codec copy output.mp4
Il détecte automatiquement une conversion de conteneur Matroska vers MP4 en fonction des noms de fichiers d'entrée/de sortie.
-codec copy
copie, ou "re-mux", les flux de l'entrée à la sortie sans réencodage. Pensez-y comme un copier-coller.
Le comportement de sélection de flux par défaut consiste à sélectionner un seul flux par type de flux. Par exemple, si votre entrée comporte deux flux vidéo et un flux audio, seul le flux vidéo présentant la plus grande taille d'image sera sélectionné. Ajoutez -map 0
si vous souhaitez sélectionner tous les flux de l'entrée.
Certains conteneurs peuvent ne pas prendre en charge certains formats. Vérifiez donc si votre format conteneur choisi, que ce soit mkv
, mp4
ou même avi
, prend en charge tous les conten de vos fichiers (vidéo, audio, sous-titres, données, etc.). . Par exemple, mp4
ne prend pas en charge les sous-titres SubRip (fichiers .srt
).
Sudo apt-get install gpac mkvtoolnix
Vous devez d’abord vérifier les pistes que contient le fichier matroska avec
mkvmerge --identify video.mkv
File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Extrayez ensuite la vidéo et l'audio en fonction de leurs pistes avec:
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%
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
Je devais ajouter l'option -fps 24
car MP4Box
ne détectait pas correctement les images par seconde. En fonction de l'utilisation, la piste audio AC3
doit être ré-encodée dans un autre fichier avant le multiplexage.
Maintenant, vous avez remodelé les flux du conteneur matroska dans le conteneur mp4 sans perte de qualité.
EDIT: MP4 ne prenant pas officiellement en charge l’audio AC3, la piste audio doit donc être convertie dans un format pris en charge (par exemple, AAC, MP3) si vous voulez que le fichier puisse être lu avec autre chose que VLC.
Il a une bonne interface graphique.
Lors de la conversion de mkv en mp4, il n'est pas ré-encodé.
La conversion se fait en une minute (pour une vidéo de 60 minutes).
Sudo apt-get install avidemux
Ouvrez le fichier mkv dans avidemux.
Sélectionnez le mode sans échec si vous y êtes invité.
Laissez la vidéo en copie.
Choisissez Fichier-> Propriétés. Vérifiez si le codec audio est aac
.
aac(faac)
.copy
. (Parfois, en utilisant cette option, l'audio peut être désynchronisé ou déformé, dans ce cas, sélectionnez aac(faac)
à la place.)Sélectionnez mp4
pour le format.
Sélectionnez Enregistrer, choisissez l'emplacement et tapez un nom de fichier avec .mp4
comme extension.
Remarque: Parfois (environ 10% de chance), il peut échouer. Ensuite, utilisez handbrake(re-encode)
.
Note2: il existe deux liens qui vous aident:
http://www.ubuntugeek.com/how-to-convert-mkv-file-into-mp4-file-using-avidemux.html
Vous pouvez utiliser mon application, dmMediaConverter . Il suffit de laisser " copie " pour les deux flux cochés (sans transcodage) et de mettre . Mp4 au nom du fichier de sortie. C'est tout. Très simple. http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html