Comment convertir webm en mp4 pour MacOSX?

15

Je suis sur MacOSX Lion et je voudrais une méthode pour convertir webm en mp4 (ou un autre format compatible iTunes). ffmpegsemble être une possibilité mais la documentation est un peu obtuse pour moi; des instructions étape par étape seraient appréciées.

Avery Chan
la source
Vous pouvez également utiliser le frein à main s'il est déjà installé. C'est une belle interface graphique open source autour de ffmpeg et fait l'affaire très bien et facilement. handbrake.fr
Joshua Pinter il y a

Réponses:

21

Obtenez FFmpeg

Si vous voulez utiliser ffmpeg, allez et soit

Si vous l'avez téléchargé manuellement (pas avec Homebrew), je vous suggère de copier le ffmpegfichier exécutable sur votre PATH, afin de pouvoir l'utiliser à partir du terminal. Disons que vous l'avez téléchargé ~/Downloads/ffmpeg/ffmpeg, puis faites:

sudo mkdir -p /usr/local/bin
sudo cp ~/Downloads/ffmpeg/ffmpeg /usr/local/bin/
sudo chmod +x !$ /usr/local/bin/ffmpeg

Convertir en MP4

Maintenant, par "vers MP4", je suppose que vous entendez utiliser respectivement H.264 et AAC comme codecs vidéo et audio. Pour cela, la commande de base serait:

ffmpeg -i input.webm -c:v libx264 -c:a aac -strict experimental -b:a 192k output.mp4

Si vous souhaitez contrôler la qualité, consultez le guide d'encodage x264 . Il est défini avec l' -crfoption, où la valeur par défaut est 23, et inférieure signifie une meilleure qualité (les valeurs typiques sont de 18 à 28). Dans l'exemple ci-dessus, il utilise la qualité par défaut de 23 pour la vidéo et un débit binaire constant de 192 kBit / s pour l'audio.

En ce qui concerne l'audio, les versions statiques ne prennent pas en charge libfdk-aac, mais si vous en avez une, vous devez l'utiliser à la place:

ffmpeg -i input.webm -c:v libx264 -c:a libfdk_aac output.mp4

FDK-AAC vous offre une meilleure qualité que l'encodeur AAC interne. Pour contrôler la qualité audio, consultez le guide de codage AAC .

slhck
la source
J'ai réussi à créer des fichiers MP4 de cette façon sur FreeBSD (à partir de MKV et WEBM), et je peux les lire sur FreeBSD avec mplayer, mais Apple refuse de les ouvrir ...
Mikhail T.
Qui est "Apple" dans votre cas? QuickTime ou Aperçu? Recevez-vous un message d'erreur spécifique? Quelle est la sortie de `ffmpeg -i <votre-fichier>?
slhck
Par "Apple", je voulais dire leur gestionnaire de fichiers. Il ne générerait pas d'image d'aperçu à partir du fichier. La tentative de lecture de la vidéo (en double-cliquant) a également généré un message d'erreur. De même, iMovie a refusé d'ouvrir le fichier.
Mikhail T.
Il peut y avoir quelque chose de particulier dans votre source qui la fait échouer. Comme je l'ai dit, la commande que vous avez donnée ci-dessous crée une vidéo plus ou moins "héritée" de mauvaise qualité. Faites-moi savoir ce qui échoue exactement et nous le découvrirons.
slhck
On dirait que le param FDK-AAC est maintenant libfdk_aac (souligné au lieu d'un tiret).
douze17
0

C'est ce que je viens d'utiliser avec succès sur FreeBSD pour créer des fichiers MP4, que MacOS reconnaîtrait comme tel:

ffmpeg -i input_filename -acodec aac -b:a 128k -vcodec mpeg4 -b:v 1200k -flags +aic+mv4 output_filename.mp4

J'ai commencé avec la ligne de commande en utilisant ce tutoriel , mais a eu changement libfaacà aacparce que ce dernier n'a pas été trouvé ...

Il doit y avoir une sorte de folie particulière affectant les programmeurs dans le domaine des codecs multimédias, qui les amène à modifier subtilement les options de ligne de commande d'une version à l'autre.

Mikhail T.
la source
Bien que cela crée un conteneur MP4, votre commande utilise le (vieux) codec MPEG-4 Part II, qui est différent du H.264 moderne (voir ici ), ce qui signifie que votre qualité vidéo sera inférieure pour toute taille de fichier donnée . Je recommanderais de ne pas utiliser ce codec. macOS devrait très bien lire la vidéo H.264. Vous pouvez Comment poser une nouvelle question, y compris des détails sur la vidéo que vous avez créée et votre système d'exploitation, puis envoyez-moi un ping et je vais voir pourquoi cela ne fonctionne pas.
slhck