Ответы:
Поскольку вы использовали тег ffmpeg, я буду использовать его для ответа.
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
Измените качество видео, указав другой параметр CRF. См. Руководство по кодированию x264 для получения дополнительной информации.
ffmpeg -i input.avi -vf scale=-1:720 output.avi
Время немного изменилось с тех пор, как в 2012 году был принят первоначальный ответ на этот вопрос. В новых версиях FFmpeg лучше использовать «масштабный» видеофильтр FFmpeg.
Ниже приведен пример использования этого фильтра, который также просто копирует звуковую дорожку, как вы просили:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a copy \
output.mp4
-tune film
Вариант приведенный выше может быть опущен или вы могли бы попробовать в -tune animation
зависимости от типа видеоклипа , который вы используете.
Если вы решили , что вы бы хотели , чтобы перекодировать выбор хорошего звука будет использовать внешнюю библиотеку libfdk_aac следующим образом :
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
Это, конечно, то, что я сделал бы с wmv-файлом, который я масштабировал, вы найдете результаты более чем приемлемыми ...
Если вы хотите сохранить все аудиодорожки, субтитры и т. Д. Без изменений, вы должны использовать что-то вроде этого:
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
В этом случае файл input.mkv содержит две звуковые дорожки и два субтитра. Вы можете указать все звуковые дорожки (или субтитры, или видео, и т. Д.) По одному или как один объект (как я указал для субтитров).
Надеюсь, это поможет...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
вместо этого вы можете просто указать -map 0
вместо этого. Это автоматически выберет все потоки на входе 0. аналогично кодекам аудио копирования. Единственные опции кодека, которые вам нужно указать, это -c:copy -c:v libx264
. Это означает: «установите все потоковые кодеки для копирования, кроме видео, которое должно транскодировать в x264».
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv