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 sonore 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.
Chromecast
supportH.264
avecAAC
ouMP3
dans unMP4
conteneur. Il est très facile de diffuser des vidéos à partir de votre ordinateurChromecast
si vous avez Chrome avec l’extension Google Cast. Il suffit de glisser-déposer unMP4
encodage de flux correct dans la fenêtre du navigateur et de lancer le streaming.Réponses:
Peut-être le moyen le plus simple pour cela est
ffmpeg
, ouavconv
dulibav-tools
paquet. Libav est un fork de FFmpeg, sur lequel Ubuntu est passé pendant quelques années jusqu’à Ubuntu 15.04. C'est l'un des moteurs de la plupart des outils d'interface graphique mentionnés dans d'autres réponses.Changer de conteneur sans renfermer le contenu ne pourrait être plus simple:
Il détecte automatiquement une conversion de conteneur Matroska vers MP4 en fonction des noms de fichiers d'entrée / de sortie.
-codec copy
les copies de flux, ou "re-muxes", 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 voulez sélectionner tous les flux de l'entrée.Certains conteneurs peuvent ne pas prendre en charge certains formats. Vérifiez donc si le format de conteneur que vous avez choisi , qu’il soit
mkv
,mp4
ou mêmeavi
prend en charge tout le contenu de vos fichiers (vidéo, audio, sous-titres, données, etc.). Par exemple,mp4
ne prend pas en charge les sous-titres SubRip (.srt
fichiers).la source
avconv -i input.mkv -c:v copy -c:a libfaac output.mp4
(j'ai utilisé ffmpeg, je suppose que avconv a les mêmes arguments de ligne de commande ici)-map 0
d'obtenir les deux flux audio? Comme je l'ai dit dans la réponse: "Le comportement par défaut de sélection de flux consiste à ne sélectionner qu'un seul flux par type de flux"-c:s mov_text
option si vous devez conserver, par exemple.srt
piste de sous-titres.Obtenir le logiciel nécessaire
Extraire la vidéo et l'audio du fichier matroska
Vous devez d’abord vérifier les pistes que contient le fichier matroska avec
mkvmerge --identify video.mkv
Extrayez ensuite la vidéo et l'audio en fonction de leurs pistes avec:
mkvextract tracks video.mkv 1:video.h264 2:audio.ac3
Audio et vidéo Mux dans le conteneur MP4
MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4
J'ai dû ajouter une
-fps 24
option car jeMP4Box
ne détectais pas correctement les images par seconde. En fonction de l'utilisation,AC3
la piste audio doit être ré-encodée dans quelque chose d'autre 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.
la source
Vous pouvez utiliser Avidemux
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 à laaac(faac)
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. Alors utilisez
handbrake(re-encode)
.Note2: il y a deux liens qui vous aident:
http://www.ubuntugeek.com/avidemux-free-video-editor-designed-for-simple-cutting-filtering-and-encoding-tasks.html
http://www.ubuntugeek.com/how-to-convert-mkv-file-into-mp4-file-using-avidemux.html
la source
Vous pouvez utiliser mon application, dmMediaConverter . Laissez simplement " copier " pour les deux flux cochés (pas de transcodage) et mettez .mp4 dans le nom du fichier de sortie. C'est ça. Très simple. http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html
la source
Étant donné que MPEG Part 14 prend en charge nativement h.264 et AC3 sans transcodage, vous pouvez simplement renommer le fichier afin qu’il ait une
.mp4
extension au lieu d’une.mkv
extension.la source
Vous pouvez essayer HANDBRAKE en ajoutant son PPA en tapant ce code dans le terminal:
la source