Comment convertir un fichier WMV en fichier MP4?

37

Comment convertir un ensemble de fichiers WMV en MP4 afin que je puisse les importer sur mon Apple TV ?

burnt1ce
la source

Réponses:

49

Vous pouvez utiliser FFmpeg (un outil de ligne de commande gratuit pour Mac, Linux et Windows) pour coder WMV en MP4. Voici un exemple de syntaxe:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4

Ceci encodera la vidéo en vidéo H.264 et audio AAC, en utilisant la qualité par défaut. Pour modifier la qualité de la vidéo, utilisez une valeur CRF différente, où plus bas signifie mieux, par exemple 20 ou 18. Pour l'audio, la qualité par défaut est 100%. Augmentez la valeur pour une meilleure qualité.

Pour AppleTV en particulier, voici ce qu’Apple déclare prendre en charge:

Vidéo H.264 jusqu'à 1080p, 30 images par seconde, profil haut ou principal de niveau 4.0 ou inférieur, profil de base de niveau 3.0 ou inférieur avec audio AAC-LC jusqu'à 160 kbit / s par canal, 48 kHz, audio stéréo en .m4v , fichiers .mp4 et .mov

Vous pouvez donc utiliser la commande suivante pour forcer la fréquence d'images à 30 Hz et le profil élevé :

ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a libfaac -q:a 100 -ar 48000 output.mp4
Peter Mortensen
la source
10
J'ai juste essayé d'utiliser cette solution sur Fedora 19 et j'ai rencontré l'erreur suivante: Codeur inconnu 'libaac' Il semble qu'après une certaine version, ffmpeg n'inclut plus les distibutions binaires avec le support libfaac, il faut donc compiler à partir des sources. Au lieu de cela, j'ai remplacé «libfaac» par «aac» et ajouté les indicateurs «-strict -2». La conversion a bien fonctionné.
Roartechs
4
Option non reconnue 'c: v' Impossible de définir la valeur 'libx264' pour l'option 'c: v'
e-info128
5
J'ai eu exactement les mêmes problèmes que roartechs et je les ai résolus en utilisantffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Jeremy Tammik
attention, dans la plupart des cas, 23 est significativement différent de 20, alors que 22 est à peine perceptible et 18 qu’il est difficile de détecter une différence quelconque par rapport à l’original.
Dmitry
18

Frein à main . Multiplate-forme et gratuit.

HandBrake est un transcodeur vidéo open source, multiplateforme et multithread sous licence GPL, disponible pour MacOS X, Linux et Windows.

Sources prises en charge:

  • Fichiers multimédia les plus courants pris en charge par libavformat et libavcodec.

  • N'importe quel DVD ou source de type Bluray qui n'est PAS protégé contre la copie. (la suppression de la protection contre la copie n'est pas prise en charge)

Les sorties:

  • Format de fichier: MP4 (M4V) et MKV

  • Vidéo: H.264 (x264), MPEG-4 (ffmpeg), MPEG-2 (ffmpeg) ou Theora (libtheora)

  • Audio: AAC, CoreAudio AAC / HE-AAC (MP3 uniquement), MP3, Flac, AC3 ou Vorbis. AC-3, DTS, DTS-HD, AAC et MP3 pass-thru.

la source
2
HandBrake n'a pas fonctionné. J'ai reçu une erreur indiquant "Aucun titre trouvé. Assurez-vous d'avoir sélectionné une source valide non protégée contre la copie. Votre source peut être protégée contre la copie, mal maitrisée ou d'un format non pris en charge par Handbrake." et je ne pense pas que HandBrake supporte wmv.
burnt1ce
7
Désolé d'entendre. Il a passé le test "Fonctionne sur ma machine" :-(.
Travaillé pour moi avec Handbrake 0.9.4.
Sebastian
@RandolphWest Quelle est votre machine, si elle a fonctionné?
bwerks
@ burnt1ce Après avoir obtenu exactement la même erreur, j'ai pu convertir un wmv GoToMeeting à l'aide de Handbrake uniquement après le premier transcodage avec le g2mtranscoder.exe de Citrix, puis à l'aide de Handbrake 0.9.8.
bwerks
4

Si vous essayez de convertir des fichiers WMV créés par GoToMeeting (également appelés Go2Meeting à des fins de référencement ), toutes les solutions ci-dessus échoueront probablement car la vidéo est codée à l'aide d'un codec g2m4 spécifique à Citrix qui provoquera un étranglement des transcodeurs.

J'ai trouvé cette page qui guide le transcodage de g2m en WMV normal en utilisant g2mtranscoder.exe fourni par gotomeeting, qui transcodera votre vidéo sur place afin que vous puissiez ensuite la transcoder au format de votre choix en utilisant des outils classiques (comme les autres réponses de cette question). fil).

Bwerks
la source
Etes-vous sûr que FFmpeg ne fait pas les codecs GoToMeeting? Il est répertorié dans ffmpeg -codec, mais sans Ddrapeau, donc je ne sais pas s'il est entièrement pris en charge.
Slhck
@slhck J'ai d'abord essayé FFmpeg seul, et bien qu'il identifie le codec vidéo comme étant Video: g2m (G2M4 / 0x344D3247), le résultat est l'erreur «Impossible d'analyser la valeur d'option" -1 "comme format de pixel" . Après le transcodage sur place avec g2mtranscoder, j'ai ensuite été capable de transcoder normalement avec un frein à main. Je prévois d’essayer de le faire fonctionner avec FFmpeg afin de pouvoir automatiser complètement ce processus.
bwerks
2
./ffmpeg -y -i input.wmv -vcodec libx264 -acodec libfaac -ab 128k -ac 2 -b 300 -threads 4 -flags +loop -cmp +chroma -partitions 0 -subq 1 -trellis 0 -refs 1 -coder 0 -bufsize 10M  -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 output.mp4

Je ne sais pas ce que signifient toutes les options / tous les drapeaux, mais cela semblait fonctionner et obtenir un fichier MP4 en streaming Flash, mais la vidéo n'était pas de qualité supérieure.

Les bibliothèques de codecs que j'ai installées sont libx264 et libfaac pour les codecs audio et vidéo H.264 et AAC .

Abîme
la source
2

www.media-convert.com est un service Web gratuit qui convertit toutes sortes de formats audio et vidéo. Pas besoin d'installer de logiciel. Ignorez les ajouts et sélectionnez simplement le type de fichier dans les menus déroulants.

Bob D
la source
1
Très intéressant cependant, il ne produit pas de vidéo de qualité 720p +. La résolution maximale pour mp4 est de 640x480. Mais +1 à coup sûr.
burnt1ce
1

MediaCoder devrait faire le travail correctement!

MediaCoder est un transcodeur multimédia universel gratuit depuis 2005. Il intègre les codecs et outils audio / vidéo les plus courants de manière élégante et transparente dans une solution de transcodage tout-en-un. Avec une architecture flexible et extensible, les derniers codecs et outils sont mis à jour en permanence. MediaCoder entend être le couteau suisse de tous les temps pour le transcodage de supports.

Ours Grincheux
la source
Cool je le télécharge maintenant.
burnt1ce
1

Essayez n'importe quel convertisseur vidéo . Comme son nom l'indique, il peut convertir de nombreux types de vidéos.

phunehehe
la source
c'est le pas-libre ...
Quack Quichotte
1
en fait, il existe une version gratuite
phunehehe
0

Je ne pouvais pas installer FFmpeg sur Ubuntu Server 14.10 (Utopic Unicorn), alors j’ai utilisé HandBrake. Après l'installation, j'ai utilisé un script de thanhsiang.org/faqing :

  1. Créez un fichier .sh, par exemple, convert.sh
  2. chmod +x convert.sh
  3. Configurer les répertoires SRC et DEST, + DEST_EXT
  4. ./convert.sh

Fichier convert.sh

#!/bin/bash

# This script is to convert automatically a folder of video files to MP4.
# You need to change SRC -- Sourse folder and DEST -- Destination folder
# The MP4 format is 480x270.

SRC=/home/video/
DEST=/home/www/mp4files/
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI

for FILE in `ls $SRC`
do
        filename=$(basename $FILE)
        extension=${filename##*.}
        filename=${filename%.*}

        $HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT -e x264 -q 22 -r 12 -B 64 -X 480 -O
done

C'était la solution la plus rapide pour moi.

Daniel Kmak
la source