Все описываемые здесь параметры, если для них не указано иное, идут в опции кодирования. Фильтры видео: -vf фильтр1=параметры,фильтр2,...
Выбор дорожек (потоков, выводятся при чтении файла в виде «Stream #0:0»): -map 0:0 -map 0:1
Перезаписывать файл без предупреждения: -y
При указании расширения webm по умолчанию используются Vorbis и VP8. Для VP9 следует добавить -c:v libvpx-vp9 -strict -2.
Сжатие видео с фиксированным качеством В случае с небольшими фрагментами, для которых лимит 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 неэффективно муксит Opus, итоговый файл получается на 10-20% больше, чем с mkvmerge.
Как видно из параметров, 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.
Доброго утречка, мои зайчишки-шалунишки! Опять сонненькие, сладенькие котятки? Ну ка, давайте маленькие, просыпайтесь, мордочку умывульки, лапками потягульки-потягульки! Одну лапку подняли, другу лапку подняли - полетели, полетели, полетели, наааа головку сели. Какие вы у меня умнички, медвежатки ласковые, пингвинчики прямо ня, люблю вас всех, нежненькие мои, любименькие, лапками няшите игриво, лентюльки мои пушистенькие, вставать не хотите, глазки сонные, ушки маленькие, мордочкой кривите, а я вас обниму так нежненько, на коленочку посажу и к животику нежненько прижму, чтобы вы бурундчуки махонькие не мёрзли, мурлыкой фыркали приятно так, тёпленько в ладошку и хвостиками хитрили, как котятки смешнявые, ня воть :3
А ведь Мисака по сути социальный изгой. Т.е. она тренировалась с малых лет и у неё по сути нету своих друзей. Куроко сама к ней подошла, Мисака даже не пыталась с ней познакомится. Сатен и Уихару познакомились через Куроко, т.е. не будь Куроко лесбой, Мисака бы бродила с унылым лицом по улицам одна, сидела бы соло к кофейнях, бросая ненавистные взгляды на парочки и гонялась бы за томным в 2 раза сильнее. Хотя в манге этой хуйни нет, там с ней здоровается половина города и она сама без проблем за 1 минуту дружится с Конго.
>>73027029 Конечно можно, а мы чем тут занимаемся с апреля? Только в >>73027119 есть ошибки: -vbr on - это для Opus, для Vorbis нужно указывать коэффициент сжатия. -r лучше определить после всех входных файлов
>>73028135 Там же написано: #!/usr/bin/env zsh. Олсо, без всех этих if'ов можно вообще обойтись, указав значения переменных прямо в командах. Они нужны только для того, чтобы поставить трек в плеере, скопировать ссылку на картинку и дальше оно само всё делало. Я по части повторяющихся рутинных действий очень ленивый, особенно когда накурен.
>>73028349 > для винды есть. Под спермой этот скрипт работать не будет: — там нет используемых в нём плееров; — иксов с xclip тоже нет, с буфером обмена надо работать как-то иначе; — нет каталога /tmp/. Первые две соснули обходятся запуском скрипта с треком и картинкой в параметрах, третья — использованием переменной $TEMP.
>>73028349 >ифы для оболочки, в данном случае, для zsh. >Можешь себе вместо cmd.exe его установить, для винды есть.
Ох блядь, идите нахуй с вашими оболочками. Я поставил себе эту хуйню, потом охуевал с прописывания пути для mpv. Для cmd всё просто и заебись прописывается, тогда как для оболочек вообще хуй разбёрёшь куда прописывать пути. А в /s про пути все говорят разную хуйню, из которых ни одна не работает. Лучше уже делать в старом-добром cmd, чем в этом выёбывающемся пиздеце.
>>73028706 > что делает env 1. Находится в /usr/bin/ в разных ОС, включая фрю, соляру и прочее. 2. Применяет переменные среды и выполняет с ними команду. Дело в том, что в shebang'е можно использовать только абсолютный путь к бинарию, просто !#zsh писать нельзя.
> почему не #!/usr/bin/zsh Потому что в других ОС zsh устанавливается в другие каталоги. Во фре — в /usr/local/bin, например. С bash — та же хня.
>>73028936 Так ёба, в конфиг шелла (.zshrc) прописал, и всё работает. Как-то так: export PATH="$PATH:/path/to/mpv"
Вангую, что ты соснул с преобразованием пути щиндовса в путь сигвина. А надо было просто попытаться написать его в шелле, нажимая tab.
>>73029277 Для треков длиной больше 4 минут используй Opus с битрейтом 100kbps и менее. Для картинки — два прохода, как в скрипте на zsh выше. Мукси mkvmerge'м, он укладывает opus на 10-20% эффективней. Можно ещё скукоживать fps до дробных значений фильтром setpts.
>>73030034 Не команда, а параметр команды. Отвечает за использование более ресурсоёмких алгоритмов при кодировании. Обычно это даёт где-то 10% выигрыш в объёме видеодорожки. > Я её просто удалил Правильно сделал.
Хуйня какая-то с вебмками твоими, каждый раз при переключении на другое место вебмки, она начинает грузится заново, даже при условии что уже была загружена.
>>73030389 Ты даже пост прочитать не можешь, на который отвечаешь. Неудивительно, что у тебя ничего не получилос. Это не ты вчера тут раскукарекался по поводу кодирования статичной картинки одним проходом?
>>73030451 Первая - указывает качество, используй с vorbis. Вторая - указывает пиковый битрейт, используй с opus. В оп-посте написано об этом, вообще-то. >>73030551 Заебал своими проходами уже, кодирую одним и ничего не распидорашивает.
>>73021766 > Если браузер вместо воспроизведения отдельных видео ругается на повреждённый видеофайл, либо не воспроизводит звук — он скорее всего не может в VP9 или Opus. Palemoon самый последний. Не пашет дохуя webm. Делать то что?
>>73030516 У меня нормально в лисе последней все, единственное, в отличии от вебок с vp8, вебки c vp9 пару секунд грузятся иногда, когда на случайное место перематываешь, а не мгновенно.
>>73031041 Он застрял на прошлом ESR'е. Либо жди, когда обновится, либо меняй мэйнтейнера.
>>73030807 Никто про команду ls /path/to/mpv не говорил, поэтому я её не использовал и не имею понятия, находило или нет. Потому пердолики и не могут работать с прыщесофтом — к самостоятельным разумным действиям они не способны.
>>73031051 Мб мне ещё приснилось, как ты соснул с кодированием >>73029607, запихав вместо трека на пять с половиной минут 17 секунд кукареканья?
>>73031632 >Мб мне ещё приснилось, как ты соснул с кодированием >>73029607, запихав вместо трека на пять с половиной минут 17 секунд кукареканья? Ого, вижу у тебя до сих пор печёт. Поднимай свою культуру общения и закаляй пердак, а то выглядишь как истеричная шавка.
Это звучит так, как будто анимешник пытается разговаривать с обычным человеком путём няканей, тян, кунов и прочей хуйни. Ты думаешь, что тебя кто-то понимает?
>>73032626 >чётко поставлена задача Это в твоей недалёкой головушке она была поставлена чётко. Ты дискутировал по поводу битрейта с другим аноном, наркоман. >>73032796 Что и требовалось доказать, жопошник. Не можешь в обсуждение как человек, будешь обложен хуями.
>>73033072 Значит гентушники не пиздят, и перекомпиляция действительно делает какой-либо прирост в медия приложениях? Ахуеть просто. Нужно попробовать.
>>73025807 А можно ли сделать гифку с музыкой? Пишет "- loop" команда неизвестна а так получается не зацикленная гифка на две секунды, потом её копирую и соединяю и опять копирую соединяю, тот еще геморой, ах да отдельно еще музыку прилепляю.
>>73032919 > Это в твоей недалёкой головушке она была поставлена чётко. А в твоём кочане фраза «аудиопоток возьмёшь копированием из …» звучит недосаточно чётко?
> Не можешь в обсуждение как человек, Сказал быдлоид, начавший разговор посыла нахуй и обзывания скудоумком.
> будешь обложен хуями. Ты сам ими обложился ещё в прошлом треде.
>>73032966 Скорость сильно плавает от настроек, разрешения и исходника - от 0.1fps до 15fps. От i7 толку немного, один поток же. штеуд, ёбаные мрази, заблокировали разгон на дешёвых процах, что им сдохнуть Если ядер много - ставь кодироваться несколько сразу.
>>73033900 >>73033917 Сам кодировал, для теста. Вышла хуита, если честно. Начало размыто. Кодировал с помощью vp8, хотя в vp9 вроде как такой проблемы нет. Алсо, у первого тоже начало квадратное.
Когда мне было пятнадцать лет и я приехал в Токио-3 отец все время как-бы невзначай крутился неподалеку и все спрашивал ты что в робота залез без приказа, ты что ебанутый? Алсо батя смотрел холодно если я убегал от трудностей и говорил мол я мир спасаю и ты так делай (полезай в робота). Один раз ангел в геофронт ворвался ну я после побега вернулся в еву залезть и слышу батя где-то на мостике встал в отдалении ну я на карачки присел а там щель под евой широкая, смотрю а там батя на карачках сидит руки у рта сложил и говорит ты что ебанутый? что ты там делаешь? Алсо батя все время командование перекладывает на других, перекладывает по пять раз в день а потом говорит что все хорошо справились, а еще молчит он, пиздец короче, реальная история я не из сеел.
>>73033351 >А в твоём кочане фраза «аудиопоток возьмёшь копированием из …» звучит недосаточно чётко? Щито? А при чём тут аудиопоток? То ты орал что размер видеопотока больше, теперь аудиопоток приплёл. Определись уже, юродивый. >Сказал быдлоид, начавший разговор посыла нахуй и обзывания скудоумком. Ты меня жопоглазым нарёк, я послал тебя нахуй. Мама! Он первый начал! >Ты сам ими обложился ещё в прошлом треде. Проекции. Проекции повсюду.
>>73034834 с того что в "энде" другая рисовка и 16:9, например с того, что это 26 серия сериала, например с того, что наиболее несносные из всех глупцов те, кто не совсем лишены разума
>>73031942 Установил Фиrефокс, перетянул все скрипты и аддоны с настройками и закладками из Palemoon, накатил Classic Theme Restorer, попердолился с About:config для незакрытия ФФ после последней вкалдки и т.д. - заебок получился. Чистый новый портабл бровсер
>>73034711 > Щито? А при чём тут аудиопоток? При том, что его размер определяет оставшееся место для видеопотока. > То ты орал что размер видеопотока больше Проблема по прежнему в этом. > Ты меня жопоглазым нарёк А что, неправильно нарёк? Ты не смог увидеть обоснование использования второго прохода в посте, на который отвечал. > Проекции. Проекции повсюду. Протекции — это твоё «Нахуй пашёль, скудоумок.» в ответ на предложение перечитать пост, и съезд с обсуждения кодирования VP8 на культуру ведения дискуссии после отсоса с пруфом.
>>73035541 >При том, что его размер определяет оставшееся место для видеопотока. Ничего себе умозаключение. Масло масляное. Развей мысль, скудоумный. >А что, неправильно нарёк? Ты не смог увидеть обоснование использования второго прохода в посте, на который отвечал. Там была другая ветка обсуждения, в которой я не участвовал и то что я её не прочёл вполне нормальное явление. >Протекции — это твоё «Нахуй пашёль, скудоумок.» Вполне нормальная реакция на неадеквата, коим ты являешься. Возомнил себе что-то, доебался до меня в грубой форме, был послан. Что не так?
Аноны, молю, доставьте ВЕБМку про художника и его кота. Там художник подбирает кота и предлагает ему опеку, затем художник умирает, а кот бежит к его любимой в другой город, чтобы доставить ей его последние слова.
>>73036134 Пожалуйста, анончики, очень нужно. Сам бы нашел, но не гуглится. Помню, что кота художник назвал Night, а девушка потом его Knight назвала. Но нихуя нагуглить так не могу.
>>73036037 Нет, анон, если ты откроешь сам эту серию с озвучкой фреи из вконтактика на этом же моменте, то тебе станет очевидно, что ты ошибся и это не она.
>>73036447 Я тебя обожаю! Взамен расскажу, зачем мне это было нужно. Смотрю сейчас кланнад 2 и понимаю, что во флешбеке Мисаэ почти что идентичная история. Решил кинуть другу и спросить его мнение. Может, у японцев какая-то сказка с этим связана или легенда?
>>73037275 Ну, она тот видос выкладывала на фрилансру как пример работы, вот и постаралась хорошенько. А когда онгоинги целыми днями ебашишь, качество закономерно падает.
>>73036110 > скудоумный. Не знаю даже, как реагировать на человека, который не видет зависимости одного слагаемого от другого при сохранении суммы. И ещё что-то кукарекает про скудоумие. > Там была другая ветка обсуждения, в которой я не участвовал и то что я её не прочёл вполне нормальное явление. Именно поэтому я тебе указал прочесть пост весь, а не жопой. Сам я себе стараюсь никогда не позволять подобного жопочтения. > Вполне нормальная реакция на неадеквата На не «адеквата» чему? Договаривай до конца. Схуяле ты мне указываешь на какие-то нормы, которым моё поведение должно быть адекватным? Здесь свободное общение, забыл? > доебался до меня в грубой форме Туда ли ты зашёл, неженка? Если для тебя «читать пост жопой» — грубая форма, то у меня для тебя плохие новости.
>>73038900 Scandal - Harukaze. Люблю эту группу, как и стереопони. Видимо, опенинг из блича. А вот предыдущий митол, который ты кидал, увы, не знаю. И слов разобрать почти не могу.
>>73038461 > Почему вы ссоритесь? Я думал, что анимубляди добрые. Обычно-то я добрый. Но как ты предлагаешь реагировать на упёртого быдлана, безапелляционно распространяющего идиотизм? Я счёл, что заставить его соснуть на примере, а потом признать свой отсос, либо хотя бы утереться и уйти — хорошее лекарство от необоснованного высокомерия. Ну и стараюсь действовать адекватно этому.
>>73021766 Знаете, я тут почитал гайд из ОП-поста. Это просто отражает всю суть прыщеблядства, никаких стандартов, 20 велосипедов ЗА ТО ШВАБОДНЫХ СО СВОЕЙ ПАРАДИГМОЙ для единственной хуйни, никакой совместимости иногда даже в пределах мажорных версий, просто нихуя блядь сука. Хорошо что ебаных прыщеблядей не существовало во времена создания интернетов.
Мне на Мисаку сложно даже дрочить, т.к. её детская непосредственность ломает весь фап. Любая пошлость ломает её персонажа в дженерик шлюху без личности, а на дженерик шлюх уже давно не стоит. С Сатен как-то по-проще.
Дикие вопли ужаса и боли узришь. Внутрнности такие скользкие. Не ухватить. Не могут дышать. Только кричать. Уборшица вымочила тряпку в крови. Нет бога.
>>73042370 > Хорошо что ебаных прыщеблядей не существовало во времена создания интернетов. У меня для тебя огорчающие новости. Прыщебляди создали твой интернет.
>>73048417 думаю такую тему нужно вынести в отдельный тред, учитывая, что этот близится к лимиту охуел? ещё 100 постов если кто создаст, ссылку с перекатом сюда, ибо я дохуя ленив, но скинусь с радость на такое дело
>>73056132 Ну это как-то можно подогнать под то, что надо систематически напоминать, какой он феерический долбоёб-некрофил. На живых у него как-то ниочень вставало, больше на брёвна.
>>73056367 >>73056382 Ну бля, шоб показать там внутренний мир персонажей, глубокий смысол короч. вам не понять. Чтоб вы бугуртили сильней. Та же ситуация и с битвой в третьем мувике.
>>73056474 > Та же ситуация и с битвой в третьем мувике.
Ну, ещё не пересматривал, но спгс на скорую руку подсказывает пару целей. Показать, что Мами имба и проиграла Шарлотте в последнем таймлайне не случайно. Показать готовность Хомуры к суициду как элемент общей картины её состояния.
>>73043398 Есть mkv, там есть 2 дубляжа: от ПиРсОнЫ98 и оригинальный, по умолчанию стоит русский даб и ффмпег автоматически делает вебм с ним, что нужно делать чтобы выбрать 2-ую?
>>73059180 Я о мотивации говорю. Одно дело - решила самовыпилиться, второе - решила пойти на риск. Алсо, она же остановку не просто так перед этим включила. Так что гарантии наверняка есть, они же не обычные люди уже, обычные люди так скакать по полю боя не умеют, наверняка и мыслительные способности улучшены. Алсо, Мами же и это просчитала.
>>73059336 > Одно дело - решила самовыпилиться, второе - решила пойти на риск. Это ты людям в белых халатах будешь рассказывать. Суицидальная готовность налицо. >Алсо, Мами же и это просчитала. Нет, просто успела среагировать. Тушка для махосёдзи не критична.
Анимационный WebM тред
Тред техподдержки (в оп-посте устаревшая хуита): http://2ch.hk/s/res/978430.html
Обсуждение припадочных модераторов: http://2ch.hk/d/res/148930.html
Филиал треда с большими WebM'ками (до 20МБ): http://2ch.hk/f/res/22235.html
Если браузер вместо воспроизведения отдельных видео ругается на повреждённый видеофайл, либо не воспроизводит звук — он скорее всего не может в VP9 или Opus. См. http://en.wikipedia.org/wiki/HTML5_Audio#Supported_audio_codecs.
Хромоги с зондом 35 версии, а также пользователи браузеров на его движке сосут на вебмках с нечётными размерами: https://code.google.com/p/chromium/issues/detail?id=379127.
Для поиска соуса видео сохраняем кадр (правый клик по видео) и ищем его на http://images.google.com.
О кодировании WebM
Доступные кодеки — VP8 или VP9 для видео и Vorbis или Opus для звука, размер файла — 6144КБ.
Синтаксис аргументов ffmpeg
ffmpeg [опции исходного файла] -i исходной_файл [[опции файла 2] -i файл2] [опции кодирования] выходной_файл
Все описываемые здесь параметры, если для них не указано иное, идут в опции кодирования.
Фильтры видео: -vf фильтр1=параметры,фильтр2,...
Выбор дорожек (потоков, выводятся при чтении файла в виде «Stream #0:0»): -map 0:0 -map 0:1
Перезаписывать файл без предупреждения: -y
При указании расширения webm по умолчанию используются Vorbis и VP8. Для VP9 следует добавить -c:v libvpx-vp9 -strict -2.
Сжатие видео с фиксированным качеством
В случае с небольшими фрагментами, для которых лимит 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 неэффективно муксит Opus, итоговый файл получается на 10-20% больше, чем с mkvmerge.
Наложение субтитров
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.
Ссылки
Программы и их документация: 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/short/op-paste