Réponses:
Puisque vous avez utilisé une balise ffmpeg, je vais l'utiliser pour la réponse.
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
Modifiez la qualité vidéo en spécifiant un paramètre CRF différent. Voir le guide d'encodage x264 pour plus d'informations.
ffmpeg -i input.avi -vf scale=-1:720 output.avi
Le temps a un peu avancé depuis la réponse acceptée à l'origine pour cette question en 2012. Les nouvelles versions de FFmpeg seraient mieux d'utiliser le filtre vidéo «échelle» de FFmpeg.
Je donne un exemple ci-dessous, en utilisant ce filtre, qui copie également simplement la piste audio comme vous l'avez demandé:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a copy \
output.mp4
L' -tune film
option donnée ci-dessus peut être omise ou vous pouvez essayer -tune animation
selon le type de clip vidéo que vous utilisez.
Si vous avez décidé que vous voulez vous transcoder le un bon choix audio serait d'utiliser la libfdk_aac bibliothèque externe comme suit:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a libfdk_aac -b:a 128k \
output.mp4
C'est certainement ce que je ferais avec un fichier wmv que je dimensionnais, vous trouverez les résultats plus qu'acceptables ...
Si vous souhaitez conserver intactes toutes les pistes audio, sous-titres, etc., vous devez utiliser quelque chose comme ceci:
ffmpeg -i input.mkv \
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
-vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow \
-c:a:0 copy -c:a:1 copy -c:s copy \
output.mkv
Dans ce cas, le fichier input.mkv a deux pistes audio et deux sous-titres. Vous pouvez spécifier toutes les pistes audio (ou sous-titres, ou vidéos, etc.) une par une ou en tant qu'entité unique (comme je l'ai spécifié pour les sous-titres).
J'espère que cela aide...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
place, vous pouvez simplement spécifier à la -map 0
place. Cela sélectionnera automatiquement tous les flux dans l'entrée 0. similaire aux codecs de copie audio. Les seules options de codec que vous devez spécifier sont -c:copy -c:v libx264
. Cela signifie: "définissez tous les codecs de flux à copier, sauf la vidéo qui doit transcoder en x264."
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv