Тред для приличных анимублядей и прочих аутистов. Безграмотное быдло с рудабом, порнографией, мокрыми письками, домашним видео с котиками и прочей ерундой отправляется в порнотред >>72886731.
Все описываемые здесь параметры, если для них не указано иное, идут в опции кодирования. Фильтры видео: -vf фильтр1=параметры,фильтр2,...
Выбор дорожек (потоков, выводятся при чтении файла в виде «Stream #0:0»): -map 0:0 -map 0:1
Перезаписывать файл без предупреждения: -y
Сжатие видео с фиксированным качеством В случае с небольшими фрагментами, для которых лимит 6МБ не страшен, следует использовать фиксированное качество (crf). Отрезаем фрагмент 20 секунд начиная с 10 минут: ffmpeg -ss 10:00 -i video.mkv -t 20 -crf 30 -b:v 5m out.webm
Параметр -b:v (битрейт видео) при указании crf используется в роли максимального пикового битрейта. Значение crf может быть от 4 (максимальное для VP8 качество) до 60 (говно).
Запихивание максимального качества в указанный объём Допустим, нужно сконвертировать в WebM 2 минуты файла video.mkv начиная с 10 минут. Прикидываем разрешение — если движения в видео не слишком много, то можно взять 500 пикселей по ширине. Первым делом производим оценку сложности видео (она сохраняется в файл ffmpeg2pass-0.log) и заодно кодируем звук: ffmpeg -ss 10:00 -i video.mkv -t 2:00 -vf scale=500:-1 -auto-alt-ref 1 -lag-in-frames 20 -pass 1 out-a.webm
В последней строке вывода будет указан размер звуковой дорожки: audio:1532kB. Если получилось больше половины доступного объёма — нужно снижать качество звука, см ниже. Далее вычисляем битрейт по формуле bitrate = (filesize - audio_size) 8bit / time . Для фрагмента 2 минуты это будет (6144 - 1532)KiB 8bit / 120sec = 307kbit/s . Второй проход — кодируем видео и копируем звук из результата первого прохода: ffmpeg -ss 10:00 -i video.mkv -i out-a.webm -map 0:v -map 1:a -t 2:00 -c:a copy -vf scale=500:-1 -b:v 307k -auto-alt-ref 1 -lag-in-frames 20 -quality best -pass 2 out.webm
Если размер вышел больше 6144КБ — значит, сработало ограничение минимального качества libvpx. Рекомендуется не играться с ним, а уменьшить разрешение или fps и повторить оба прохода. Многопоточность (параметр -threads) использовать не рекомендуется — она увеличивает размер видео.
Звук Доступно два аудиокодека — libvorbis и libopus. Opus обладает лучшим соотношением битрейт/качество, Vorbis поддерживается большим кол-вом браузеров. Внимание: если сделать звук моно, то в firefox он будет слышен только слева. Параметр ffmpeg для конвертации в стерео — -ac 2 . Многоканальный звук работает в firefox с 29 версии. По умолчанию для webm используется libvorbis, для управления им обычно достаточно одной настройки: -q:a <качество> , где качество указывается числом от 0 (говно) до 9 (почти без потерь), по умолчанию — 2. Пример: ffmpeg -i video.mkv -q:a 7 -ac 2 out.webm
Внимание: libvorbis'у нельзя указывать фиксированный битрейт (-b:a) — это сильно портит качество звука. Opus'у наоборот указывать битрейт необходимо, также для отключения ограничений старой версии формата webm нужно указать -strict -2 : ffmpeg -i video.mkv -c:a libopus -vbr on -application audio -b:a 48k -strict -2 -ac 2 out.webm
Как видно из параметров, mpv позволяет увеличивать субтитры (--sub-scale) и сдвигать их вверх (--sub-pos). Также mpv берёт сабы автоматически из контейнера или из файла с совпадающем с видео именем, а для ffmpeg требуется указание файла. При этом mpv пока не пригоден для двухпроходного кодирования с указанием среднего битрейта, а для ffmpeg в щиндовсе нужно настраивать fontconfig: https://github.com/AlsaAsksMiley/webm-thread-misc/blob/master/Fontconfig_and_subs.txt Внимание: параметр -ss ffmpeg'а следует указывать после входного файла — иначе тайминг субтитров будет считаться от начала фрагмента. В git-версии фильтр subtitles ffmpeg'а научился брать шрифты из контейнера и понимать параметр si (номер потока с нужными сабами), коммиты 7e6b3ad и 7a0e689.
(хромоги, обрезка чёрных полос, нарезка видео на фрагменты, fps, превью и скрипты вырезаны из пасты из-за ограничений на длину поста)
>>72900885 Да анима неинтересная, в пятой серии он поедет и зарегистрируется в турнире, потом в первом раунде научится отбивать своим мечом пули и так победит. В зале после победы он встретит дес гана, от которого обоссытся, ведь он был с ним в САО. Дес ган был в гильдии ПК ВЕСЕЛЫЙ ГРОБ. Да и он убивает при помощи яда, там три парня, вычесляют при помощи плаща невидимки в зале где регистрация на турнир проходит. Один играет за дес гана другие убивают ну ты понял. В финале кирито его победит. Потом Синон избавится от своего страха оружия. Как то так. >>72900889 она просто очень большая. Там помимо той шлюхи с молнией будут няши?
Синон, с твоем Кирито спит весь мир ГГО, и чтобы к нему попасть, нужно занимать очередь, брось его, зачем нужен тебе такой трап! - Ты понимаешь, если я брошу его, то мне тоже нужно будет занимать очередь. Что мы имеем? Кирито знаменит на весь ГГО и имеет кучу ухажеров. Только идиотка Синон, которая не знал про секс, мог подумать, что это просто из-за того, что он симпатичный. Синон встретила за повествование достаточно красивых трапов без фанклубов, а она одиночка и вообще с игроками взаимодействует редко. Все встает на свои места, если принять тот факт, что Кирито был элитным трап-шлюхой и периодически давал особо усердным ухажерам/ухажоркам. Топовые статы в начале — на ум сразу приходит фраза «насосал». Рассмотрим подробнее вопрос с статами. Ну за что ему дали такие статы? Ему дали такие статы, чтобы потешить его чсв, да и каждый игрок ГГО теперь может прийти к нему вечерком на пару палок чая, под предлогом обсудить какой-нибудь игровой вопрос. Закрытый навык дуал какбы намекает, что после постоянных груповушек с игроками его тупо отправляли в данж. Заснув на пустыне с Синон, он говорит, что первый раз так выспалася. Только ли в кошмарах по ночам все дело? Даже свою подругу Синон он учит тому, что профиты нужно получать от своей внешности, а не от мастерства. Вернемся к повествованию. Кирито с очевидной целью приглашает Синон к себе домой «по спрашивать про игру», но она наивна и не слышала о сексе. Кирито злиться, махает световым мечом, но таки уговаривает ее на встречу завтра. Но ведь недоеб остался.В следующей сцене мы видим как Кирито утром убегает от Дес гана. С чего бы ему его так усердно преследовать? Ответ очевиден. Обломавшись с Синон, он позвал дес гана, провел с ним ночь, а с утра послал куда подальше. Естественно тот обижен. Далее админ ГГО не хочет давать Кирито топовый шмот. Казалось бы это мотивируется тем, что он хочет себе Синон, но за ней куда интереснее наблюдать пока она одиночка, а вот такую-то соску в виде Кириты терять не хочется. «Она все знает и тоже хочет меня, отлично» — думает Кирито. Но когда он разделся, выясняется, что синон вообще не знает про секс. Ну и отлично, так даже меньше проблем, осталось только соврать, что научилась отключать код этики он у подружек. Сразу же после первой ночи он от греха съебывает из ГГО. Такие дела. Я кончил.>>72900885
>>72901054 По мне так пикрилейтед и профессор няши, ну и Куроко, куда уж без нее, да и Мии-сан. потом Во втором сезоне добавят няш, буквально пихать их будут словно ложкой в глотку проталкивать, показывать смотрите какие милые, любите их. Собственно поэтому я дрпнул второй сезон, может кому-то нравится такой фансервис.
>>72901334 Да ладно, расслабься, по крайней мере тебе никто не сказал, что Кирито Убьют в начале 4ой арки, но его сумеют реанимировать, однако потом дела пойдут не так, как ожидалось, и он превратится в овощь, вернее в паралитика с частью своих воспоминаний и частью чужих.
>>72901362 Про сестер, мне эта троица не понравилась особенно подрывательница, а еще какую-то оджо-саму из школы добавили охуеть вообще, смотрел только из-за шортиков. Первый сезон норм смотрел.
>>72903259 Как так можно было додуматься до этого "вагона пиписек"? Откуда они его откопали? Хотя в любом случае это шин, да еще и актриса неплоха, даже ИГРАЕТ.
>>72903892 ТОЛЬКО НАШИ ЛОКАЛИЗАТОРЫ СМОГЛИ ДОДУМАТЬСЯ ДО ТАКОГО! ТИХО! НАБЕРИТЕ В ГРУДЬ БОЛЬШЕ ВОЗДУХА! ГОТОВЫ? ГОТОВЫ?! ОНИ ПЕРЕВЕЛИ "Да чтоб ты наступил в кошачье говно!" КАК "Вагон Пиписек!, ЧУВСТВУЕТЕ ГОРДОСТЬ? ТОЛЬКО НАШИ ЛЮДИ СМОГЛИ ТАКОЕ СДЕЛАТЬ! ВОТ В КАКОЙ НИБУДЬ АМЕРИКЕ ТАКОЕ СДЕЛАЛИ БЫ? НЕТ! ТОЛЬКО НАШИ ТАК МОГУТ!
>>72904050 Это называется адаптировать текст. Очевидно, что в японии "наступи в кошачье дерьмо" тогда было очень таким едким выражением, а у нас успехом пользовалось аналогичное едкое выражение, звучавшее как "Вагон хуёв тебе в панаму", простой перевод не всегда лучший выход.
играл скрипач в осеннем сквере и ты давай переcдавай фотообои в интерьере авито краснодарский край переносной аккумулятор почтовый идентификатор пока пройдет гнев твой опять какую книгу прочитать кэширование запросов приточный клапан стеновой идея новый уренгой таблица времени вопросов комплект сцепления матиз во времена шенгенских виз
прокрастинация что это что показал олег знарок аэросмит купить билеты как снизить болевой порог принц чарльз о путине цитата токоферола ацетата кончита вурст без парика звонок последнего звонка диакритические знаки прагматик это человек что лучше фитнес или бег warcraft подать сигнал к атаке та-да-да-дам та-да-да-дам не отрекусь и не предам
торговый центр тропа коньково цветочный форум москвичей модель оксана казакова наращивание ногтей лав радио плейлист новинки европа домики картинки как резать поликарбонат адамовский военкомат синатра песни минусовка скачать сейчас секрет привет любить мужчину средних лет подарочная упаковка продажа камуфляжных газ скачать все песни горилаз
для чистоты эксперимента установить фордж на майнкрафт проверь себя и контрагента голосовать за фокус крафт передняя брюшная стенка тарас григорьевич шевченко настроить фотоаппарат солистка группы ленинград смотреть мультфильм три поросенка изосорбид мононитрат купить бенгальского котенка культура речи реферат воскресный днем приходишь в дом потап и настя все пучком
костры и песни под гитару челябинский метеорит официальный сайт субару имбирный масляный бисквит как люди составляют пары аккорды к песне пицца фары мадонна ара вона хир стрельба из пистолета тир пингвины из мадагаскара демотиваторы прикол обои на рабочий стол ул партизанская самара отложенный платеж мотив касимовский район архив
перемешать столбцы в таблице итоги я меняю мир боль в животе и в пояснице банк первомайский армавир погрузка техники в машину как заменить в часах пружину тебе я веник приволок щенки шарпея каталог смотреть онлайн сезон охоты рыбалка кашинский район восьмидесятые сезон бесплатные ключи для доты гордеевский универмаг как по-английски здоровяк
>>72905363 не работает, потому что ты субтитры в webm запихал если в ffmpeg делаешь, задай дорожки вручную типа -map 0:0 -map 0:1 видео и звук соостветственно
>>72906052 Нахер ты закрытые кодеки используешь? Можешь, конечно дальше клепать, только 50% аудитории не увидит ничего. Лиса, например, без костыльных модулей, h264 не читает.
Доставьте СОУС АМВшки, которая здесь бегала два или три треда подряд. Там компиляция из дохуя анимех под Halou – Honeythief играет. Желательно, ссылку на йотюб.
>>72907527 в 3 мувики Хомура станет как Мадока, дьяволом, и поместит ее в школу ,заставив жить ОЯШевской жизнью, ничего интересного >>72907524 это понятно но обновляться придется
>>72908180 Пиздец, вп8 еле выжимает 300р, а у тебя 360, которые я уверен и до 400 можно растянуть, и качество не пострадает, охуеть. Но с такой скоростью кодирования это пиздец же.
В /а/ лень идти, спрошу здесь. Досмотрел сегодня киру ра киру, понравилась стилистика, ну и фансервис конечно. Что еще из недавних релизов есть такого же чтобы прям йоба? Только если сериал то желательно законченный или почти законченный, не люблю онгоинги.
>>72908649 титосов наверни >>72908694 в фильмах некоторые детали были изменены, например в космосе мадока и хомура в фильме прекрыты платьем. так что однозначно стоит смотреть тв >>72908723 вп9 не пашет >>72908797 хомура единственная няша в мадоке
>>72908854 Ты про третий мувик? Хуем легко думается, быдло? Хомура - убогая омежка-пиздолизка с невъебенным чсв. Это уже и в тв было понятно. А в третьем мувике показали, что она ещё и эгоистка. Она просто олицетворение всех пороков, но ты же увидел, какая она крутая и сразу потек, верно?
> убогая омежка-пиздолизка Пикрелтейд лучший персонаж, которая пыталась спасти Мадоку от смерти >>72909095 >и что с того? обновляться пора, кодеки себя не обновят. но сегодня мне лень
>>72909381 >которая пыталась спасти Мадоку от смерти Даже если бы ради этого пришлось перебить остальных волшебниц. Охуительная история. Тащемта Мадокочка и есть та самая ламповая няша, саяка - герой, а кеко - дерзкая цундере. А хомура - пример того, как сила попала в руки чсвшной омежке. Мы привыкли, что омежки - няши-стесняши, добрые, но слабые. Но ирл - нихуя, многие омежки могут легко подставить друзей, а приобрев силу натворить такой хуйни, что любой тиран обзавидуется.
>>72909581 Хому даже и не пыталась никого из подруг убивать, да благодаря этой силе она таки сделала из Мадоки богиню, которая сделала только хуже но на это похуй. Даже с силой бога Хома вроде как особо никого не тиранила, хотя и посадила в клетку свою Мадоку
>>72909767 Сука, какой же ты жопосмотрец. Это не тебя там в театр водили постами выше? Хомурка ради пизденки мадоки сделает что угодно, она в тв вроде даже хотела саяку добить, чтобы та не мучила мадоку своим нытьем. >которая сделала только хуже Ты просто анальный жопосмотрец. Мадока сделала все правильно, ведьм больше нет, никто не страдает. А спорить насчет того, поступила хомура правильно или нет я не собираюсь. Правда в клетку она никого не сажала, она просто вернула все как было. Но ты же у нас жопосмотрец, так что ничего страшного, если ты этого не понял.
>>72909990 >не тебя там в театр Может и меня, а может и нет > она в тв вроде даже хотела саяку добить Хомка за бесплатно хотела дать Саяке семя-ведьмы, но та отказалась. > ведьм больше нет А да точно, вместо них демоны. Но на это всем похуй. >Правда в клетку она никого не сажала Изменила память Годоке, этим лешив ее способностей, ладно. >поступила хомура правильно или нет я не собираюсь и не надо. Хомура лучшая так и так.
>>72910526 > эту >>72910132? она не работает А чего ты тогда вообще в анимублядский тред со своим свиным рылом лезешь? У приличных анимублядков всё работает.
>>72912468 Разрулил, отключив у openssl флаг kerberos. Но, т.к. я до этого удалил mit-krb5, перестал работать wget, и исходники openssl пришлось качать вручную. Пересобрал openssl, теперь вроде всё заебись. Только он без поддержки кербероса, для аутентификации на домашнем сервере придётся пересобрать ещё раз.
>>72919410 Алсо глянул в разметку, а там <video controls="" autoplay="" muted="1" loop="1" name="media">... Всего-лишь убрать это и будет норм, но как?
Небольшое сравнительный тест. Как видим, качество действительно лучше с вп9, к тому же при тех же параметрах почему-то меньше размер файла. Первый пост на макабе.
>>72923374 > к тому же при тех же параметрах почему-то меньше размер файла Он плавает. Иногда получается наоборот больше. Например, при кодировании первого вебмрелейтеда было запрошено 431kbps, а получилось 487. У vp8 (второй вебмрелэйтед) с этим несколько чётче: запросил 487kbps, получил 482.
>>72923539 > а вот это >>72907314 , например, ни о чём не говорит ? Во-первых, начинай предложения с большой буквы. Во-вторых, не ставь пробелы перед знаками препинания вроде запятых и вопросительных знаков. В третьих, вебмки разные — это видно даже по превьюшкам. В четвёртых, они могли быть сделаны из соуса с значительными артефактами — в таком случае автору сравнения поможет только топор.
>>72924095 что сказать-то хотел ? >вебмки разные — это видно даже по превьюшкам разница в 200мс в начале и что ? наркоман что-ли ? >>72924095 >они могли быть сделаны из соуса с значительными артефактами следует ли это понимать, как то, что разницы ты не видишь, равно как и не отличаешь на слух битрейт опуса 64 от 36 ?
>>72923811 Непривычно немножко. Фича с мультипостингом файлов довольно интересная. Плохо, что куклоскрипт не работает, я greasemonkey вместе с ним не всегда включаю в браузере, правда, но иногда он нужен все таки.
>>72924336 > что сказать-то хотел ? Обоссать тебя хотел, плохо видно? > разница в 200мс в начале и что ? Она говорит о том, что вебмки делались в разных условиях, мб даже из разных соусов. Сравнение можно выкидывать. > следует ли это понимать, как то, что разницы ты не видишь Я вижу, что и там, и там — говно. В то же время я вижу что в других сравнениях у VP9 результат значительно лучше. Соответственно, я предположил, что причина говна в >>72907314 может быть в соусе. Мб этот долбоёб вообще взял вебмку в VP8 и пожал в VP9 (правда, тогда бы разницы в кадрах не было). > не отличаешь на слух битрейт опуса 64 от 36 ? В большинстве случаев с музыкой — отличаю.
>>72924663 >Обоссать тебя хотел, плохо видно? как это и бывает в таких случаях, обоссался ты с ног до головы >она говорит о том, что вебмки делались в разных условиях с тем же успехом она говорит о том, что ты хуй, а твоя мать - шлюха >я вижу, что и там, и там — говно то есть ты слепой мудак, как я и предполагал с самого начала >вообще взял вебмку в VP8 и пожал в VP9 пиздец проигрываю с тебя двач интеллектуальный >в большинстве случаев с музыкой — отличаю. ну хоть не глухой, уже хорошо
>>72924939 > пытается сравнивать качество, постя скриншоты в jpg Проиграл с долбоёба. > как это и бывает в таких случаях, обоссался ты с ног до головы Обоснуй. > с тем же успехом она говорит о том, что ты хуй, а твоя мать - шлюха И это — тоже обоснуй. Хотя что я говорю со школьником — ты ведь не можешь в аргументы.
>>72925152 > ты ведь не можешь в аргументы Вот это хуцпа. Ты кукарекал, что разницы в >>72907314 нет, тебя ткнули харей в скрины и всё равно продолжается бессвязное ко-ко-ко.
Я тут недавно, ребят, поясните, это тут модно толстить, говоря, что VP9 ничем не лучше? Я провёл у себя несколько сравнений, то, что у VP9 лучше качество - очевидно. Правда, кодирование в нём медленнее. Справа - VP9 Слева - VP8
Тоже решил вп9 обмазаться. Сконвертировал отрывок с танцем из иной и, по-моему, разница очевидна. Первая - VP8, вторая - VP9. На вп9 даже звук получше стал, лел.
Ничего сверх необходимого. -c:v vp9 -b:v ххх -quality best -pass 1/2 Особенности vp9 какие-то - выйти за 6Мб с первого раза ни разу ещё не получилось, а бессмысленный перфекционизм заставляет. Вот эту >>72928354 хрень пытался 6+ сделать , нихера не вышло.
>>72929152 Ох, лол. Во-первых, ворбис не нужен. Во вторых, попробуй сию гениальную арифметику в VP9, в большинстве случаев будет вот так >>72927781 примерно.
>>72923267 Слева vp9, справа vp8. При одинаково выставленном битрейте, вебка с vp9 получилась заметно больше по размеру, чем с vp8. Не знаю, мне кажется опус >>72907006>>72908241>>72908324 для длинных отрезков лучше подходит. При использоваании -quality best, вебка с vp9 в районе 10 минут кодировалась где то.
>>72931291 > 10 минут кодировалась где то. Вы там на чём кодируете? У меня быстрее чем кодировать секунду видео за минуту реального времени не получается, хотя тут наверно виноват старый проц.
>>72931291 >мне кажется опус >>72907006>>72908241>>72908324 для длинных отрезков лучше подходит Чего? >При одинаково выставленном битрейте, вебка с vp9 получилась заметно больше по размеру, чем с vp8. Так и качество намного выше. Два прохода было?
>>72932090 Ой, а то zeranoe без поддержки sse и avx станет компилировать в 2014 году. Скорее для vp9 нихера не поддерживается (если даже многопоточности нет), потому и выполняется тупо на числодробилке. >>72932216 >Опус вместе с vp9 не работает же? Выше по треду весь vp9 c opus, кроме пары не моих. >Нет, я в один сделал. Не делай так.
>>72932330 > Ой, а то zeranoe без поддержки sse и avx станет компилировать в 2014 году. Сборки с оптимизацией под AVX не будут работать на процах без его поддержки. У libvpx нет поддержки сборки разных версий критичных функций и автоконфигурации в runtime. Олсо, помимо вручную оптимизированных ассемблерных вставок, есть ещё оптимизация компилятора под особенности конкретного проца. Она задаётся при сборке.
>>72932342 Я вот так ту >>72931291 что слева кодировал ffmpeg -i 121.mkv -ss 00:19:17.500 -to 00:20:36.500 -c:v libvpx-vp9 -crf 4 -b:v 420K -quality best -vf scale=800:-1 353.webm С -c:a libopus у меня -vp9 не работает, хотя я неправильно что то делаю, наверное.
>>72932336 > мне нужен подробный гайд для ретарда Берёшь Gentoo, пишешь в /etc/make.conf: CFLAGS="-O3 -pipe -march=<проц>" (список процов см. в man gcc) Туда же пишешь нужные тебе USE-флаги: USE="sse avx libass opus vpx" (их список см. в emerge -pv ffmpeg, описания — в /usr/portage/profiles/use.{,local.}desc)) Размаскировываешь git-версии ffmpeg и libvpx: echo 'media-video/ffmpeg <звёздочка>' >> /etc/portage/package.keywords echo 'media-libs/libvpx <звёздочка>' >> /etc/portage/package.keywords и запускаешь сборку: emerge -av ffmpeg Всё.
>>72932706 Во-первых, не -o 3, а -O3. Писать в параметры компилятора. Обычно они задаются переменной CFLAGS, но она может быть переназначена в Makefile. В случае с libvpx это можно задать так: ./configure --extra-cflags="-O3 --march=core-avx2"
>>72933100 > что-ли ? Опять ты? > это проблемы именно libvpx Нет. Это не проблемы, а общие свойства софта. Оптимизация под конкретный проц задаётся при компиляции. Использование продвинутых фич проца с автовыбором в runtime — это исключение.
Тред для приличных анимублядей и прочих аутистов.
Безграмотное быдло с рудабом, порнографией, мокрыми письками, домашним видео с котиками и прочей ерундой отправляется в порнотред .
Тред техподдержки (в оп-посте устаревшая хуита): http://2ch.hk/s/res/978430.html
Внимание: сраный пидромод периодически удаляет тред. Обсуждение тут: http://2ch.hk/d/res/148930.html
Филиал треда с большими WebM'ками (до 20МБ): http://2ch.hk/f/res/22235.html
Если браузер вместо воспроизведения отдельных видео ругается на повреждённый видеофайл, либо не воспроизводит звук — он скорее всего не может в Opus. См. http://en.wikipedia.org/wiki/HTML5_Audio#Supported_audio_codecs.
Для поиска соуса видео сохраняем кадр (правый клик по видео) и ищем его на http://images.google.com.
О кодировании WebM
Доступные кодеки — VP8 (видео) и Vorbis или Opus (звук), размер файла — 6144КБ.
VP9 поддерживается! -c:v libvpx-vp9
Синтаксис аргументов ffmpeg
ffmpeg [опции исходного файла] -i исходной_файл [[опции файла 2] -i файл2] [опции кодирования] выходной_файл
Все описываемые здесь параметры, если для них не указано иное, идут в опции кодирования.
Фильтры видео: -vf фильтр1=параметры,фильтр2,...
Выбор дорожек (потоков, выводятся при чтении файла в виде «Stream #0:0»): -map 0:0 -map 0:1
Перезаписывать файл без предупреждения: -y
Сжатие видео с фиксированным качеством
В случае с небольшими фрагментами, для которых лимит 6МБ не страшен, следует использовать фиксированное качество (crf). Отрезаем фрагмент 20 секунд начиная с 10 минут:
ffmpeg -ss 10:00 -i video.mkv -t 20 -crf 30 -b:v 5m out.webm
Параметр -b:v (битрейт видео) при указании crf используется в роли максимального пикового битрейта. Значение crf может быть от 4 (максимальное для VP8 качество) до 60 (говно).
Запихивание максимального качества в указанный объём
Допустим, нужно сконвертировать в WebM 2 минуты файла video.mkv начиная с 10 минут. Прикидываем разрешение — если движения в видео не слишком много, то можно взять 500 пикселей по ширине.
Первым делом производим оценку сложности видео (она сохраняется в файл ffmpeg2pass-0.log) и заодно кодируем звук:
ffmpeg -ss 10:00 -i video.mkv -t 2:00 -vf scale=500:-1 -auto-alt-ref 1 -lag-in-frames 20 -pass 1 out-a.webm
В последней строке вывода будет указан размер звуковой дорожки: audio:1532kB. Если получилось больше половины доступного объёма — нужно снижать качество звука, см ниже.
Далее вычисляем битрейт по формуле bitrate = (filesize - audio_size) 8bit / time
. Для фрагмента 2 минуты это будет (6144 - 1532)KiB 8bit / 120sec = 307kbit/s
.
Второй проход — кодируем видео и копируем звук из результата первого прохода:
ffmpeg -ss 10:00 -i video.mkv -i out-a.webm -map 0:v -map 1:a -t 2:00 -c:a copy -vf scale=500:-1 -b:v 307k -auto-alt-ref 1 -lag-in-frames 20 -quality best -pass 2 out.webm
Если размер вышел больше 6144КБ — значит, сработало ограничение минимального качества libvpx. Рекомендуется не играться с ним, а уменьшить разрешение или fps и повторить оба прохода.
Многопоточность (параметр -threads) использовать не рекомендуется — она увеличивает размер видео.
Звук
Доступно два аудиокодека — libvorbis и libopus. Opus обладает лучшим соотношением битрейт/качество, Vorbis поддерживается большим кол-вом браузеров.
Внимание: если сделать звук моно, то в firefox он будет слышен только слева. Параметр ffmpeg для конвертации в стерео — -ac 2
. Многоканальный звук работает в firefox с 29 версии.
По умолчанию для webm используется libvorbis, для управления им обычно достаточно одной настройки: -q:a <качество>
, где качество указывается числом от 0 (говно) до 9 (почти без потерь), по умолчанию — 2. Пример:
ffmpeg -i video.mkv -q:a 7 -ac 2 out.webm
Внимание: libvorbis'у нельзя указывать фиксированный битрейт (-b:a) — это сильно портит качество звука.
Opus'у наоборот указывать битрейт необходимо, также для отключения ограничений старой версии формата webm нужно указать -strict -2
:
ffmpeg -i video.mkv -c:a libopus -vbr on -application audio -b:a 48k -strict -2 -ac 2 out.webm
Наложение субтитров
ffmpeg -i animu.mkv -ss 10:01 -t 30 -vf scale=500:-1,subtitles=animu.mkv -b:v 300k out.webm
или
mpv animu.mkv --start 10:01 --length 30 --vf scale=500:-2,sub --sub-pos 90 --sub-scale 1.3 --ovcopts b=300k -o out.webm
Как видно из параметров, mpv позволяет увеличивать субтитры (--sub-scale) и сдвигать их вверх (--sub-pos). Также mpv берёт сабы автоматически из контейнера или из файла с совпадающем с видео именем, а для ffmpeg требуется указание файла.
При этом mpv пока не пригоден для двухпроходного кодирования с указанием среднего битрейта, а для ffmpeg в щиндовсе нужно настраивать fontconfig: https://github.com/AlsaAsksMiley/webm-thread-misc/blob/master/Fontconfig_and_subs.txt
Внимание: параметр -ss ffmpeg'а следует указывать после входного файла — иначе тайминг субтитров будет считаться от начала фрагмента.
В git-версии фильтр subtitles ffmpeg'а научился брать шрифты из контейнера и понимать параметр si (номер потока с нужными сабами), коммиты 7e6b3ad и 7a0e689.
(хромоги, обрезка чёрных полос, нарезка видео на фрагменты, fps, превью и скрипты вырезаны из пасты из-за ограничений на длину поста)
Ссылки
Программы и их документация: http://ffmpeg.org, http://mpv.io, http://www.bunkus.org/videotools/mkvtoolnix/.
Гуй с минимумом кнопок для ретардов (сперма-only): https://github.com/WebMBro/WebMConverter/releases.
Исходники op-webm'а (скрипт на zsh и пикчи): https://github.com/pituz/webm-thread/tree/master/overlay
Текст поста: https://github.com/pituz/webm-thread/blob/master/op-paste