Skip to content

Gazzilow/ffmpeg-vp9-wrap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VPX ENCODER

Соснольный враппер ffmpeg'a для кодирования webm.

####Скачать СКАЧАТЬ БЕСПЛАТНО БЕЗ СМС

####Подготовка Запусти скачанный vp9.exe из консоли, запущенной с правами Админстатора, с ключом -install.

vp9 -install

Программа:

  • Качает архивчик с zeranoe ffmpeg под текущую архитектуру (x86 или x86_64)
  • Распаковывает в папку установки (C:\Program Files\FFMPEG Compact)
  • Прописывает в Path путь до папки установки (можно запускать ffmpeg, ffprobe, vp9 из любой папки)
  • Настраивает fontconfig для хардсаба (задает системные переменные и создает fonts.conf)
  • Копирует vp9.exe в папку установки

Алтернативный способ для параноиков: перед запуском установи ffmpeg, добавь путь к самому vp9.exe (для удобства) и к ffmpeg.exe, ffprobe.exe (для работы приложения) в Path, настрой фонтконфиг. Можешь воспользоваться гайдом.

Не забудь поставить .NET Framework 4.5!

####Кодирование

Стадартные настройки кодирования:

  • 2 pass vp9
  • quality good
  • opus 80K
  • 960:-1 (960:540 широкоформатное или 960:720)

Режим constrained quality (постоянного качества)

Все кадры видеоряда кодируются с качеством, выраженным коэфицентом crf от 4 до 63. В таком случае битрейт изменяется в широких диапозонах, что позволяет улучшить качество динамичных сцен засчет перераспределения битрейта. Оптимальное значение 25.

ТВОЙ БРО

vp9 -file "1.mkv" -subs "1.ass" -ss 01:00.000 -to 01:30.000 -crf 25

Режим variable bitrate (переменный битрейт)

Кодирует видео с помощью -b:v. Такой способ позволяет быстрее попасть в нужный лимит, но качество картиники страдает. Если сцена содержит много переходов от статики к динамике, то на статичных сценах качество будет избыточным, а на динамечиских его будет не хватать.

НЕ ТВОЙ БРО

vp9 -file "1.mkv" -subs "1.ass" -ss 01:00.000 -to 02:30.000

Подгон в заданный лимит

В обоих случаях есть возможность подогнать видеоролик в нужный лимит. Для этого нужно указать параметры limit и alimit

vp9 -file "1.mkv" -subs "1.ass" -ss 01:00.000 -to 01:30.000 -crf 25 -alimit -limit 20480

В данном примере видео будет подогнано под лимит в 20480 KB или меньше. Результатом программы будут видеофайлы попыток предугадать необходимые значения -b:v или -crf в зависимости от выбранного режима кодирования. Вам же остается только выбрать файл наиболее близкий к лимиту.

####Список команд Для списка команд (вызов без аргументов):

vp9

####Замечания по командам #####-t и -ti Можно кодить параллельно несколько webm из одного исходника. Для этого создай файл с любым названием следующего содержания:

00:30.000 01:35.000
01:36.000 02:00.000

Далее запусти vp9.exe с следующими аргументами:

vp9 -file 1.mkv -t тайминги.txt

Для того, чтобы сделать конкретно какую-то сторчку из файла, добавь -ti № строки (или строк через запятую), считая от 0.

#####-scale Для разрешения отличного от 960x540:

vp9 -file 1.mkv -scale -1:720

Так же можно использовать значения, следующего вида: 1280:-1; 1280:720; no (если скейлить изображение не нужно).

#####-subs В качестве параметра можно указывать не только файл, но и:

  • *.ass (если файл 1.mkv, то такая запись трансофрмируется в 1.ass)
  • *.DT.ass (если файл 1.mkv, то такая запись трансофрмируется в 1.DT.ass)
  • same (если сабы в контейнере)

#####-crf Поскольку расчетная формула дает завышенный битрейт для коротких видео, необходимо использовать -crf [4-63], где 4 - максимальное качество, 63 - минимальное. Также желательно использовать crf при кодировании видео, с частой сменой статичных сцен на динамичные.

#####-alimit и -limit limit для указания лимита (10240KB по умолчанию):

vp9 -file "1.mkv" -ss 01:00.000 -to 01:30.000 -limit 10240

alimit для подгона под лимит (с погрешностью -alimitD 240 КБ) через перекодирование видео

vp9 -file "1.mkv" -ss 01:00.000 -to 01:30.000 -limit 10240 -alimit

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

Стандартное поведение - попытка подобрать битрейт с нескольких попыток. Также доступна функция подбора нужного значения CRF, для этого необходимо указать начальный -crf, от которого начнется подбор.

vp9 -file "1.mkv" -ss 01:00.000 -to 01:30.000 -alimit -crf 25

#####-preview и -preview_s Есть возможность добавить превью для уже полученного видео. Для этого выбери кадр (запомни его тайминг) из видео-файла и запусти:

vp9 -file webm_куда_добавить_превью.webm -preview_s исходник.mkv -preview 00:30.255

Для того, чтобы взять превью из webm, к которому оно добавляется, не указывай -preview_s:

vp9 -file webm_куда_добавить_превью.webm -preview 00:30.255

#####-youtube Для скачивания видео c ютубчика для дальнейшего кодирования (лучшее качество со звуком в mp4):

vp9 -youtube https://youtube...

#####-crop Автоматическое удаление черных полос при кодировании (срабатывает не всегда):

vp9 -file "1.mkv" -crop

#####-cropv Ручная обрезка кадра, пробрасывает параметр в crop фильтр видео:

vp9 -file "1.mkv" -cropv 100:100:12:34

Обрезка происходит до скейла.

#####-name Для задания префикса выходного файла:

vp9 -file "1.mkv" -name NEW_WEBM_

Получится файл: NEW_WEBM_[здесь числа, обозначающие время начала кодирования].webm

#####-af Для использования внешнего звукового файла:

vp9 -file "1.mkv" -af "1.ANCROD.ac3"

#####-ma Смена аудиодорожки для смены рудабчика на оригинальную дорожку и обратно (эквивалент маппинга аудиодорожки) при кодировании звука):

vp9 -file "1.mkv" -ma 1

#####-vorb Использование libvorbis для звука с указанным качеством (-q:a):

vp9 -file "1.mkv" -vorb 4

####Сторонние библиотеки

About

Ffmpeg wrapper for vpx encoding

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.6%
  • Batchfile 3.4%