Как я могу конвертировать видео 1080p wmv в видео 720p?

У меня есть 1080p wmv видео, которое я бы хотел преобразовать в видео с более низким качеством (желательно 720p). Я хотел бы сохранить аудио в неприкосновенности. Как это сделать в Ubuntu?

12
задан 30 January 2012 в 00:59

5 ответов

Поскольку вы использовали тег ffmpeg, я буду использовать это для ответа.

ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4

Измените качество видео, указав другой параметр CRF. Дополнительную информацию см. В руководстве по кодированию x264.

13
ответ дан 25 May 2018 в 14:46
  • 1
    Опция 'sameq' была удалена. Если вы ищете возможность сохранить качество (для чего это не так), используйте -qscale 0 или эквивалентный коэффициент качества. – juanmah 4 April 2013 в 14:15
  • 2
    Согласно wiki ffmpeg, это может быть так же просто, как: ffmpeg -i input.avi -vf scale=-1:720 output.avi – andersonvom 9 February 2017 в 21:35

Более новые версии FFmpeg, возможно, будут использовать фильтр видео масштаба, я приведу пример ниже, который также просто копирует звуковую дорожку, как вы просили:

ffmpeg -i input.wmv \
       -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
       -c:a copy \
       output.mp4

Опцию -tune можно опустить или вы можете попробовать -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, который я масштабировал, вы должны найти результаты более чем приемлемыми ...

2
ответ дан 25 May 2018 в 14:46
  • 1
    Использование -2 вместо -1 в фильтре масштаба дополнительно гарантирует, что значение будет делиться на 2, что требуется libx264 для видео с подвыборкой цветности 4: 2: 0. – LordNeckbeard 14 February 2016 в 23:02
  • 2
    Сделано, и спасибо еще раз :) – andrew.46 14 February 2016 в 23:25

Если вы хотите сохранить целые звуковые дорожки, субтитры и т. д., вы должны использовать что-то вроде этого:

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 имеет две звуковые дорожки и два субтитров. Вы можете указать все звуковые дорожки (или субтитры, видео и т. Д.) Один за другим или как единый объект (как я указал для субтитров).

Надеюсь, это поможет ...

1
ответ дан 25 May 2018 в 14:46
  • 1
    Вам не нужно указывать каждый поток следующим образом: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Вместо этого вы можете просто указать -map 0. Это автоматически выберет все потоки на входе 0. аналогично аудиокодекам. Единственными параметрами кодека, которые необходимо указать, являются -c:copy -c:v libx264. Это означает: «установить все потоковые кодеки для копирования, кроме видео, которое должно транскодировать на x264». – Cheekysoft 26 May 2016 в 17:59
  • 2
    Эквивалент (показывая порядок параметров): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv – Cheekysoft 26 May 2016 в 18:07

Если вы хотите сохранить целые звуковые дорожки, субтитры и т. д., вы должны использовать что-то вроде этого:

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 имеет две звуковые дорожки и два субтитров. Вы можете указать все звуковые дорожки (или субтитры, видео и т. Д.) По одному или как единый объект (как я указал для субтитров).

Надеюсь, это поможет ...

3
ответ дан 6 August 2018 в 02:15

Если вы хотите сохранить целые звуковые дорожки, субтитры и т. д., вы должны использовать что-то вроде этого:

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 имеет две звуковые дорожки и два субтитров. Вы можете указать все звуковые дорожки (или субтитры, видео и т. Д.) По одному или как единый объект (как я указал для субтитров).

Надеюсь, это поможет ...

3
ответ дан 10 August 2018 в 08:14

Другие вопросы по тегам:

Похожие вопросы: