J'ai un fichier WMV (v9 (WMV3), 960x720, 30.000030 fps, planar 4: 2: 0 YUV, produit par PowerPoint 2010) et je dois le convertir en MPEG2 - le seul format que mon téléviseur peut lire à partir d'une clé USB (J'ai également essayé MP4 / h.264, AVI / XVID - rien que MPEG2 fonctionne).
J'ai réussi à faire le travail avec simple
ffmpeg -i "in.wmv" -c:v mpeg2video "out.mpg"
mais la qualité du résultat est épouvantable (des distorsions visuelles clairement visibles sont introduites) et la lecture n'est pas fluide (trop lente à certains moments).
J'ai aussi essayé
ffmpeg -i "in.wmv" -c:v mpeg2video -pix_fmt yuv420p -me_method epzs -threads 4 -r 30.000030 -g 45 -bf 2 -trellis 2 -cmp 2 -subcmp 2 -s 960x720 -b 2500k -bt 300k -async 1 -y "out.mpg"
(J'ai trouvé cela quelque part sur Internet et j'ai modifié un peu - changé la résolution, le taux de rafraîchissement et le format de sortie (de VOB à MPG nu)) avec succès mais la qualité est encore trop mauvaise.
Quels paramètres dois-je utiliser pour économiser autant de qualité que possible? Le taux de compression n'a pas d'importance du tout, même l'augmentation de la taille du fichier est acceptable.
Une autre chose dont j'ai réellement besoin (j'ai choisi de ne pas l'inclure dans le titre de la question pour éviter de le rendre trop spécifique mais j'apprécierais qu'il soit pris en compte dans les réponses) est d'ajouter du silence pur comme bande sonore - il n'y a pas de son dans le original mais le téléviseur s'en plaint et j'aimerais me débarrasser de cette plainte. J'ai généré un fichier OGG Vorbis de silence de même longueur (deuxième précision) à l'aide d'Audacity, mais je n'arrive pas à le fusionner avec la vidéo:
ffmpeg -i in.mpg -i silence.ogg -c:v copy -c:a libmp3lame out.mpg
et même nu
ffmpeg -i in.mpg -c:v copy -out.mpg
donne des erreurs "buffer underflow" et "packet too large". (in.mpg sont les fichiers produits par le même binaire FFMPEG et le même fichier WMV source en utilisant les deux premières commandes de la question).
J'utilise une version Zeranoe FFMPEG sur Windows 7.
Philips 42PFL3606H/58
, j'encode en H.264 avec ffmpeg -i "in.wmv" -sws_flags lanczos+accurate_rnd -c:v libx264 -crf 20 -preset slow -profile:v baseline -level 3.0 -pix_fmt yuv420p -tune fastdecode -x264-params keyint=240:min-keyint=20 "out.mp4"
- le profil est le plus bas que je connaisse et encore plus de réglages sont utilisés pour faciliter la lecture du fichier résultant.