Risposte:
Dato che hai usato un tag ffmpeg, lo userò per la risposta.
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
Cambia la qualità del video specificando un diverso parametro CRF. Consulta la guida alla codifica x264 per maggiori informazioni.
ffmpeg -i input.avi -vf scale=-1:720 output.avi
Il tempo è passato un po 'da quando la risposta originale accettata per questa domanda nel 2012. Le versioni più recenti di FFmpeg sarebbe meglio usare il filtro video' scale 'di FFmpeg.
Faccio un esempio di seguito, usando questo filtro, che copia semplicemente anche la traccia audio come da lei richiesto:
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
opzione sopra indicata può essere omessa o potresti provare a -tune animation
seconda del tipo di video clip che stai utilizzando.
Se hai deciso di voler transcodificare l'audio, una buona scelta sarebbe quella di utilizzare la libreria esterna libfdk_aac come segue:
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
Questo è certamente quello che farei con un file wmv che stavo ridimensionando, troverai i risultati più che accettabili ...
Se vuoi mantenere intatte tutte le tracce audio, i sottotitoli e così via, dovresti usare qualcosa del genere:
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
In questo caso, il file input.mkv ha due tracce audio e due sottotitoli. Puoi specificare tutte le tracce audio (o sottotitoli, o video, ecc.) Una per una o come singola entità (come ho specificato per i sottotitoli).
Spero che sia d'aiuto...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
contrario, è possibile specificare semplicemente -map 0
invece. Ciò selezionerà automaticamente tutti i flussi nell'ingresso 0. simile con i codec di copia audio. Le uniche opzioni di codec che devi specificare sono -c:copy -c:v libx264
. Ciò significa: "imposta tutti i codec stream da copiare, tranne i video che dovrebbero transcodificare su x264".
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv