avconv - уменьшение размеров видео и размера файла

Есть ли способ уменьшить размер видео?

В php я использую это:

$result = exec("avconv -i $file1 -vcodec libx264 -acodec aac -strict experimental $file2");

К сожалению, все созданные видео имеют тот же размер, что и оригиналы, или больше.

1) В первую очередь я хочу уменьшить размеры всех видео: ширина: 750 пикселей, высота: авто. Является ли это возможным?

2) Есть ли способ немного уменьшить качество? Конечно, я не хочу размытых видео, но на некоторых веб-сайтах я вижу, что 15-минутный видеофайл хорошего качества имеет размер около 50 МБ. Мои видео продолжительностью 1 минута имеют одинаковый размер.


person Verode    schedule 26.05.2018    source источник


Ответы (1)


Вы можете использовать несколько параметров для уменьшения размера (и разрешения) видеофайла. Имейте в виду, что качество выходного видеофайла будет явно ниже, чем исходного видеофайла.

Я использовал следующие варианты и получил хорошие результаты.

  1. Кадров в секунду
  2. Битрейт аудио
  3. Размер/разрешение видеокадров

Для своих видео я обычно устанавливаю их на:

  1. 24 кадра в секунду
  2. Битрейт аудио 128 Кбит/с
  3. Размер/разрешение 1024x576 или 512x288. Это потому, что мне нравится, чтобы мои видео имели соотношение сторон 16:9.

Также я сначала масштабирую кадры видео до нужного разрешения, а потом обрезаю их до нужного размера.

Конечно, вы можете поиграть с этими параметрами, чтобы найти то, что лучше всего подходит для вас с точки зрения размера файла и качества видео.

Команды:

  • Для вывода видео в формате MP4

    avconv -i <input_filename> -c:v libx264 -c:a mp3 -b:a 128k -r 24 -vf "scale=512:-1,crop=512:288:0:0" <output_filename.mp4>

  • Для вывода видео в формате WEBM

    avconv -i <input_filename> -c:v libvpx -c:a libvorbis -b:a 128k -r 24 -vf "scale=512:-1,crop=512:288:0:0" <output_filename.webm>

Попробуйте это. Надеюсь, поможет.

person buzz    schedule 06.06.2018