Ho un file WMV (v9 (WMV3), 960x720, 30.000030 fps, planare 4: 2: 0 YUV, prodotto da PowerPoint 2010) e devo convertirlo in MPEG2 - l'unico formato che il mio televisore può leggere da un'unità flash USB (Ho anche provato MP4 / h.264, AVI / XVID - nient'altro che MPEG2 funziona).
Sono riuscito a fare il lavoro con semplicità
ffmpeg -i "in.wmv" -c:v mpeg2video "out.mpg"
ma la qualità del risultato è terribile (vengono introdotte distorsioni visive chiaramente visibili) e la riproduzione non è fluida (troppo lenta in alcuni momenti).
Ho anche provato
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"
(Ho trovato questo da qualche parte in Internet e modificato un po '- ha cambiato il resoultion, la frequenza di aggiornamento e il formato di output (da VOB a MPG nudo)) con successo ma la qualità è ancora troppo male.
Quali parametri devo usare per salvare la massima qualità possibile? Il rapporto di compressione non ha alcuna importanza, anche l'aumento delle dimensioni del file è accettabile.
Un'altra cosa di cui ho davvero bisogno (ho scelto di non includerla nel titolo della domanda per evitare di renderla troppo specifica ma apprezzerei che venga considerata nelle risposte) è l'aggiunta del puro silenzio come traccia audio - non c'è suono nel originale ma il televisore si lamenta e mi piacerebbe sbarazzarmi di questo lamentoso. Ho generato un file OGG Vorbis di silenzio della stessa lunghezza (secondo preciso) usando Audacity ma non riesco a fonderlo con il video:
ffmpeg -i in.mpg -i silence.ogg -c:v copy -c:a libmp3lame out.mpg
e anche nudo
ffmpeg -i in.mpg -c:v copy -out.mpg
fornisce errori "buffer underflow" e "packet too large". (in.mpg sono i file prodotti dallo stesso binario FFMPEG e lo stesso file WMV sorgente utilizzando i primi due comandi nella domanda).
Sto usando una build Zeranoe FFMPEG su Windows 7.
Philips 42PFL3606H/58
, Sto codificando per H.264 con 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"
- il profilo è il più basso che io conosca e vengono utilizzati ancora più ritocchi per rendere più semplice la riproduzione del file risultante.