Question Comment simplement convertir des fichiers vidéo (c'est-à-dire: MKV en MP4)? [dupliquer]


Cette question a déjà une réponse ici:

Je veux simplement convertir des fichiers, de n'importe quel format, vers n'importe quel format (pour le moment, je dois convertir MKV en MP4-h264), sans perte de qualité. Je ne veux pas redimensionner (redimensionner) la vidéo, je ne veux pas changer son rapport d'aspect et je ne veux pas qu'elle perde de la qualité (c'est très important); tout ce que je veux, c'est "changer le format", c'est tout. Raison: mon lecteur DVD ne reconnaît aucun format autre que AVI ou MP4. Je ne me soucie pas de la taille du fichier, à moins que la différence entre les fichiers d'entrée et les fichiers de sortie soit absurde. Alors, comment je fais ça?

J'ai déjà essayé des programmes tels que WinFF, Arista, Format Junkie, mais leurs presets changent toujours quelque chose que je ne veux pas changer (taille, ratio d'aspec, etc.). Je ne suis pas vraiment sûr, mais je pense que le meilleur moyen d'obtenir ce que je veux est d'utiliser les commandes pures de ffmpeg. Mais comment?

Au fait, Ubuntu 13.04 (64-bit), ici. Merci pour votre temps, les gars.


71
2017-12-28 17:04


origine


Que diriez-vous noobslab.com/2013/06/ff-multi-converter-for-ubuntu.html - vivid_vibe
Cela semble intéressant, vivid_vibe. Je vais essayer. Voyons ce qu'il peut faire. Merci. :) - user229552
Dumindu Mahawela, j'ai suivi le lien que vous avez fourni et est tombé sur cette commande: "avconv -i input.mkv -codec copy output.mp4". Cela a fonctionné comme un charme pour moi. Merci pour votre temps. :) - user229552
Postez-le comme une réponse ici.


Réponses:


Si vous voulez seulement convertir MKV en MP4, vous économiserez de la qualité et du temps en changeant simplement les conteneurs. Les deux ne sont que des wrappers sur le même contenu, le processeur n'a donc besoin que de travailler un peu. Ne ré-encodez pas car vous perdrez définitivement de la qualité.

C'est très simple en utilisant ffmpeg:

ffmpeg -i LostInTranslation.mkv -codec copy LostInTranslation.mp4

Ici, vous copiez le codec vidéo et le codec audio afin que rien ne soit encodé.

Conseil: Pour convertir tous les fichiers MKV du répertoire en cours, exécutez une simple boucle dans le terminal:

for i in *.mkv; do
    ffmpeg -i "$i" -codec copy "${i%.*}.mp4"
done

Pour les futures conversions, comme de AVI à MP4, consultez Frein à main.


112
2017-12-28 18:01



Sayem, j'ai essayé votre suggestion, mais j'ai eu ce résultat: "[mp4 @ 0x134da20] Application fournie invalide, augmentant de manière non monotone dts à muxer dans le flux 0: -2> = -2 av_interleaved_write_frame (): Argument non valide". Quoi qu'il en soit, j'ai ce que je veux avec la commande suivante: "avconv -i input.mkv -codec copy output.mp4" qui est assez similaire à celui que vous avez suggéré. Merci beaucoup pour votre temps. :) - user229552
Ce for-loop meurt quand il y a des espaces dans les noms de fichiers; -; - EaterOfCode
Remplacer $i par "$i"dans la boucle et il fonctionnera avec les noms de fichiers avec des espaces. - Xavier
Ne pas analyser la sortie de ls, juste for i in *.mkv; do ...;done. mywiki.wooledge.org/ParsingLs. Aussi, tu pourrais faire "${i%.mkv}.mp4" pour enlever la chaîne ".mkv" avant de virer sur .mp4. - Peter Cordes
Et n'oublie pas -movflags +faststart parce que mp4 est nul; sans cela, vous ne pouvez pas lire un fichier partiel (où la fin du fichier n’est pas encore écrite). - Peter Cordes


Voici celui que vous n'avez pas essayé. Frein à main


9
2017-12-28 17:58



TheHerk, je ne pouvais pas l'installer. Ajout de PPA, sources mises à jour, essayé d'installer le paquet "handbrake", mais il est dit qu'il n'y a pas de tel paquet à installer. Allez comprendre! - user229552
Peu importe, TheHerk. J'ai trouvé le nom correct du paquet: handbrake-gtk. L'a installé, mais n'a pas aimé. Mais merci quand même. :) - user229552