Это копия, сохраненная 5 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Скачать тут: https://www.ffmpeg.org/download.html
Для первичного ознакомления с тем, что тут происходит, прочитай это: https://www.ffmpeg.org/ffmpeg.html - тебе будет много непонятно, но основные термины тебе зацепятся за ухо, позже разберёшься что к чему.
Полная документация по самому конвертеру и всем встроенным кодекам: https://www.ffmpeg.org/ffmpeg-all.html - можно пользоваться как справочником и подглядывать, когда что-то забыл.
Более прикладная и полезная для бытовых целей официальная вики: http://trac.ffmpeg.org/wiki - здесь ты найдёшь детальные методички в step-by-step how-to стиле для решения типовых задач типа склейки нескольких видео в одно, наложения звуков, хардсаба и т.д. Очень полезная для того, чтобы набить руку с параметрами.
Также очень много вопросов отвечено на стековерфло.
Самые ходовые видео-кодеки на данный момент - VP9 и H.264. Подробный разбор их режимов кодирования читай тут: https://slhck.info/posts/ - там всего несколько постов, но они очень крутые, чтобы понять, что происходит внутри этой адской машины.
ИТТ выбираем идеальные режимы кодирования, тестируем нереализованные параметры и ждём официального исхода батла HEVC vs AV1, после чего наконец-то сможем сжимать видео ещё лучше медленнее.
Бонусом сразу вброшу youtube-dl - утилита для нормального выкачивания видео с ютуба, вк, порнхаба и ещё миллиона других видеосервисов. Не совсем кодирование, но скорее всего ты тоже этим дерьмом занимаешься, если что-то делаешь с видео, т.ч. давай осваивай тоже нормальную утилиту вместо просмотра рекламы и установки зондов. Тоже опенсорс подо всё, что способно выполнять AND NOT и XOR.
Прошлый тред: >>2302860 (OP)
>>2452543
Итак, всё закодилось. Хистори файл с таймингами кодирования - пик1.
VP9 кодировался 304 секунды
H264 - 292 секунды
т.е. тайминги ну максимально похожие, 5% разницы.
SSIM и PSNR для обоих файлов на пиках 2 и 3. В итоге VP9 на капелюшечку, но лучше.
Кодирующий скрипт - на пике4, пресет для видео у меня
vcodec=libvpx-vp9
qmin=0
qmax=63
max-intra-rate=0
cpu-used=-8
deadline=good
Его очень тупо сделали в XMedia Recode - я хз почему он там такой тормознутый. Но в оригинальном ффмпеге он норм сделан.
> В итоге VP9 на капелюшечку, но лучше.
Спасибо большое.
Здесь >>2452506 был неправ в следующем:
> vp9... пиздец просто какиеой неэффективныей в случае скорости кодирования.
Но я бы ещё немного развил успех и попробовал slower и что-нибудь эквивалентное для libvpx.
Но так, конечно, ноздря-в-ноздрю. Но разве vp9 позиционировался как замена h.264 а не h.265?
>Но разве vp9 позиционировался как замена h.264 а не h.265?
Мне кажется, ты путаешь VP9 и AV1.
Может быть. Я за движем не слежу уже нет шесть-восемь (исключением являются мои сравнительно недавние опыты с libavcodec::mpeg2 по кодированию dvd-совместимого контента, качественнее, чем CCE). Но мне по какой-то причине припоминается, что обещались какие-то ещё преимущества (ну, по эффективности сжатия) кроме патентной чистоты? Впрочем, опять могу что-то путать.
Оказывается, не путаю:
> Разработка VP9 началась в третьем квартале 2011 года[3][4].
> Другая задача — добиться лучшей эффективности сжатия, чем у стандарта H.265 (High Efficiency Video Coding)[4].
https://ru.wikipedia.org/wiki/VP9
>Xmedia Recode кот
>>452578
>али в XMedia Recode - я хз почему он там такой тормознутый. Но в оригинальном ффмпеге он н
ну и традиционный испорченный телефон никто не отменял
впрочем, xmedia recode действительно лучший из гуёвых конвертеров. Но если айсикью позволяет пользоваться инструментом непосредственно, то почему бы не.
> в следующую шапку действительно XMedia Recode стоит добавить
Не забудь сделать это в снисходительно-уничежительном тоне.
Ещё вот это резануло глаз:
> подо все существующие... платформы
«Все» — это слишком громко и немножко неправда. Про «наблюдаемой части нашей галактики» очень порадовало, т. к. регулярно приходится давать людям очевидное объяснение о том, что «в наблюдаемой нами части Вселенной законы физики таковы, что...».
>«Все» — это слишком громко и немножко неправда
>Написана наСи и ассемблер
Не встречал за последние лет 20 ничего, способного выполнить AND, NOT и XOR, где не был бы реализован компилятор С.
>Написана на Си и ассемблер
Вообще, из этого автоматически портируемость не следует.
> Не встречал за последние лет 20 ничего, способного выполнить AND, NOT и XOR, где не был бы реализован компилятор С.
Это почти всегда так, но ffmpeg несколько сложнее, чем hello world. Хотя возможность кросс-компиляции для DOS меня повеселила https://ffmpeg.org/platform.html
На практике ffmpeg со всеми входящими ограничен довольно скромным числом архитектур: amd64, x86, alpha, arm, arm64, hppa, ia64, ppc, ppc64.
https://packages.gentoo.org/packages/media-video/ffmpeg
Хотел добавить, что МЦСТ портировала (хотя бы часть) ffmpeg на родной набор команд e2k.
>из этого автоматически портируемость не следует.
Ну не на уровне бинарников, но на уровне исходников почему бы и нет? Я не вдавался в подробности, но что там используется такого платформо-зависимого?
>ограничен довольно скромным числом архитектур: amd64, x86, alpha, arm, arm64, hppa, ia64, ppc, ppc64.
https://packages.gentoo.org/packages/media-video/ffmpeg
Подожди, это же сайт просто с уже скомпилированными пакетами для линукса, так?
> Подожди, это же сайт просто с уже скомпилированными пакетами для линукса, так?
Нет. Это сайт source-based дистрибутива, т. е. настаивающего на местной компиляции и сборке пакетов конечным пользователем. По-совместительству этот дистрибутив имеет один из наиболее широких (если не самый широкий) охват по архитектурам.
Я к тому, что, например, на 8-битные контроллеры AVR даже код linux (т. е. только ядро) портирован очень небольшой своей частью.
Мммм... Ну ладно. Я верю, что там могут быть подводные камни. В конце-концов, про наблюдаемую часть галактики тоже гипербола и своеобразный байт для дискусса. Видишь, он сработал :3
>>452583
>я бы ещё немного развил успех и попробовал slower и что-нибудь эквивалентное для libvpx.
Насчёт вот этого я сейчас сделал более интересный эксперимент. SSIM сам по себе хуйня, которую не пощупаешь, а вот эквивалентный битрейт более осязаем.
Без пруфов, я сейчас методом перебора подогнал 2 знака после запятой у -b:v в скрипте из >>452576 для VP9 так, чтобы на выходе All SSIM был максимально похож на 264й и у меня получилось 19.58М, т.е. экономия 2% лол. Это реально кодеки-близнецы.
Главное, чтобы тебе было под силу прочитать это >>452566 (OP)
>Для первичного ознакомления с тем, что тут происходит, прочитай это: https://www.ffmpeg.org/ffmpeg.html - тебе будет много непонятно, но основные термины тебе зацепятся за ухо, позже разберёшься что к чему.
Ну а дальше уж по ощущениям - насколько тебя вштырит. Меня ебануло на отличненько, например.
Да, аутистам хорошо заходит.
По скорости кодирования vp9 сильно отсасывает. Как и его чуть улучшенная версия av1.
Вместо смехуёчков и надрачивания на свою доминантность, показал бы клоуну пост >>452576, в котором в самом медленном режиме vp9 (libvpx) и h.264 (libx264) идут вровень. Как ситуация меняется в других режимах — вопрос открытых и я всё ещё сомневаюсь, что libvpx в других условиях убегает вперёд libx264. Но было бы неплохо. Тогда можно было бы сказать, что теперь у сообщества есть патентно чистый аналоги H.264 с опозданием каких-то 13 лет и слабенькими настройками.
> теперь
6 лет как. Причём не аналог, а лучше него на 1080p+.
А ещё есть аналог H.265, из-за которого теперь в спешке клепают H.266, чтобы не обосраться.
Ну и заодно патентхолдеры знатно поубавили аппетиты и даже сделали аналог организации AOMedia, чтобы не допустить повторного факапа.
Благодаря AOM можно почти передавать HEVC в интернете бесплатно. Профит по загруженности канала в 2 раза. Такие дела.
> Причём не аналог, а лучше него на 1080p+.
> лучше
Это неизмеримая категория. Утверждение лишено смысла.
> А ещё есть аналог H.265, из-за которого теперь в спешке клепают H.266, чтобы не обосраться.
> Ну и заодно патентхолдеры знатно поубавили аппетиты и даже сделали аналог организации AOMedia, чтобы не допустить повторного факапа.
Это твои эротические фантазии или ты готов обосновать утверждения именно в выдвинутой форме?
> Профит по загруженности канала в 2 раза. Такие дела.
Нужно два пруфа:
- что профит есть (рост вычислительной нагрузки в 10 раз — это слив, а не профит);
- что в два раза (метрики SSIM те же плюс/минус 0,5 дБ, поток вдвое меньше).
>Вместо смехуёчков и надрачивания на свою доминантность, показал бы клоуну пост
Мне гораздо более интересно, откуда такие люди берутся. Это какой-то мемчик, который прошёл мимо меня или что? Просто у меня совершенно на другой борде тоже появился сабж с аналогичным утверждением и я сомневаюсь, что он отмечался ИТТ, т.е. люди где-то откапывают это заблуждение насчёт производительности вп9 и потом его зачем-то тиражируют, не проверяя самостоятельно.
>люди где-то откапывают это заблуждение насчёт производительности вп9
Известно где. В libvpx 1.3 энкодер VP9 был сильно медленный и однотредовый. То, что его потом ускорили, многие не знают.
Стоит ещё упомнить не так давно появившийся row-mt, без которого даже с форсированием многопоточности проц не загружается полноценно.
И ещё было бы здорово использовать для оценки эквивалентного битрейта какую-то более адекватную метрику, чем простой SSIM искаропки ффмпега. Есть у кого что-нибудь на примете, чтобы могло оценивать динамический видеоряд? Или, может, мастера AOMAnalyzer ИТТ? Я идиот и так и не смог с ним совладать, онлайн документации нет, а в ирц я не полезу ибо стесняша-социофоб.
>Что ещё у нас на слуху?
Вот это собери https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
если осилишь
>стесняша-социофоб
пиздец
>если осилишь
Бегло просмотрел ридми и не нашёл знакомых слов. Может, и попробую собрать, но точно не в ближайшей перспективе.
>пиздец
Что выросло, то выросло. Постите смешное сами.
>какую-то более адекватную метрику, чем простой SSIM искаропки ффмпега
https://github.com/tdaede/rd_tool/blob/master/metrics_gather.sh
https://github.com/tdaede/awcy/blob/master/bd_rate_report.py
Вот такие у мозилловцев: PSNR, PSNRHVS, SSIM, FASTSSIM, CIEDE2000, PSNR Cb, PSNR Cr, APSNR, APSNR Cb, APSNR Cr, MSSSIM, VMAF
Для начала хватит. HVMAF ещё можно добавить (harmonic mean VMAF, в той статье нетфликса описана).
>>454501
>попробую собрать
На doom9 вроде собирали. Но вряд ли там очень свежее. Лучше учись с кодом работать, ничего сложного в этом нет. Иначе ты слишком сильно ограничен в исследовании кодеков.
Для простоты можно использовать виртуалку или WSL.
Он загружает все ядра только на 4к видео, а на фхд больше 4 ядер не нагрузишь. В то время h264 видео 144p на 16 ядрах можно конвертировать.
Можно и не парсить, просто режешь видос по числу ядер и энкодишь отдельно. Для всего, что дольше минуты, потери на возможные парочку лишних I-фреймов будут минимальны.
Или можно оригинальные GOP использовать. Там скорее всего H.264 какой-нибудь, значит разрезал по scenechange, вряд ли твой энкодер другой бы тип кадра выбрал. Netflix вроде как раз так делает.
>Для всего, что дольше минуты
Дело в том, что я режу смешные вебмки для двача, поэтому меня ебёт вопрос именно в таком разрезе и пара лишних и-кадров вовсе не лишняя и хотелось бы достичь именно полной аналогии итогового файла относительно обычного двухпроходового.
>Там скорее всего H.264 какой-нибудь
К сожалению, приходится работать иногда с разными источниками, т.ч. мне бы именно знать, что там напланировал себе именно сам енкодер.
Ну если был scenechange, то даже если libvpx не поставит I-фрейм, преимущества это ему дать не должно.
А разве scenechange это не специфичная для 264 штука? Я же говорю, иногда приходится реенкодить, скажем, vp9 источник.
Я использовал в смысле смены сцены/ракурса видео, когда совсем другая картинка и не с чего делать motion prediction.
Можно сделать P-кадр из одних intra-блоков, но выгоды по битрейту это не даст. Или не делать пока кейфрейм, т.к. в теории предыдущие референсы могут пригодиться через десяток кадров, но это маловероятно.
>Я использовал в смысле смены сцены/ракурса видео, когда совсем другая картинка и не с чего делать motion prediction.
Погоди, но как это определить по исходнику, не парся лог с первого прохода?
Для vapoursynth есть плагины:
https://github.com/dubhater/vapoursynth-scxvid
https://github.com/dubhater/vapoursynth-wwxd
https://forum.doom9.org/showthread.php?t=166769
Или через ffmpeg:
https://stackoverflow.com/questions/35675529/using-ffmpeg-how-to-do-a-scene-change-detection-with-timecode
Или тупо использовать GOP от предыдущего энкода, т.к. скорее всего они как раз разрезаны по scenechange.
>а зачем ты предложил делать сравнение енкодеров именно на 20М битрейте
Чтобы H.264 не обосрался, очевидно же, он же на x264 надрачивает и до сих пор верит, что лучше него ничего не придумали.
20M это почти как на блюрее.
Я не буду как ты. Не буду делать предположений о том, что привело тебя к ошибочному мнению. А ты мог бы просто спросить.
> Чтобы H.264 не обосрался, очевидно же
> он же на x264 надрачивает и до сих пор верит, что лучше него ничего не придумали.
Эротические фантазии, как они есть.
Впрочем, я был бы не я, если бы не расстроил тебя скучной правдой жизни.
Сам стандарт H.264 сегодня имеет достаточно реализаций, достигших сходных результатов по эффективности кодирования и вычислительной эффективности, из чего можно сделать вывод о том, что ожидать прорывных или вообще существенных подвижек в показателях для реализаций можно с крайне малой вероятностью. Другими словами, развитие стандарта окончено, стандарт и его реализации достигли зрелости, и одной из наиболее эффективных (на x86-ой платформе) реализацией является библиотека libx264, от характеристик которой сегодня можно отталкиваться как от опоры. В пользу признания libx264 в качестве опоры могу привести также следующие аргументы:
- широко известны и весьма широко же распространены результаты работы этой библиотеки;
- библиотека очень широко доступна и у большого множества экспертов есть опыт работы с ней.
Т. е. если сегодня и сравнивать результаты работы новых библиотек кодеров, то сравнивать с libx264.
>>454776
> а зачем ты предложил делать сравнение енкодеров именно на 20М битрейте?
Экспертным путём прикинул ширину потока на 10...20 дБ SSIM. Это очень суровый для поисковика движения ролик, там компактного представления не имеет ни картина векторов движения, ни картина коэффициентов преобразования. Этот ролик просто перегружен для кодеков с компенсацией движения, следовательно, на типовую ширину потока для «среднего по больнице» большого (т. е. содержащего достаточное число и крупных планов и статичных сцен) видеоматериала и проверять смысле нет, потому, как меня интересует видео, а не месиво из блоков и мыла.
> Не логичнее ли было бы сравнивать кодеры там, где визуальные отличия более заметны, скажем, на 5М или даже 1-2М для данного 1920@50 исходника?
Я считаю, что ниже 10 дБ SSIM, в большинстве случаев, говорить о качестве бессмысленно. Картинка на вид не будет выглядеть хорошо: как минимум, текстуры будут смяты, вокруг резких границ будет звон или мыло, а из под движущихся объектов будет вместо фона с текстурой обнажаться шлейф искажений. Есть ли смысл такое рассматривать вариант эффективного высококачественного видео высокой чёткости 1920×1080@50? Я считаю, что есть, но число технический — для исследования робастности оптимизаторов из составе кодировщика.
> визуальные отличия более заметны
Для практических применений, я считаю, следует использовать те режимы, в которых «визуальные отличия» едва заметны или хотя бы в глаза не бросаются.
Я не буду как ты. Не буду делать предположений о том, что привело тебя к ошибочному мнению. А ты мог бы просто спросить.
> Чтобы H.264 не обосрался, очевидно же
> он же на x264 надрачивает и до сих пор верит, что лучше него ничего не придумали.
Эротические фантазии, как они есть.
Впрочем, я был бы не я, если бы не расстроил тебя скучной правдой жизни.
Сам стандарт H.264 сегодня имеет достаточно реализаций, достигших сходных результатов по эффективности кодирования и вычислительной эффективности, из чего можно сделать вывод о том, что ожидать прорывных или вообще существенных подвижек в показателях для реализаций можно с крайне малой вероятностью. Другими словами, развитие стандарта окончено, стандарт и его реализации достигли зрелости, и одной из наиболее эффективных (на x86-ой платформе) реализацией является библиотека libx264, от характеристик которой сегодня можно отталкиваться как от опоры. В пользу признания libx264 в качестве опоры могу привести также следующие аргументы:
- широко известны и весьма широко же распространены результаты работы этой библиотеки;
- библиотека очень широко доступна и у большого множества экспертов есть опыт работы с ней.
Т. е. если сегодня и сравнивать результаты работы новых библиотек кодеров, то сравнивать с libx264.
>>454776
> а зачем ты предложил делать сравнение енкодеров именно на 20М битрейте?
Экспертным путём прикинул ширину потока на 10...20 дБ SSIM. Это очень суровый для поисковика движения ролик, там компактного представления не имеет ни картина векторов движения, ни картина коэффициентов преобразования. Этот ролик просто перегружен для кодеков с компенсацией движения, следовательно, на типовую ширину потока для «среднего по больнице» большого (т. е. содержащего достаточное число и крупных планов и статичных сцен) видеоматериала и проверять смысле нет, потому, как меня интересует видео, а не месиво из блоков и мыла.
> Не логичнее ли было бы сравнивать кодеры там, где визуальные отличия более заметны, скажем, на 5М или даже 1-2М для данного 1920@50 исходника?
Я считаю, что ниже 10 дБ SSIM, в большинстве случаев, говорить о качестве бессмысленно. Картинка на вид не будет выглядеть хорошо: как минимум, текстуры будут смяты, вокруг резких границ будет звон или мыло, а из под движущихся объектов будет вместо фона с текстурой обнажаться шлейф искажений. Есть ли смысл такое рассматривать вариант эффективного высококачественного видео высокой чёткости 1920×1080@50? Я считаю, что есть, но число технический — для исследования робастности оптимизаторов из составе кодировщика.
> визуальные отличия более заметны
Для практических применений, я считаю, следует использовать те режимы, в которых «визуальные отличия» едва заметны или хотя бы в глаза не бросаются.
>Вот это глубокaя философскaя мысль
^_^ ☝️
>с кaждой новой я использовaл нaрaботки прeдыдущиx и продвигaлся всe дaльшe
тaк и нaдо брaтишкa, чистоe нeзaмутнeнноe дрочeво ммм
>полностью прозрaчной иконкой и зaгрузив в рeжимe рaзрaботчикa
лол, a ты шaришь)
нa сaмом дeлe я просто включил тогл в нaстройкax вивaльдeвыx, a с ним нeльзя было xaйдить иконки, щaс погуглил отключил и всe норм, жить можно, но мнe всeгдa мaло :3
нaxуй aдрeс бaр, мeчтaю о пaймeню брaузeрe, eсли чeрeз пaру лeт нe выпустят буду сaм пилить, что бы бeз говнa, только исключитeльно вaжнaя информaция пeрeд глaзaми с 0ДцБ шумa
Я рад, что остальное возражений не вызвало.
Уточню:
> в котором в одном из медленных режимов vp9 (libvpx) и h.264 (libx264) идут вровень
На простом видосе (танцующий человек в помещении) где-то 0.2 fps (100 кадров за 8 минут).
На видосе посложнее (взлетающие утки) примерно 0.1 fps (100 кадров за 14 минут).
Вполне терпимо. Настройки такие:
-cpu-used 4 -crf 25 -pass 2 -threads 8 -tile-columns 2 -tile-rows 2 -row-mt 1
Правда не уверен, что libaom-av1 speed=4 лучше, чем libvpx-vp9 speed=1, надо будет метрики посмотреть. Ну ускорят со временем. Вон быстрый декодер уже написали только для AVX2, собаки.
Не, AV1 лучше VP9 на том же CRF (40 для уток, а то они сложные). Удивительно даже.
Правда, есть кадры, где VP9 лучше, видимо CRF по-разному ещё работает. Надо смотреть распределение метрик по кадрам. Но у VP9 кадров, где он хуже, вроде больше. Скорость выше ~ в 17 раз (2fps).
так-то да, CRF безотносительно кодека сравнивать не имеет смысла, изучай метрики
Кстати, VVC уже добавили в media-autobuild_suite.
Через него очень удобно собирать медиасофт на винде из гита. Там можно и патчи наложить, и свои настройки конфигурации.
>media-autobuild_suite
Оно там сломано - как раз пытаюсь всеми возможными способами сейчас собрать свой ффмпег с вмафом, ну и с ввц уж заодно.
Какие-то пакеты иногда ломаются, это нормально. Там их много и они из гита.
Добавь строчку "--disable-gnutls" в ffmeg_options.txt.
Лол у меня этот пакет дольше компилится, чем он его фиксил. Сейчас посмотрим, куда оно упрётся теперь.
>Этот португалец очень крутой, реактивный.
Алсо это же не автор, а кто-то из кураторов проекта или как их там называют на гите?
А, ок. Реально реактивный. Сейчас я ему ещё одну ищщую тогда влеплю, там этот батник в одном месте подвисает и надо вручную делать подтверждение установки.
Вообще, хотелось бы, конечно, вручную чтобы оно нормально ставилось. Но я пытался сам по инструкции собрать ффмпег через MSYS2, но оно по-первых собирается с зависимостями от minwg-шных библиотек, а во-вторых, когда их отвязываешь, оно тупо не запускается под хостовой виндой, хотя в MSYS2 всё ок.
Забавно при этом, что этот самый media-autobuild_suite использует как раз эту самую MSYS2, т.е. задача, по идее, имеет решение...
Возможно потому что mabs статиком подлинковывает mingw-шные библиотеки, хз. На винде вообще довольно запарно юниксовый софт собирать, не приспособлена система для этого.
Говорят в WSL получше (это убунта внутри винды, но на выходе обычные PE бинарники), но я не пробовал.
>Возможно потому что mabs статиком подлинковывает mingw-шные библиотеки, хз
Да, очевидно, именно это она и делает. Вот я и пытаюсь понять, как это сделать самому.
>На винде вообще довольно запарно юниксовый софт собирать, не приспособлена система для этого.
Есть такое. И я удивлён, что до сих пор нет отлаженного софта для этого дела.
>И я удивлён, что до сих пор нет отлаженного софта для этого дела.
Микрософту больше интересны решения на основе visual studio/cmake/clang, поддержкой POSIX-утилит и gcc/libc, которые требует софт, ориентированный на линукс, они не занимаются. Есть вот cygwin/msys от энтузиастов, но работают они не всегда хорошо.
Они вот такое недавно запилили, как раз продолжение их политики: https://github.com/Microsoft/vcpkg
Вроде по первому ощущению классная штука, но линукует всё со студийным рантаймом. Я хотел для Go на винде зависимости так собирать, а фиг, потому что Go хочет mingw на винде.
>media-autobuild_suite
Такое чувство, что им очень давно никто не пользовался. Или пользовались люди, уже хорошо знакомые с MSYS2. Чувствую, я сейчас им там все скрипты хорошо актуализирую лол, если мы всё же доразберёмся со всеми багами.
Хотя параллельно попробую сейчас всё же вручную сам по MSYS2/MinGW инструкциям что-нибудь пособирать.
Я постоянно пользуюсь. И многие другие, тот же Selur, который автор Hybrid. Просто некоторые пакеты переодически ломаются. Если не включать всё подряд, то работает достаточно стабильно.
Ты давно уже мог выключить gnutls, там вместо него другие бэкэды SSL можно использовать. Я его например не собираю.
>Ты давно уже мог выключить gnutls, там вместо него другие бэкэды SSL можно использовать
Ну, в прошлый раз всё тоже в него всё упёрлось, >>458094 но как-то всё быстро разрулилось. Я просто думал, что это какая-то системная штука, которая самому скрипту нужна для работы.
Где она вообще используется в самом ффмпеге? Он же офлайновый насквозь.
Сейчас попробую без него собрать.
>Где она вообще используется в самом ффмпеге? Он же офлайновый насквозь.
Бэкэнд SSL для поддержки HTTPS.
Не оффлайный, ты можешь запустить ffmpeg -i https://2ch.hk/s/src/2302860/15459507080970.webm (М) out.mp4 и он будет конвертировать вебмку в H.264, на лету скачивая её по сети. Т.к. SSL довольно сложный протокол, чтобы не переизобретать велосипед (хотя они любят), используется внешняя библиотека. Там есть поддержка openssl, gnutls, gcrypt и ещё парочки других. Я schannel использую, это вендовое API, не требует внешних библиотек и с ним билд меньшего размера должен выходить. Тебе размер не критичен, но раз gnutls сломан, используй любую другую. Можно вообще без поддержки SSL собирать.
>Можно вообще без поддержки SSL собирать.
Ну в общем-то да, у меня всё строго локально происходит.
https://github.com/FFmpeg/FFmpeg/blob/master/configure#L3338
Надо добавить в опции ffmpeg
--disable-gnutls
--disable-openssl
--disable-schannel
--disable-securetransport
--disable-libtls
--disable-mbedtls
Ещё --disable-gcrypt можно. Почитай configure скрипт, там очень много всего интересного.
MABS читает файлик с опциями ffmpeg и в зависимости от того, что так включено/выключено, подтягивает зависимости. Ещё часть зависимостей включается отдельно, через визард при запуске. Типо всяких mpv и rav1e.
>Почитай configure скрипт, там очень много всего интересного.
Увы, мне от него ни холодно ни жарко - я совсем нью в этих никсовых делах.
> подтягивает зависимости.
Вот кстати да, мне кажется, он этот тлс подтягивает ещё тупо по зависимостям. Где можно посмотреть, какие пакеты за что цепляются? Какой командой?
Кстати, есть ли какая-то возможность почистить только конфиг этого самого mabs-а? Чтобы он не перекачивал и не переставлял всю систему каждый раз. А то я каждый раз всю папку целиком сношу и накатываю заново и это очень долго происходит. Мне бы сбросить скрипт просто на момент, когда он спрашивает, что мне надо поставить... И чтобы уже тупо проверял, надо ли ему что-то докачать или у него уже всё есть.
>Увы, мне от него ни холодно ни жарко - я совсем нью в этих никсовых делах.
Ну просто чтобы видеть какие возможности есть. Вот здесь например https://github.com/FFmpeg/FFmpeg/blob/master/configure#L188 описаны все внешние библиотеки, которые поддерживаются.
> Где можно посмотреть, какие пакеты за что цепляются?
Только в исходнике. Вот здесь например https://github.com/jb-alvarado/media-autobuild_suite/blob/master/build/media-suite_compile.sh#L284 видно, что gnutls подтащится, если в ffmpeg включены gnutls или librtmp, или если нужен rtmpdump, или если бэкэнд курла gnutls.
>Кстати, есть ли какая-то возможность почистить только конфиг этого самого mabs-а?
Удалить media-autobuild_suite.ini из build.
>Только в исходнике. Вот здесь например https://github.com/jb-alvarado/media-autobuild_suite/blob/master/build/media-suite_compile.sh#L284 видно, что gnutls подтащится, если в ffmpeg включены gnutls или librtmp, или если нужен rtmpdump, или если бэкэнд курла gnutls.
Оххх, это как-то глубоко. А где-нибудь хотя бы в заголовках нельзя посмотреть, что какая-то библиотека линкуется к этой? Я имею в виду, ну вот гит же сам по себе как-то же понимает, что у этой библиотеки есть такие-то зависимости и сам их подтягивает. Он же не парсит весь код насквозь.
Не очень понял, но git clone конкретной зависимости запускается с помощью скриптов mabs, а не наоборот. Вот эти все строчки где "do_vcs" и дальше путь к git-репозиторию клонируют его код и затем собирают.
Не обязательно сразу в это полностью вникать, просто отключи ненужное и должно заработать. У тебя же в ffmpeg_options:
$ grep gnutls ffmpeg_options.txt
--enable-gnutls
Поэтому она и подтягивается.
У тебя вообще конфиг ffmpeg самый полный (zeranoe+full), оно у тебя будет так десять лет собирать все зависимости и вполне вероятно где-нибудь ещё сломается. Закомментируй всё, что после Zeranoe и откомментируй нужное.
fontconfig/libass/libfreetype/gpl/libaom скорее всего пригодится, а остальное вряд ли.
В mpv тоже дофига всего.
А, блин, точно, это же сам скрипт. Мне почему-то показалось, что это код какого-то файла этого самого gnutls.
Да, тогда, пожалуй, всё достаточно логично. Хотя всё равно для меня не совсем очевидно было бы без твоей подсказки, что из этой каши башевского скрипта (или на чём это написано?) является зависимостью чего.
Ладно, пока оно проскочило то место, слава Богу. Посмотрим, во что упрётся теперь.
Да я что-то пожадничал, да. Не смог удержаться от альтернативных av1-кодеков - всё такое интересненькое... Ну и там понеслось. Я выключил только что я вообще не знаю, что это такое. Остальное прямо интересно потыкать самую последнюю версию.
>что из этой каши башевского скрипта (или на чём это написано?) является зависимостью чего.
Я тоже в нём не всё понимаю, он довольно кошмарный и корявый. Но под винду выбор не велик, если хочется из гита собирать.
>под винду выбор не велик, если хочется из гита собирать.
Я сейчас попытаюсь параллельно накатить собственный MSYS2 и попердолиться из него вручную, пока там скрипт собирает мой бесконечный конфиг. Всё же автоматика дело хорошее, но хочется понимать, что творит эта адская машина... Вообще не в курсе, как там, MSYS2 нормальная среда для компиляции всякого линуксового софта под винду? В документации сказано, что есть ещё просто MSYS, но его не рекомендуют... И можно накатить ещё чистый MinGW, но там нужно его по-хитрому вкручивать в систему, а я хочу такие линуксовые приколы максимально локализовать, чтобы оно на выходе мне компилило полностью статические стенделоновые виндовые экзешники.
msys2 нормальный, он мне больше всего из доступных нравится. Т.к. там пакетный менеджер (pacman) удобный и пакеты довольно часто обновляются.
Руками в принципе не сложно всё настроить - поставил всякие gcc/make/pkgconfig через pacman, склонировал репу и просто запустить ./configure&&make. Но когда зависимостей штук 10 и все хочется новые из гита, это быстро надоедает. Собственно, mabs это просто такой автоматизированный набор из клонов и сборок каждой софтины по очереди.
>Т.к. там пакетный менеджер (pacman) удобный и пакеты довольно часто обновляются.
Можешь рассказать про пакеты, кстати? Зачем они там нужны вообще, если всё можно собрать из гита. Я пока не очень ориентируюсь в этой никсовой логике.
>Собственно, mabs это просто такой автоматизированный набор из клонов и сборок каждой софтины по очереди.
>>459161
>Удалить media-autobuild_suite.ini из build.
Кстати, как вообще в будущем поддерживать свою сборку ффмпега up-to-date? Точно так же, просто удалять media-autobuild_suite.ini или можно как-то запустить сборку и обновление зависимостей по уже имеющимся настройкам? Там в конце настройки скрипт предлагает сгенерировать какие-то скрипты для обновления - это что вообще?
Быстрее/проще. Пакеты это прекомпилированные бинарники, которые кто-то собрал за тебя. Там просто скачивается архив и раскатывается на файловую систему. Ну и всё не соберёшь, без базовых компилера/autotools/make/прочих утилит у тебя не получится собирать другие пакеты.
В mabs часть зависимостей через пакеты ставится, например vorbis. Скорее всего потому что разработка уже не ведётся активно и нет смысла, стабильная версия из репозитория и так нормальная. А вот opus из гита, т.к. туда активно коммитят.
Мне нравится гибридный подход, я собираю из гита только то, что мне точно нужно последнее (libvpx/aom/ffmpeg/mpv и т.д.). А остальное всё стабильных версий, какой-нибудь freetype там например. Мне без разницы что они там с рендерингом шрифтов делают, я этим не занимаюсь. Ну это у меня на локальной системе, в mabs нельзя выбирать между гитом/пакетом.
>>459195
>Точно так же, просто удалять media-autobuild_suite.ini
Нет, не надо, это настройки сбросит. Просто запустить ещё раз media-autobuild_suite.bat и он сам пересоберёт обновившиеся пакеты.
>Там в конце настройки скрипт предлагает сгенерировать какие-то скрипты для обновления - это что вообще?
Не помню. Возможно это про update_suite.sh. Он нужен, да, он будет сам всё обновлять как раз.
Вот здесь дока есть по обновлениям: https://github.com/jb-alvarado/media-autobuild_suite/blob/master/doc/updating.md
>Вот здесь дока есть по обновлениям: https://github.com/jb-alvarado/media-autobuild_suite/blob/master/doc/updating.md
О, то, что надо. Спасибо.
У меня ещё вопрос чисто по организации папок в никсах. Где почитать про нормальную организацию всех этих /etc/, /dev/, /usr/, /home/ и т.д.? А то я в прошлые разы в MSYS2 сваливал все файлы из гита в корень и компилил туда же, но чувствую, что что-то я делал не так. Как оно тут принято у вас?
Ну и есть ещё такое понятие как стабильность. Версия в гите может часто ломаться, либо конфликтовать с другими пакетами, просто такое свойство разработки программного обеспечения. Меняются API, люди делают ошибки и т.д.
Соответственно, если у тебя вообще всё из гита, то как только пакетов станет штук 50, у тебя точно будет что-нибудь ломаться. Пакеты обычно фиксируются на какой-то версии и риск поломок меньше. (Из гита тоже можно по тэгу собирать, я имею ввиду git master.) Но тоже есть, если пакетов больше 200. В archlinux вот очень быстро обновляют пакеты после каждого релиза и периодически система ломается.
Ну на 10-20 пакетах в изолированном окружении эти проблемы не должны проявляться. В том же ffmpeg гит почти никода не ломают, только на новых мажорных релизах меняют API и не все программы быстро на него обновляют.
>>459200
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
>>459196
Я сейчас читаю https://github.com/msys2/msys2/wiki , но там, кажется, описывают только особенности самого мсиса и таких базовых вещей там нет.
Ещё раз спасибо >>459173>>459161>>459134>>459115 !
Надеюсь, оно там нормально собралось и не будет нещадно тормозить, как это бывает, когда сам собираешь MSVC-шные проекты. Наконец-то можно покатать метрики по своим семплам новые.
Поздравляю. Потести libaom в мультитреде, мне интересно сколько у тебя fps будет.
Ща. У меня тут весело: VP9 из новой сборки показывает хуже VMAF, чем старый зераноевский. Хотя SSIM лучше. Но это на коротких микро-семплах, сейчас попробую 1,5 минуты прогнать. Он долго считается - метрика медленнее работает, чем кодер лол.
У zeranoe libvpx-20181017-2b838d9, за 3 месяца могли что-то сломать.
Ещё надо опции смотреть, у него такие (можно в бинарнике найти):
--prefix=/Users/kyle/software/libvpx/win64/libvpx-20181017-2b838d9-win64 --enable-vp9-highbitdepth --disable-avx512 --target=x86_64-win64-gcc
Ну гугловцы вроде прогоняют на всём метрики, не должны ломать качество. Вот производительность могут ухудшить, такое уже было. Или могут чуть-чуть ухудшить качество в угоду производительности.
Не, производительность сейчас как раз в 1,5 раза просела тоже. Файл тоже меньше стал, но вот то, что метрика при этом ухудшилась - мне не нравится.
Попробуй пересобрать libvpx и ffmpeg без этой строчки: https://github.com/jb-alvarado/media-autobuild_suite/blob/33d6660/build/media-suite_compile.sh#L846
postproc вроде замедляет скорость, а фичи оттуда почти никто не использует. highbitdepth точно замедляет, но у Zeranoe он есть и без него 10-битные вебмки нельзя делать. Но если это не нужно, то без него будет тоже быстрее.
>Файл тоже меньше стал, но вот то, что метрика при этом ухудшилась
Это нормально. Метрики надо всегда сравнивать на одинаковых по размеру файлах, иначе она ничего не показывает. И желательно на одинаковых по времени энкодах, если возможно. Либо добавлять ещё одну ось в график, отображающую время кодирования. Потому что качество это трейдофф от скорость + битрейт, а не только битрейт.
>Это нормально. Метрики надо всегда сравнивать на одинаковых по размеру файлах, иначе она ничего не показывает.
Ну так-то да. Но там разница в 2% получилась по размеру, т.е. не так существенно. Метрика тоже, конечно, весьма абстрактная цифра.
Сейчас попробую выравнять размеры и тогда сравнить.
Суть просто в том, что кодировал я оба файла с одинаковыми настройками, в т.ч. и по битрейту.
Ну рейтконтроль тоже может меняться, либо просто элемент рандома. Хотя 2% это довольно мало, да.
Можно ещё собрать libvpx той же ревезии и проверить, что результаты похожие (файлы скорее всего будут разные из-за мультитрединга в любом случае), чтобы удостовериться, что это не косяк сборки. Там надо просто добавить #commit=2b838d9 в строчку где do_vcs, перед закрывающейся кавычкой, чтобы он нужную ревизию счекаутил перед сборкой.
Плохо, что в mabs нет поддержки шаред libvpx. Она всего минуту собирается, а ффмпег минут 15 минимум. Для частых экспериментов это не очень подходит.
Разве что можно через vpxenc тестировать, тогда пересобирать ffmpeg не надо.
>в строчку где do_vcs
Какую именно ты имеешь в виду? https://github.com/jb-alvarado/media-autobuild_suite/blob/33d6660/build/media-suite_compile.sh#L838 эту? Там их просто много и я не очень ориентируюсь пока в этом скрипте.
>Кстати, а где именно ты подсмотрел его номер?
В бинарник вшито (ffmpeg.exe). Просто ищешь строчку vp9-highbitdepth внутри бинарника.
Ну ещё здесь есть: https://ffmpeg.zeranoe.com/builds/readme/win64/static/ffmpeg-20190110-395e8a5-win64-static-readme.txt Но опции сборки так не посмотреть.
>Ну ещё здесь есть: https://ffmpeg.zeranoe.com/builds/readme/win64/static/ffmpeg-20190110-395e8a5-win64-static-readme.txt
О, точно, нашёл.
У меня, правда, была 4.1 стабильная версия, но впх и там и там одинаковый, я смотрю.
А в скачанном гите build/libvpx-git где-нибудь можно проверить, что он утянул именно правильный коммит?
git rev-parse HEAD внутри каталога репы
>>Написана на Си и ассемблер
>Вообще, из этого автоматически портируемость не следует.
Поц. Там на x86 asm написаны части для оптимизации под SIMD, в местах где интринсики не работают нормально.
Сначала напиши что-то сам, дебил блядь.
>Можно ещё собрать libvpx той же ревезии и проверить, что результаты похожие (файлы скорее всего будут разные из-за мультитрединга в любом случае), чтобы удостовериться, что это не косяк сборки
Пересобрал целиком свою сборку с 2b838d9 впх и перекодировал свой семпл. В общем, да, получил на выходе идентичный с точностью до байта и до последней цифры во всех метриках файл. Контрольные суммы разве что разные. Время кодирования вышло на 6% больше, но я запускаю кодирующий скрипт на start /low encode.bat, т.ч. там что угодно могло его затормозить.
Т.ч. со сборкой всё в порядке и это именно что-то в 6b02a12 впх накуралесили с качеством.
Я бы, конечно, прошёлся по всем коммитам и посмотрел, кто из них чего стоит, но без автоматизации вручную это делать нереально. Т.ч. пока, пожалуй, останусь на 2b838d9 версии.
>Плохо, что в mabs нет поддержки шаред libvpx. Она всего минуту собирается, а ффмпег минут 15 минимум. Для частых экспериментов это не очень подходит.
Ну, в общем-то, для частых экспериментов можно сделать специальный media-autobuild_suite.ini, где вырезать вообще всё, кроме нужного кодера - и подкладывать его по мере необходимости. А потом уже менять на основной, когда убедишься в том, что хочешь собирать.
>Плохо, что в mabs нет поддержки шаред libvpx. Она всего минуту собирается, а ффмпег минут 15 минимум. Для частых экспериментов это не очень подходит.
Ещё, кстати, хороший вопрос в том, насколько действительно репрезентабильна метрика вмафа с дефолтной vmaf_v0.6.1.pkl моделью. Это же нейросеть, я правильно понимаю? Есть где-нибудь описание, что каждая из моделей делает?
>Она всего минуту собирается
Затестил сейчас, кстати, свою идею >>459635
>Ну, в общем-то, для частых экспериментов можно сделать специальный media-autobuild_suite.ini, где вырезать вообще всё, кроме нужного кодера
в общем, получилось, что 6 минут собирается vpx и ещё 22 - ффмпег, в сумме полчаса на это можно класть спокойно лол. Не очень оперативно, мда.
>Я бы, конечно, прошёлся по всем коммитам и посмотрел, кто из них чего стоит, но без автоматизации вручную это делать нереально
Каждый не надо, надо использовать двоичный поиск, всего log2(число коммитов). git bisect утилита для этого как раз написана.
Можно найти коммит, ухудшающий качество и зарепортить в их багтрекер. Хотя я им репортил замедление, а они тупо проигнорили.
Да, нейросетка, которую нетфликс на своих видосах тренировал (1080p вроде). Правда мне тут говорили, что она довольно сильно коррелирует с psnr, что как бы сигнализирует о слабой достоверности этой метрики.
Все сразу + субъективная (глазами). Когда daala разрабатывали, у них периодически менялась "любимая" метрика. Вначале fastssim, потом psnrhvs что ли. Т.е. они все по-разному реагируют на артефакты от разных фич энкодера. Кто-то не замечает мыло (psnr), кому-то наверно всякие искажения от deringing фильтров больше нравятся. Идеальной метрики нет, даже если глазами смотреть, люди могут по-разному оценивать.
А какие метрики оценивают картинку в динамике, а не тупо сравнивают их покадрово? Я пробежался по описанию вмафа, но, кажется, он работает так же, тупо агрегирует несколько разных параметров.
Хз, не знаю такой. Только глазами наверно.
>Format settings : CABAC / 4 Ref Frames
Этот собак на что-то влияет? У меня автоматом проставилось 4, в исходном файле было 15. Картинка ну никак не поменялась на первый взгляд, а файл стал в два раза меньше. Нужно ли принудительно вернуть 15 или и так сойдет? Смотреть собираюсь на мобилке.
С чем это может быть связано?
Ебать он там релизы клепает конечно. По несколько раз в месяц.
Ух, и правда раздухарился. Ещё недавно вот была 6 классическая версия.
Не понял, как с помощью этой штуки собрать файлы. Главы удобно добавлять. В общем то, в консольке тоже удобно, если знать нужные команды.
В один файл не собрать, это да. Этот тул может замерджить и извлечь дорожки, без проблем с -map, и вообще понагляднее.
Больше для метаданных. Имхо, это не та операция, которую удобно делать из консольки.
Но если ты придрочился, то да. Пользуй то, что тебе удобнее
> Этот собак на что-то влияет?
Стандарт h.264 допускает два энтропийных (объяснять надо?) кодера — CAVLC и CABAC. CABAC более сложный, но и более эффективный. CABAC допускается для профилей от Main. И уже от Main есть смысл использовать только его. Посему в библиотеке libx264, насколько помню, оптимизатор RDO для модуля контроля ширины потока требует CABAC, и оптимизатор Trellis в модуле квантизации только с CABAC работает.
Алсо,
> 4 Ref Frames
Это не CABAC. Это совсем другая опция.
Это ограничение на количество ссылочных кадров. Т. е. для любого (закодированного) кадра наибольшее число уже раскодированных кадров, необходимых для раскодирования текущего, в твоём случае будет 4. На практике крайне редко можно столкнуться с решением поисковика движения, для которого найдено более 6-8 ссылочных кадров. А после 4 ссылочных кадров эффективность сжатия почти не растёт, зато быстро растут требования к видеобуферу (в котором раскодированне кадры хранить) при воспроизведении.
Польза/вред, оптимальные параметры, особенно интересует возможный парсинг кейфреймов исходника и насильную их установку, с этим сложнее, ффмпег может выставлять флаг форс фрейма в "любом" месте, на деле обосерается >>460705
Обсирается из-за предполагаемой ошибки, в том месте, где я пытаюсь ставить форс фрейм, в режиме auto ставится кейфрейм самим vp9, но при попытке установить его там силой, не ставит, но такие ошибки редки, причину понять пока не пытался особо.
Вообще попробую в vpxenc удалить ограничение на использование kf-min-dist, но не думаю, что поможет.
tl;dr vp9 частит с ключевыми кадрами, т.к. не обладает в достаточной мере хорошим алгоритмом предсказания их полезности. Грубо говоря выгоднее сделать кейфрайм или закодировать разницу с текущим, я так понимаю это работает. В итоге бывает 3 кейфрейма подряд и тому подобные идиотии. Хочется заставить работать kf-min-dist, которым может быть либо 0, либо равен kf-max-dist. При 0 энкодер расставляет ключевые кадры в авторежиме, при равном kf-max-dist в режиме постоянного гопа, забавный момент, если использовать флаг disable-kf, он все равно будет форсировать гоп, указанный в kf-max-dist не будет только авторасстановки, т.е --kf-min-dist=0 --kf-min-dist=128 --disable-kf работают аналогично --kf-min-dist=128 --kf-min-dist=128
Какое же говно этот vp, просто шок.
800x585, 4:25
>Какое же говно этот vp, просто шок.
ты че пес я тебя порежу кодек от народа
А чего, собственно, ты хочешь добиться-то? Из всего твоего пассажа я увидел только некоторые твои наблюдения.
Я хз что там происходит с форсированной установкой и-кадров (не помню, кстати, в терминологии вп вообще остались ещё кейфреймы?), но если тебе прямо так горит, как насчёт нарезать исходник прямо физически ffmpeg -to 1 -c copy part1 / ffmpeg -ss 1 -c copy part2 тогда? Потом закодировать их отдельно и замусить без перекодирования в один файл (не помню наизусть строчку).
Меня в отношении гопов в вп заёбывают только аутисты, которые узнали про них и считают себя ниибаца умными, кодируя с -g 9999 и получая на выходе пикрил (не оценив разницу в размерах хотя бы с дефолтными 128), который потом адекватным людям приходится пережимать для употребления и дальнейшего распространения.
Впрочем, насчёт распиздяйского отношения вп к параметрам у меня тоже горит. Вроде бы как параметры кое-как и описаны, но в разных местах по-разному и хз где правда, а где нет. И вроде бы параметр есть, но вот начинаешь его гонять туда-сюда, а оказывается, что он только для 1 прохода. Или только для двух. Или включается в работу только когда другой параметр принимает значения в заданном диапазоне. Или вообще учитывается пошёл ты нахуй вот когда он учитывается.
Самая писечка ещё, что в вп (9 точно) есть ещё встроенный рандом. Специально не проверял, но в памяти отложилось, как я тестил auto-alt-ref и =0 и =1 давали одинаковый файл, но когда я переключился снова на =0, оно дало другой файл по контрольной сумме и артефакты были разбросаны по-другому. Т.ч. эта хуйня ещё и не детерминирована пиздос.
> кодек от народа
264 от doom9 был и есть кодек от народа на деньги корпорации, vp так и останется туалетной уткой
> но если тебе прямо так горит, как насчёт нарезать исходник прямо физически
- Увеличит вес за счет мусорных заголовков
- Ухудшит работу расстановщика альтрефов/золотых кадров, кроме как если резать по ним, но доступа к ним у меня нет, некоторые полагают, они есть в логе первого прохода.
- Ухудшит работу моих темпоральных фильтров, а может и нет, они то не vp
> не оценив разницу в размерах
А разницу в качестве ты оценил? Кодирование с -g 99999 не уменьшает количество ключевых кадров при двухпроходном кодировании не статичного видео, т.к. ты указываешь максимальный гоп, а vp ставит кадры по его мнению там, где надо и не очень то и часто гоп в 128 перепрыгивает. По поводу статики 1/2/3 ключевых кадра, дальше экстраполируй, я статикой не занимаюсь, но лучше или fps ниже ноля, что повлияет на воспроизведение в некоторых плеерах/браузерах, лучше всего vfr, не видел пока с ним проблемделай в 264 просто
Про рандом не в курсе, у меня результаты повторяемые.
> А чего, собственно, ты хочешь добиться-то
Работоспособности kf-min-dist, как в 264 keyint_minработает, вот так и тут хочу чтобы работало, чтобы не совало мне десяток ключевых фреймов подряд.
> Кодирование с -g 99999 не уменьшает количество ключевых кадров при двухпроходном кодировании не статичного видео
Ну, в случае, если аутист не делает вот так -keyint_min 999999 -g 999999 а такого в гайде на том сайте нет.
>Увеличит вес за счет мусорных заголовков
Можно подробнее, о чём речь? Там же все заголовки заново переписываются, ффмпег умеет напрямую вливать равную видеодату.
Быстрее и проще тебе сшить два mp4 в которых есть "Encoding settings", открыть хекс редактором и поискать.
>x264 is a widely used open source implementation of the heavily patent encumbered MPEG-4 AVC media format.
Читаю тут всякое про кодеки и мне вот чисто из спортивного интереса: как у них там правовая система работает, что вот вроде бы стандарт закрытый и платный, но делать кодеки для него можно вроде как открытые и никому ничего за это не будет. На что именно распространяются патентные ограничения авц и хевка?
avc разрешен к бесплатному распространению в сети интернет, любая продажа контента в avc должна сопровождаться передачей маржи la mpeg, а вообще оплата до начала продаж, как я понимаю.
С хевком хз, по идее нельзя и размещать(?), но это никого не останавливает, а если бы энтузиасты занимались этим с момента его выхода, la mpeg мог бы раньше разрешить бесплатное распространение и бравзера бы не стали в позу, как сейчас и не позакрывали вопросы связанные с поддержкой 265, но la mpeg такой подарок гуглу делать явно не хотел. Это так, обывательский взгляд.
Пиздос там у белых людей проблемы с лицензиями и интеллектуальной собственностью хех мда как будто живу в 2д мире и пытаюсь понять 3е измерение. Ну да ладно.
Люди хотят получать деньги за создание годноты, а уж как потом это оборачивается в "стекла прямоугольной формы с закруглениями" и прочие говнопатенты всяких эпл это такое.
Стандарт открытый, основную прибыль гребут с производителей мобил и крупных контент-провайдеров. Распространение авц в интернете бесплатное. После релиза хевц, владельцы патентов пожадничали, хотели брать деньги и за распространение. Все дико охуели и так появилась aomedia.
Нас это как бы не касается, но т.к. патентное право на алгоритмы большинством крупных производителей соблюдается (просто закладывается в стоимость чипа) и там крутятся большие деньги, по сути влияет на весь остальной мир. Вот не захотели Google/Mozilla платить за HEVC (мозилле вроде и не зачем на самом деле, хз, чего они там, наверно за компанию), теперь ни у кого в браузере он не играется.
Самое смешное, что ты можешь спокойно скачать подробнейшную спеку и доки по HEVC совершенно бесплатно, но не можешь по открытым-швободным-народным VP8/VP9/AV1, потому что её тупо нет. А то, что есть, - жалкие огрызки.
>>461261
Всё дело в деньгах. Патенты на алгоритмы все, кто только можно, говном поливал. А они всё равно есть и никуда уходить не собираются.
> Самое смешное
А что смешного? Так бесплатная параша и работает -- захотел, сделал документацию, не захотел -- не сделал. А если ты что-то продаешь, и ты не разработчик гуглплей, то обычно ты пишешь хорошую, подробную документацию. Ну в моём манямирке так это работает.
>Самое смешное, что ты можешь спокойно скачать подробнейшную спеку и доки по HEVC совершенно бесплатно, но не можешь по открытым-швободным-народным VP8/VP9/AV1, потому что её тупо нет. А то, что есть, - жалкие огрызки.
Вот кстати да, я с этой вилки проигрываю: хевк весь такой стандартный и оффициальный (тм), но кроме бумажки по нему ничего нет. А впх весь такой открытый и народный, но что там происходит дай бог знают только те, кто кидают коммиты в гит, хотя я там мимо почитал немного их рассылку и там срачи не хуже двача, когда один переезжает другого за нереализованные функции, а тот кроет его за отсутствие документации и в итоге обоих накрывает третий от лица охуевающих пользователей и что те только в этой рассылке пиздеть и горазды в общем пиздос.
>А если ты что-то продаешь, и ты не разработчик гуглплей, то обычно ты пишешь хорошую, подробную документацию. Ну в моём манямирке так это работает.
Это у белых людей так работает. В ИТТ стране так-то и на продажу нихуя документацию никто не пишет и все вась-васькаются пока проект живёт и кому-то нужен.
Как у белых людей они заставляют писать толковую документацию по своим продуктам - для меня большая загадка, ну на то они и белые люди.
>там срачи не хуже двача, когда один переезжает другого за нереализованные функции, а тот кроет его за отсутствие документации
Это где? У aomedia вообще закрытая рассылка, туда только мемберов пускают. Есть ещё рассылки для пользователей/девов, но там ничего серьёзно не обсуждают и никто никого там не слушает. Хотя гугль и так никого не слушает, делает всё как хочет. В своих закрытых багтрекерах всё решают.
>В итоге бывает 3 кейфрейма подряд и тому подобные идиотии.
А есть примеры? Можно в багтрекер заслать. Не факт что исправят, но может хоть скажут в чём проблема. В libaom пробовал воспроизвести?
Так-то тип кадра по RDO и scenechange должен выбираться. Если ему кажется, чго сейчас выгоднее all-intra, даже если ты зафорсишь P-фрейм, он его сделает целиком интрой и выгоды никакой не будет.
> Можно в багтрекер заслать
Это не ошибка, это "алгоритм".
> Если ему кажется, что сейчас выгоднее all-intra, даже если ты зафорсишь P-фрейм, он его сделает целиком интрой и выгоды никакой не будет
Не думаю, но вообще можно попробовать смоделировать ситуацию смены сцены и закодировать с ключевым и без него.
А вот по поводу того, что ffmpeg не может вставить форс фрейм можно и попробовать кому-то сообщить, начав с ffmpeg'овцев
>не помню, кстати, в терминологии вп вообще остались ещё кейфреймы
Остались. Есть ещё голден и альтрефы.
Вообще там всё по-идиотскому слегка, потому что пришлось обходить патенты. В хевце вот есть I/P/B и IDR и всё понятно. А у vpx вместо B невидимый альтреф, но который можно использовать в бипредикции.
В aom вроде вернули B-шки, т.к. появился большой пулл патентов, которые можно использовать.
Пиздец, до чего же мобильный интерфейс сосача ублюдский. Половину сообщения проебал и то потому что я сохранил до этого.
>- Увеличит вес за счет мусорных заголовков
>- Ухудшит работу расстановщика альтрефов/золотых кадров, кроме как если резать по ним, но доступа к ним у меня нет, некоторые полагают, они есть в логе первого прохода.
Проверь вначале. Ты фигню пишешь, за границу кейфрейма ничего не выходит. И разницы по заголовкам никакой не будет после ремукса.
Нафиг вообще нужны эти теоретизирования, если можно проверить. Тем более что есть бесплатный аналайзер.
Разрежь файл на 3 части, как хочешь, скодируй 3 части и сам файл с идентичными настройками на 2 проходах, сшей и сюда принеси метрики, если вес и метрики будут равны -- твоя правда, а безапелляционно > пукнуть тут и без тебя хватает кому.
>Так может ты и покажешь как проверить, раз умный такой?
>>461316
>твоя правда, а безапелляционно > пукнуть тут и без тебя хватает кому.
Я другой анон, но тащемта проблема с кифреймами именно у того >>461233>>461209>>460705 анона. Ему кагбэ предлагают чекнуть варик, но он >>461250
>Быстрее и проще тебе
посылает нахуй. Ну, не надо так не надо. Тут кагбэ не >>461304 заинтересован-то.
ffmpeg -i input.wav -filter:a "volume=5.0" output.wav
Но громкость не увеличивается, только звук становится рваный.
Как сделать, чтобы ебошило как в последних альбомах металлики?
Авторежим ffmpeg слишком частит с ключевыми кадрами, в пику ему, я скармливаю ему лог через -force_key_frames, без них, но он по логу обсирается в некоторых местах ставить форсированные кадры, хотя лог его же, только с удалением ближайших повторений.
Вариантов я вижу:
1. Скармливать лог mp4, он похож, но из-за рабочей keyint_min частых повторений не имеет.
2. У vpx не баг, а фича в том, в коде даже комментарий есть, что --kf-min-dist не работает в авто режиме, а в не авто режиме он не нужен, не вижу сценария, где его можно использовать, без авторасстановки нужен только --kf-max-dist. То есть второй вариант: заставить работать --kf-min-dist
Что мы получим от разрезания? Если выберем первое решение скармливать, то мы энкодим раз, далее сравниваем с заданным и переэнкоживаем с разбиением файла на части? Это что за чушь? Лишь за раз по другому логу, либо рабочая --kf-min-dist, разрезать и делать десяток энкодов? Вы вменяемые, нет?
>>461331
Да и к тому же, он при обычном кодировании ставит так ключевой кадр, вот ровна на тот фрейм, что я указываю в -force_key_frames.
>>461299
> Они здесь причём, если просто используют апи библиотеки?
Именно, если ты не в курсе, то из vpxenc ты не сможешь передать флаг VPX_EFLAG_FORCE_KF его может передать только ffmpeg, есть вариант, что он по каким-то причинам делает что-то не так, по loglevel debug он пытается, но не ставит.
> Они алгоритмами тоже занимаются
Он правильный для них
> // VP9 does not support a lower bound on the keyframe interval in
> // automatic keyframe placement mode.
> if (cfg->kf_mode != VPX_KF_DISABLED && cfg->kf_min_dist != cfg->kf_max_dist &&
> cfg->kf_min_dist > 0)
> ERROR(
> "kf_min_dist not supported in auto mode, use 0 "
> "or kf_max_dist instead.");
> передать только ffmpeg
Ну не только, любой фронтэнд тесно взаимодействующий с апи, кроме ffmpeg не знаю для vp таких.
600x400, 0:06
> Люди хотят получать деньги за создание годноты
Нет. Частные правообладатели шантажируют общество с целью неограниченной эксплуатации его ресурсов. Все имущественные отношения вокруг интерректуальной собственности напоминают легализованный рекет. Патенты, если что в РФ, например, выдают по почти формальной экспертизе, в США/ЕС/Япошке выдают после чуть более строгой экспертизе, что впрочем, не исключает злоупотреблений чуть менее, чем никак.
Я считаю, что не только патентную систему, но и весь комплекс правоотношений вокруг имущества теперь можно считать архаикой и реакционизмом. Но последнее уже чисто моё мироощущение.
>>461258
> как у них там правовая система работает
Так же как и в РФ. Произвол правообладателя. Что бы он там не написал в лицензии, хотя бы даже изнасилования по субботам, все хозяйствующие субъекты будут скрупулёзно исполнять.
> вроде бы стандарт закрытый и платный
Нет. Не так. Нет единого международного понятия о закрытости и платности. Патенты действуют строго в правовом поле каждой отдельной страны (есть ещё единые патенты ЕС). Плюс, в лицензионном соглашении написано может быть очень разное. И даже во времени условия лицензирования могут изменяться.
> На что именно распространяются патентные ограничения авц и хевка?
Чтобы понять, что там кто кому должен, строго необходимо нанять юриста.
> но делать кодеки для него можно вроде как открытые и никому ничего за это не будет
Зависит от того, что конкретно написано в лицензионном соглашении. Опять же правоприменительная практика в каждой стране разная. Тут даже для самого правообладателя нетривиальная задача. И он, например, DarkShikari в суд, скорее всего, не потащит, даже если тот явно нарушает MPEG LA, поскольку овчинка выделки не стоит.
>>461261
> Пиздос там у белых людей проблемы с лицензиями и интеллектуальной собственность
Освальда Шпенглера почитай! У них не только с интеллектуальной собственностью экзистенциальный тупик.
>>461267
> Стандарт открытый
Опубликованный. Учтённый экземпляр по-прежнему стоит денег.
> основную прибыль гребут с производителей мобил и крупных контент-провайдеров
Совершенно верно.
> мозилле вроде и не зачем на самом деле, хз, чего они там, наверно за компанию
Наверняка наняли юриста и он им объяснил популярно, что трогать бяку не надо.
> подробнейшную спеку и доки по HEVC совершенно бесплатно
Неучтённый экземпляр, конечно. Но и это очень неплохо.
> по открытым-швободным-народным VP8/VP9/AV1, потому что её тупо нет
И по AV1 тоже нет. И проектной документации нет?
> Всё дело в деньгах.
В имущественном интересе. Капитал, как самовозрастающая стоимость, и все дела.
> А они всё равно есть и никуда уходить не собираются.
Не во всех странах официально признаются патенты на алгоритмы. Например, в РФ можно на это член положить. Но тут в последние годы в мире институциональные инвесторы стали увлекаться киднеппингом (похищениями людей). Я когда это увидел в «Призраке в доспехах» в 90-х, то ни за что бы не поверил, что в 2010-х эта практика станет рутинным международным правонарушением.
>>461273
> А если ты что-то продаешь, и ты не разработчик гуглплей, то обычно ты пишешь хорошую, подробную документацию.
А вот это смешно, да. Хорошую документацию коммерсант пишет только под серьёзным страхом.
> Ну в моём манямирке так это работает.
А, ну, понятно.
>>461275
> Это у белых людей так работает.
> В ИТТ стране так-то и на продажу нихуя документацию никто не пишет и все вась-васькаются пока проект живёт и кому-то нужен.
Бытовая русофобия детектед. Вы хорошенько поработайте не с топовыми производителями, и не с изделиями миллиардных тиражей. Там качество и количество документации очень стремительно падает. Да что там далеко ходить-то. Вот не так давно писали модуль поддержки CP2130 от SiLabs. Изучили официальные доки, эрату, но в итоге пришлось, всё равно, реверсить закрытый драйвер, чтобы понять, как надо изъебнуться, чтобы недокументированную ошибку в микросхеме обойти.
> Как у белых людей они заставляют писать толковую документацию по своим продуктам - для меня большая загадка, ну на то они и белые люди.
Элементарно! Пишут в техническом задании к проекту. Во всех подробностях на десятках тысяч страниц, лол.
> там срачи не хуже двача, когда один переезжает другого за нереализованные функции, а тот кроет его за отсутствие документации и в итоге обоих накрывает третий от лица охуевающих пользователей и что те только в этой рассылке пиздеть и горазды в общем пиздос.
Свободное общение. Свободный труд. Высокий уровень культуры белых людей, лол.
> Люди хотят получать деньги за создание годноты
Нет. Частные правообладатели шантажируют общество с целью неограниченной эксплуатации его ресурсов. Все имущественные отношения вокруг интерректуальной собственности напоминают легализованный рекет. Патенты, если что в РФ, например, выдают по почти формальной экспертизе, в США/ЕС/Япошке выдают после чуть более строгой экспертизе, что впрочем, не исключает злоупотреблений чуть менее, чем никак.
Я считаю, что не только патентную систему, но и весь комплекс правоотношений вокруг имущества теперь можно считать архаикой и реакционизмом. Но последнее уже чисто моё мироощущение.
>>461258
> как у них там правовая система работает
Так же как и в РФ. Произвол правообладателя. Что бы он там не написал в лицензии, хотя бы даже изнасилования по субботам, все хозяйствующие субъекты будут скрупулёзно исполнять.
> вроде бы стандарт закрытый и платный
Нет. Не так. Нет единого международного понятия о закрытости и платности. Патенты действуют строго в правовом поле каждой отдельной страны (есть ещё единые патенты ЕС). Плюс, в лицензионном соглашении написано может быть очень разное. И даже во времени условия лицензирования могут изменяться.
> На что именно распространяются патентные ограничения авц и хевка?
Чтобы понять, что там кто кому должен, строго необходимо нанять юриста.
> но делать кодеки для него можно вроде как открытые и никому ничего за это не будет
Зависит от того, что конкретно написано в лицензионном соглашении. Опять же правоприменительная практика в каждой стране разная. Тут даже для самого правообладателя нетривиальная задача. И он, например, DarkShikari в суд, скорее всего, не потащит, даже если тот явно нарушает MPEG LA, поскольку овчинка выделки не стоит.
>>461261
> Пиздос там у белых людей проблемы с лицензиями и интеллектуальной собственность
Освальда Шпенглера почитай! У них не только с интеллектуальной собственностью экзистенциальный тупик.
>>461267
> Стандарт открытый
Опубликованный. Учтённый экземпляр по-прежнему стоит денег.
> основную прибыль гребут с производителей мобил и крупных контент-провайдеров
Совершенно верно.
> мозилле вроде и не зачем на самом деле, хз, чего они там, наверно за компанию
Наверняка наняли юриста и он им объяснил популярно, что трогать бяку не надо.
> подробнейшную спеку и доки по HEVC совершенно бесплатно
Неучтённый экземпляр, конечно. Но и это очень неплохо.
> по открытым-швободным-народным VP8/VP9/AV1, потому что её тупо нет
И по AV1 тоже нет. И проектной документации нет?
> Всё дело в деньгах.
В имущественном интересе. Капитал, как самовозрастающая стоимость, и все дела.
> А они всё равно есть и никуда уходить не собираются.
Не во всех странах официально признаются патенты на алгоритмы. Например, в РФ можно на это член положить. Но тут в последние годы в мире институциональные инвесторы стали увлекаться киднеппингом (похищениями людей). Я когда это увидел в «Призраке в доспехах» в 90-х, то ни за что бы не поверил, что в 2010-х эта практика станет рутинным международным правонарушением.
>>461273
> А если ты что-то продаешь, и ты не разработчик гуглплей, то обычно ты пишешь хорошую, подробную документацию.
А вот это смешно, да. Хорошую документацию коммерсант пишет только под серьёзным страхом.
> Ну в моём манямирке так это работает.
А, ну, понятно.
>>461275
> Это у белых людей так работает.
> В ИТТ стране так-то и на продажу нихуя документацию никто не пишет и все вась-васькаются пока проект живёт и кому-то нужен.
Бытовая русофобия детектед. Вы хорошенько поработайте не с топовыми производителями, и не с изделиями миллиардных тиражей. Там качество и количество документации очень стремительно падает. Да что там далеко ходить-то. Вот не так давно писали модуль поддержки CP2130 от SiLabs. Изучили официальные доки, эрату, но в итоге пришлось, всё равно, реверсить закрытый драйвер, чтобы понять, как надо изъебнуться, чтобы недокументированную ошибку в микросхеме обойти.
> Как у белых людей они заставляют писать толковую документацию по своим продуктам - для меня большая загадка, ну на то они и белые люди.
Элементарно! Пишут в техническом задании к проекту. Во всех подробностях на десятках тысяч страниц, лол.
> там срачи не хуже двача, когда один переезжает другого за нереализованные функции, а тот кроет его за отсутствие документации и в итоге обоих накрывает третий от лица охуевающих пользователей и что те только в этой рассылке пиздеть и горазды в общем пиздос.
Свободное общение. Свободный труд. Высокий уровень культуры белых людей, лол.
> А вот это смешно, да. Хорошую документацию коммерсант пишет только под серьёзным страхом.
> Элементарно! Пишут в техническом задании к проекту
Ясно.
С -g 9999 должно предотвратить.
Или он у тебя и с -g 9999 ставит по 3 подряд? Почему не покажешь пример и не зарепортишь в багтрекер libvpx?
>>461350
>есть вариант, что он по каким-то причинам делает что-то не так
>по loglevel debug он пытается, но не ставит
Что пытается? Он передаёт флаг VPX_EFLAG_FORCE_KF в vpx_codec_encode.
Ну зарепорти, если думаешь, что ошибка в использовании API. libvpxenc.c гугловцы пишут в основном, кстати.
>Он правильный для них
Я про алгоритм scenechange.
>>461384
Референсы уже можно через кейфреймы передавать? А мужики-то и не знали.
Наверно круто жить в манямирке в котором хидеры на 100 байт (которых и не будет лишних, при склеивании от второго файла только пакеты кадров будут использованы, хидеры контейнера одни на файл) могут испортить всё качество вебмки на 20 мегабайт.
Что ясно? Противоречие нашёл?
Кто там метрики хотел. Вот здесь 5 готовых бинарника под винду с примерами запуска.
crf 28, серьёзно?
>>462260
> Как можно пофиксить e9e10.mp4, чтобы можно было присоединить его к предыдущим?
Пережать звук и видео. Во всех роликах.
> они ж одинаковые вон были
Я так и знал — гуй делает людей тупее. Нет, чтобы вывести текст и автоматически сравнить построчно, он не будет в упор не видеть разницы во всех трёх графических окнах. Это три разный ролика. Отличаются параметры gop, ref frames, уровни и колориместрия. Профили для звуковой дорожки тоже отличаются, блджад.
> этого момента все норм соединялось
Если без проблем соединились e5e6.mp4 e7e8.mp4, то это просто досадное совпадение. По-хорошему, тебя соединялка в mp4-контейнер должна была нахуй послать.
Справедливо накормил хуями. Будет ли соединяться, если прогнать через ffmpeg -y -i e7e8.mp4 -c:v libx264 e7e8c.mp4 ? Если нужно добавить какие-то опции, напиши их, пожалуйста. Как мне весь сериал подогнать под одну гребенку?
Несправедливо, h264 поддерживает отличающиеся параметры энкода, более того х264 обладает инструментарием в виде --zones для этих целей, чтобы не разрезая видео на куски энкодить с различными параметрами. Легко предположить, что видео разные и щить не будет, но я думаю тут лишь вопрос звука, попробуй для начала соединить видео без звуковой дорожки.
Сделал ffmpeg -y -f concat -i filelist.txt -map 0:v -c copy "Star vs the Forces of Evil.mp4" и видео стало отличным, идеальная склейка! Уффф, но как быть со звуком??
Ну звук проще перекодировать, нет? Выбери кодек и скодируй вс3 дорожки в нём. Можно и только 3, но he-aac в стандартный комплект не входит.
Как-то так?:
ffmpeg -i 1.mp4 -map a 1.aac
ffmpeg -i 2.mp4 -map a 2.aac
ffmpeg -i 1.mp4 -i 1.aac -map 0:v -map 1:a e7e8.mp4
ffmpeg -i 1.mp4 -i 1.aac -map 0:v -map 1:a e9e10.mp4
Круто, вроде то, что нужно. Только времени занимает ужас.
Вообще, я как видишь первые 8 серий соединил без подозрений что такая ошибка может получиться, моно ли мне как-нибудь вытащить профиль звука и перекодировать только оставшиеся серии, которые не получаются?
> ffmpeg -i 1.mp4 -i 1.aac -map 0:v -map 1:a e7e8.mp4
> ffmpeg -i 1.mp4 -i 1.aac -map 0:v -map 1:a e9e10.mp4
-с copy забыл
> моно ли мне как-нибудь вытащить профиль звука и перекодировать только оставшиеся серии, которые не получаются
1. Почему ты не перекодируешь весь звук отдельно и не соединишь его так же через конкат, а потом на соединенное видео не наложишь?
2. he-aac ты где возьмешь, чтобы присовокупить к первым эпизодам, скодированным в нём?
> libfdk_aac
Угу, начнём конпелирование ведра, вместо использования нормальных кодеков.
>>462398
Ну так -af в помощь, там есть список фильтров на звук, растягивай, при пережатии, раз он был кривой, либо, если рассинхрон постоянный используй оффсет для аудио. Надо смотреть, не люблю я эти угадайки, что у тебя не так и ты ли в этом виноват.
> Несправедливо
Справедливо. В принципе, ничего не мешает сшить два потока данных разных профилей, уровней, разрешения и прочего-прочего кроме того, что от аппаратного декодера в результате внезапной смены всего этого можно ожидать любого варианта охуения. Так грамотные решения не делаются.
> ничего не мешает сшить
Уже ничего? Ладно.
> что от аппаратного декодер
Ожидать при реф 16? Не знаю, мой не алё при попытке открыть.
> можно ожидать
А можно без перекодирования взять и проверить, прежде, чем кодировать, например.
>Угу, начнём конпелирование ведра
Надо короче научить каждого вендоюзера в софтаче компилировать ffmpeg со своими настройками/патчами. Тогда заживём. Вебмки вон худо-бедно научилось большинство делать, теперь надо двигаться дальше.
Я и вижу, что не день, то очередные "открытия" к кодировании вемб, умельцы.
> Уже ничего? Ладно.
Голова у тебя плохо работает. Хочешь увидеть противоречие, так, где его нет?
> Ожидать при реф 16?
Насколько я помню, MPEG-TS позволяет поменять на ходу у одного и того же потока видео и уровень и профиль и разрешение и тип развёртки и частоту кадров, просто декодер имеет право быть неготовым к таким внезапным поворотам. Впрочем, я и ошибаться могу.
> Не знаю, мой не алё при попытке открыть.
Разумеется. Потому, что кодировать бы было правильно с вменяемыми опциями из расчёта на наиболее распространённые аппаратные декодеры.
> А можно без перекодирования взять и проверить
На всех гипотетических декодерах? Я бы ожидал, что большинство из них прекратит декодирование с ошибкой.
Можно я не буду на этот испанский стыд отвечать? Ладненько? Почему пердули не могут в иронию, просто отсутствует как класс.
> Голова у тебя плохо работает. Ты поспешные выводы делаешь. Хочешь увидеть противоречие там, где его нет?
fix.
Извиняюсь за грубость. Что-то нашло. Наверно, моя тупость.
> Почему пердули не могут в иронию, просто отсутствует как класс.
Не разбираюсь в тонкостях твоего внутреннего манямирка.
> Можно я не буду на этот испанский стыд отвечать? Ладненько?
Нет, уж. Если есть что по существу возразить, то давай!
Добавил в общем -itsoffset из оригинальных файлов и вроде норм. Надо попробовать фулл собрать, только тут на ночь надо ставить блджад. Даже интересно, что получится в итоге и будет ли это показывать телефон. Капец тут конечно ничтожно уползаю в свою дыру откуда вылез, но я еще вернусь, няша, спасибо тебе <3. И тебе >>462336 спасибо, если завтра утром открою говно, буду все под ноль перекодировать.
Почему на ночь? Ты же только один звук кодируешь, нет? Или серий много? А помощь какая? Ты сам вон всё, что нужно себе нашел.
> Перекодируй, только ты уверен, что лаги именно из-за полновесного хромы?
Да. Почему то моя видеокарта gtx 1060 нихуя не может его обработать. А вообще можно ли как нибудь посмотреть без перекодировки? Кодек x264.
>параллелизация по сценам
Ну слава Богу, хоть один человек в мире в это смог. Не зря с ав1 пердолился.
>Кто там метрики хотел
Я хотел. А откуда дровишки? Я бы msssim и psnrhvs лучше тоже в виде фильтров к ффмпегу прикрутил.
> можно ли как нибудь посмотреть без перекодировки?
Ну маленький семпл закодируй и посмотри, в чём проблема?
Ну а так, -pix_fmt yuv420p же.
Это с реддита, там формат картинок avif тестируют и выложили набор утилит для работы с ним, заодно и проверку качества по метрикам.
Это те же программы, что и у мозилловцев, просто уже собранные бинарники под винду есть. Ну и 5 штук только, у мозилловцев больше.
>тоже в виде фильтров к ффмпегу прикрутил
Напиши фильтры на сишке, зашли в мэйллист.
https://pastebin.com/MN0NE3xJ
Я правильно понял, что для tile никак нельзя указать "расширайся вниз, сколько влезет", а только фиксированную сетку? Ето неудобно.
>Не видел примера, как сделоть каждые 10 сек
на https://www.ffmpeg.org/ffmpeg-all.html#toc-select_002c-aselect
изучай переменные, там всё есть
>изучай переменные
В жопу этот подсчёт кадров, оказывается можно просто fps=1/15 указать.
А вот проба это да, неплохая штука.
Теперь всё красиво, пасиб.
Видеть, как у людей что-то получается — это счастье. И тебе спасибо.
-an -c copy
Зависит от реализации nvenc, у штеуда такое себе, у нвидии даже 2 прохода есть, читать тут
ffmpeg -encoders <- список энкодеров, находишь свои nvenc'и
ffmpeg -h encoder=<подставить энкодер>
Далее читаешь и сопостовляешь с существующими гайдами. Сам пробовал только штеудовский, непонравилось, настроек нет совсем. Остальные руки не доходят потестировать, х264 и без того шустрый.
> он рекомендует CRF
Если тебе не важен лимит, если есть лимит, то можно и два прохода, 1 пройдет быстро, если не указан флаг --slow-firstpass
Если указан, то первый проход будет идти дольше остальных.
Итак, ты принёс:
- рекламная листовка уровня «политрук лжёт»;
- PSNR;
- какие-то разы;
- просто какой-то битрейт;
- не приводится главный аргумент — скорость кодирования.
Вывод: ты принёс кусок говна.
Это какой-то бред, как реализация программного энкодера, который использует аппаратные ресурсы видеокарты для расчетов, вместо ресурсов цопе, может меняться качественно? Что-то уровня вот на интел х264 качественнее жмот, чем на амуде. Как они это делали?
Хотя если бы это был исключительно программный комплекс, использующий аппаратные ресурсы, то он бы работал на любом новидео с кудами, а не как сейчас.
> реализация программного энкодера, который использует аппаратные ресурсы видеокарты для расчетов
Ошибочное предположение.
Там не программный, nvenc это отдельный чип на видеокарте.
Качество конечно говно, но для геймеров сойдёт. В GTX говорят у них даже B-фреймов не было, в RTX хз.
А, это для хевца. Для h.264 есть, да.
А скорость? Так-то -profile fast не то место, где говорят о качестве, он про другое же.
Не знаю, но эта табличка добавила желания опробовать, ещё хотелось бы амудешный энкодер пощупать, но карты сейчас в ремонте. А потом сравнить метрики и визуально, потому что метриками мерятся не комильфо.
Видимо такая же как у икса, либо быстрее. У икса они только пресеты тестят, скорость аппаратного энкодера тоже особо не изменишь. Средний пресет они видимо на двух компах запустили, чтобы по скорости сравнялся.
Это просто смешная картинка от маркетологов, пример как не надо делать сравнения. У них же вся задача это впарить клиентам новые карточки.
>У них же вся задача это впарить клиентам новые карточки.
А для кого они делают сравнение кодеров видео? Тем более на фасте. Вряд ли мамкины нагибаторы будут на скорость рипать новую серию Игры Притонов или что-то такое.
Ну, задача маркетинга это объяснить, что надо, лол. И если качество и раньше устраивало, значит можно делать меньше битрейт, канал хоть сэкономится.
Хосспаде как же тяжело живётся производителям железа в эпоху упирания в квантовый физический потолок. Чёртово атомарное строение мира, нельзя было фрактальный сделать как будто ну че сложно что ли.
> Хосспаде как же тяжело живётся производителям железа в эпоху упирания в квантовый физический потолок
Это маркетинг. Здесь важен только платёжеспособный спрос. Законы физики не важны.
Нет, я имею в виду, что вот как хорошо было в 90е и 00е: ваще ничего не надо изобретать, никаких технологий - тупо накручивай частоту на чипе и всё. Никаких многоядерных ЦП, никаких тесселяций и волшебных лучей. Всё просто: вот в прошлом году на ЦП было 600МГц, а в этом мы взяли планку в 1ГГц (до сих пор помню этот год) - пиздуйте заносить бабосы. И главное даже врать не надо и выдумывать ничего, всё честно. А сейчас все ЦП упёрлись в 5ГГц, ядер дохуя, но юнити ебала их в рот и шпарит всё в главном потоке, видеокарты вообще отличаются друг от друга иди ка ты нахуй вот как они отличаются. Поди тут загони старых лохов покупать новые куски текстолита. (я до сих пор сижу на пекарне 2011 года сборки с материнкой из 2008 и играю во все свои йобы)
Ну игры постепенно лучше задействуют многоядерный проц, другого выбора всё равно нет. В декодерах видео это тоже даёт профит, вон dav1d в мультитреде обходит узкие места AV1 с помощью грамотных инжененых решений, в libaom так не осилили. Если кодировать, разрезая по GOP, это вообще стопроцентная распараллезация.
Не все задачи хорошо распараллеливаются, конечно, от этого частично новые SIMD инструкции помогают, тот же AVX512. Хотя тоже не для всего это годится.
>игры постепенно лучше задействуют многоядерный проц, другого выбора всё равно нет
Они бы лучше GPU наконец начали осваивать, который для них создавался, но нет, надо всем ломиться в CPU-0.
> Если кодировать, разрезая по GOP, это вообще стопроцентная распараллезация
С чего ты взял, что это самый эффективный способ? Почему вы так доколебались до этой распарралелизации, но не удосужились провести тесты? Думаете людям, работающим в лампеге такие мюсли в голову не приходили?
>Думаете людям, работающим в лампеге такие мюсли в голову не приходили?
Так выяснили же уже, что это не касается кодеров - их делают для непрерывного потока кадров, без задела на возможность скакать туда-сюда по файлу.
И потому у них н-проходные режимы запилены? Потому используется Frame Threading и лукахеад? Им ничего не мешало сделать энкод по гопам, но он не сделан.
Чувак, их останавливают референсы, которые передаются через ключевые кадры и мусорные заголовки, не парься ты так.
Секрета нет, просто писаки фронтендов настолько рукожопые дауны, что дальше ноубрейн передачи параметров в ффмпег ничего сделать не могут. Да и пользователи гуёвых конвертеров о таких понятиях, как тайл и гоп не слышали, т.ч. потребитель и автор стоят друг друга.
Все вокруг дауны одни сидельцы форума для аниме умные, красивые, стоят тут одни
>ах, где же тот герой. ведь доказать так просто..
>>464626
>Это надо зверем быть, чтобы такое провернуть.
Тащемта литералли прямо сейчас изучаю питон, чтобы написать тестирующий фреймворк для такого говна и чтобы оно гонялось само на автомате. Пытался что-то такое провернуть на обычных виндовых батниках, но там экранирование спецсимволов intensifies слишком быстро, да и адресуемых напрямую аргументов командной строки всего 9 и прочие артефакты, т.ч. мне всё стало ясно.
Строго говоря, изначально я просто заебался прописывать параметры по 2 раза для 2 проходов и хотел сделать, чтобы оно само там всё подставляло, но потом напридумывал ещё кучу вещей, которые мне надо автоматизировать для кодирования, ну а там уже и до прогона по параметрам не далеко, и до парсинга обратной связи по пробе и метрикам. Очень хочется ещё собрать автоматическое тестирование новых релизов впх по мере их появления в мастерской ветке на гите, но пока что у меня огромные проблемы со сборкой вручную (не через мабс) и либвпх, и ффмпега под винду. И ни на стаковерфло, ни на зераное мне не могут объяснить, что происходит, т.ч. тут пока всё не так очевидно. В конце-концов изучу ещё и башевый синтаксис и расковыряю мабсовые скрипты, конечно, но на это понадобится какое-то время. Планов, короче, куча, ух бля.
Вообще, я удивлён, что у кого-то действительно вызывает сомнения качество кодирования по гопам относительно тайлов, хотя об этом орут в каждой документации и вики, и кто-то всерьёз ищет здесь заговор авторов кодеров, которые массово утаивают от нас такой волшебный режим. Но тем интереснее будет проводить исследование и в нём будет хоть какой-то смысл помимо чисто академического "для себя". Т.ч. сомневайтесь больше, повышайте ставки.
Ясно.
>Планов, короче, куча, ух бля.
Короче потом учишь сишку, плюсы, раст, асм, читаешь спеки от Intel/Agner по SIMD-оптимизациям и начинаешь контрибьютить в сами кодеки, чтобы всё заебись работало. Потом получаешь PhD по DSP, тебя хайрит гугл/мозилла/нетфликс и ты съёбываешь в силиконку разрабатывать VVC/AV2.
http://www.ross.net/compression/
Да вот я чувствую, всё к этому и идёт, потому что "а чем вот этот коммит отличается от этого? - да что вы тут напортачили, нормально же было, дайте я для себя исправлю - да тут вот так надо сделать, это же очевидно, вот вам коммит под ребро - ...". А ведь я просто хотел резать вебмки для двача лол.
Алсо
>потом учишь сишку
чек
>плюсы
чек
Питон выбрал реально тупо как расширенную командную строку, чтобы не загружать вижулу два часа каждый раз ради двух строчек в консоли. Пробежался бегло по популярным фреймворкам, вроде бы, оно должно уметь всё, что я себе напланировал пока.
Надеюсь ты на третьем питоне пишешь, второй уже почти сдох. А так норм, да, для скриптов идеально.
Не очень норм, что его в бинарник пакетировать неудобно и распространять, мало у кого на винде из неразрабов питон стоит. Если для себя/задротов, то без разницы, а если для большой аудитории, что-нибудь компилируемое и высокоуровневое типо Go должно быть поудобнее.
>Надеюсь ты на третьем питоне пишешь, второй уже почти сдох
Да, конечно - пикрил. Я только сейчас в него вкатываюсь, т.ч. даже не в курсе всей драмы и что там за тёрки между 2 и 3, тупо взял самый последний.
>Не очень норм, что его в бинарник пакетировать неудобно и распространять,
Не, мне чисто для себя, именно как альтернатива виндовым .bat-никам. Или расширенная консолька. Мне нравится встроенный режим калькулятора в интерпретатор питона, т.е. можно в реальном времени втыкать всякие команды и оно будет показывать результат. Очень круто.
>для большой аудитории, что-нибудь компилируемое и высокоуровневое типо Go должно быть поудобнее.
Вообще не представляю себя пишущим что-то для широкой аудитории. На работе у меня свой набор музейных инструментов и там мне не дают выбирать. А в свободное время я пока для широкой аудитории ничего не пишу... Разве что вот вебмки режу. Т.ч. все мои программистские изыски чисто для себя пока.
Да и конечному пользователю нужен гуй, т.ч. я бы, пожалуй, ориентировался на шарпы, которые делает МС для своих ОС. Го лично у меня пока недостаточно на слуху и я не знаю, для кого и для чего его делает гугл - это может быть тупо очередная волна хайпа, как с руби.
>Да и конечному пользователю нужен гуй, т.ч. я бы, пожалуй, ориентировался на шарпы
Если гуй, то да, шарп на винде удобен. Он не кроссплатформенный правда, обычно Qt берут для этого.
Хотя мне он тоже не очень нравится, т.к. Qt-либы, статически слинкованные, довольно дофига весят.
Проверил, жду, когда ты изучишь питон и тоже проверишь, сравним результаты.
Пользую ffmpeg -i "file" -vn -sn -c:a aac -ac 2 -vbr 5 out.m4a
А этот негодник говорит вот что:
Codec AVOption vbr (Variable bit rate mode) specified for output file #0 (out.m4a) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
>-vn -sn
а зойчем ты все выключил? святой дух кодировать собрался?
>output file #0 (out.m4a) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams)
Выключил субтитры и видео же, если я кодирую только звук.
Да и, похоже что, кодке aac не умеет в -vbr, а умеет лишь libfdk_aac, которого нет в составе скомпилированных релизов ffmpeg. Самому собирать неохота.
> aac
> vbr
Что ещё расскажешь? Он прямым текстом пишет, что опция vbr неприменима для используемых стримов.
Тут https://trac.ffmpeg.org/wiki/Encode/AAC сказали, что libfdk_aac может в -vbr. Вот я и подумал: "А aac чего? В дураках что ли?" Как оказалось, да.
>кодирую только звук
WRONG
ты нихуя не кодируешь
>https://ffmpeg.org/ffmpeg.html & Ctrl+f & -vn
>The -vn / -an / -sn / -dn options can be used to skip inclusion of video, audio, subtitle and data streams respectively
хотя да, в глаза ебусь, наверное спать пора
тогда чекни доки
>-c:a libfdk_aac
https://trac.ffmpeg.org/wiki/Encode/AAC
> Вот я и подумал
Не делай так, не совершай ошибки, делай всё по гайдам. А ты и так, ведь там прямо написано как кодировать vbr в aac:
Native FFmpeg AAC Encoder
The native FFmpeg AAC encoder. This is currently the second highest-quality AAC encoder available in FFmpeg and does not require an external library like the other AAC encoders described here. This is the default AAC encoder.
Note: -strict experimental (or -strict -2) was previously required for this encoder, but it is no longer experimental and these options are unnecessary since 5 December 2015.
Examples
Constant bit rate using -b:a:
ffmpeg -i input.wav -c:a aac -b:a 160k output.m4a
Variable bit rate (using -q:a:
ffmpeg -i input.wav -c:a aac -q:a 2 output.m4a
Effective range for -q:a is around 0.1-2. This VBR is experimental and likely to get even worse results than the CBR.
>libfdk_aac, которого нет в составе скомпилированных релизов ffmpeg. Самому собирать неохота
искать самому тоже неохота?
https://github.com/illuspas/ffmpeg-hw-win32
fdkaac через MABS очень легко собирается вообще, там можно всё выключить и только два таргета оставить (fdk-aac + fdkaac), будет очень быстро и последняя версия. Правда, в той сборочке походу какая-то проприетарная версия энкодера, которой в опенсорсе нет:
>"p" version stands for modified by Poikosoft audio laboratories.
>Modifications to the original encoder are the following:
>· Widened bandwidth for better audio quality
>· Uses the highest quality options available in the original codec for better audio quality
>· Double-precision algorithms for better audio quality
>· Uses high precision math functions rather than limited precalculated tables for better audio quality
>· Modified VBR tables for more VBR encoding modes
>· Improved x64 performance by using faster math functions
>· Uses MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, and AVX2 multimedia instructions whenever there is a performance benefit
Не особо наверно увеличивает суъективное качестве, но прикольно.
Ещё есть QAAC, который почти на уровне с fdk-aac, иногда наверно может быть чуть лучше.
ffmpeg.exe
-v error -i {fullpath}
-vf "fps=1/{interval}, scale=220:-1,
drawtext=text='%{{pts\:gmtime\:{interval}\:%H\\\:%M\\\:%S}}':
fontfile=/Windows/Fonts/verdana.ttf: fontsize=24:
fontcolor=white: x=0: y=145: box=1: boxcolor=black@0.5,
tile=layout={tile_w}x{tile_h}: color=DimGray"
-frames:v 1 -qscale:v 3 {output}
Проблема в том, что само время в таймкоде куда-то съезжает, и добавка interval в pts вроде помогла, но всё равно съезжает. Как правильно-то?
Ещё вылазит ошибка "Fontconfig error: Cannot load default config file". fontfile не работает, но и без него ошибка всё равно вылазит.
Как обновить ffmpeg из консоли под шиндовс? Как писать стримы с ютуба? Есть ли замена streamlink'у?
> Как обновить ffmpeg из консоли под шиндовс?
Смотря как устанавливал, лол.
> Как писать стримы с ютуба? Есть ли замена streamlink'у?
youtube-dl.
>Смотря как устанавливал, лол.
Никак, билды же в архивах раздаются. Просто разархивировал и добавил путь в PATH
>youtube-dl.
Как им правильно останавливать запись в нужный момент? Посредством ctrl+c получаются битые файлы, которые ничем не открываются. Алсо можно ли как-нибудь такие файлы восстановить без потерь?
Как в youtube-dl задать запись стима не с момента запуска программы, а с начала стрима? Или задать запись с нужной минуты? В streamlink'е всё это было просто и понятно, но с недавнего времени перестало работать.
Я же выше уже писал, что им пользовался и всё устраивало, но в ноябре-декабре гугл там что-то у себя подкрутил и стримлинк теперь стримы не находит
> error: No playable streams found on this URL:
Сам стримлинк с августа прошлого года не обновлялся
>с августа прошлого года не обновлялся
Да ладно.
https://github.com/streamlink/streamlink
>2 days ago
Релизодауны соснули у гитобогов
> Посредством ctrl+c получаются битые файлы, которые ничем не открываются.
УМВР.
ffplay, mpv играет.
Понакачал довольно тяжёлых файлов, а вместить хочется как можно больше, а памяти мало.
И opus сейчас лучший?
Хочу переконвертировать много роликов из в мп4 в вебм с целью экономии места и без потери качества, Movavi Premium 19 выдаёт неизвестную ошибку, чем ещё это можно сделать? В идеале максимально простую хуйню с красивым дизайном и тремя кнопками откуда, куда, старт и чтобы несколько видосов сразу закинуть.
> с целью экономии места и без потери качества
То есть хочешь сделать их ещё больше размера и с худшим качеством? Потому что вп дерьмо не знает, что такое качество.
На любых наушниках 256 mp3/aac128 ничего не потеряешь. opus 160kbps ультимативный вариант.
Вот слепой ABX тест, можешь определиться с нужным кодеком и битрейтом.
http://abx.digitalfeed.net/list.html
https://www.youtube.com/watch?v=Z1zmlNAhijc
Opus лучше vbr?
ты уверен что у тебя там все обновилось после того как добавил? https://github.com/chocolatey/choco/blob/master/src/chocolatey.resources/redirects/RefreshEnv.cmd
А зачем тебе он в переменных окружения? Чтобы линупсойдом себя чувствовать? Просто скопируй ffmpeg.exe в C:\Windows\System32
Лучше не экзешник добавь, чтобы не лазить, а батник вот такой
chcp 65001
<путь>\ffmpeg.exe
Поможет читать кирилицу в метадате и обновлять можно просто закинув в новый ffmpeg заместо старого.
Абуняша разрешил постить mp4, оставь эти ональные игрища с реэнкодом интеллектуально незащищённым анимедетям.
Что я пропустил, прости? Подробнее!
Зачем хардкодишь имя? Можно же
title any2webm: %~n1
, а потом везде в целом одном месте %1 хуячить.
А, а на выводе "%~pn1.webm" не забудь
1024x426, 0:04
Мне так удобнее.
FOR a IN (%*) DO ffmpeg -hide_banner -i a -c:v libvpx-vp9 -row-mt 1 -threads 16 -pix_fmt yuv420p -b:v 0 -crf 30 -sn -map_metadata -1 "%%~na.webm"
Можно указать несколько исходных видео - батник будет их обрабатывать по очерёдности.
Опус с битрейтом выше 144Кбит. И до 224. Ниже искажается звук, а выше разницы уже нет.
Я так понял, "заметно" должно быть именно где-то в области 20-15 кГц? По крайней мере, не выше?
И лучше vbr юзать?
И ещё, как грамотно такой график назвать, я бы загуглил и в Audacity повторил, если можно.
>"заметно" должно быть именно где-то в области 20-15 кГц?
Да. Если зажать качественное аудио слишком низким битрейтом, будут проскакивать посвистывание и писк, как при воспроизведении зацарапанного CD или когда у цифрового ТВ начинает рассываться картинка.
С некачественным звуком все немного иначе.
>И лучше vbr юзать?
Используется по умолчанию.
>>477118
>как грамотно такой график назвать, я бы загуглил и в Audacity повторил
https://www.youtube.com/watch?v=8AmS0JuURBI
Огромное спасибо тебе.
Тебе бы лучше понять такую простую вещь, что качество звука нужно оценивать на слух, а не по картинкам шизиков, которым важнее красивый спектр в почти неслышимой области.
Это не совсем шизофрения.
Есть такой момент, что я могу и на 32к наслаждаться, ок?
Но я не хочу, чтобы девайс меня обманывал, выдавая не оригинал, понимаешь?
ffmpeg -ss 00:00:00 -i input.mp4 -c:v libvpx-vp9 -crf 26 -b:v 0 -b:a 256k -c:a libvorbis -to длительность output.webm
В один проход делоешь, надо в два
ffmpeg -ss 00:00:00 -i input.mp4 -c:v libvpx-vp9 -crf 26 -b:v 0 -b:a 256k -c:a libvorbis -to длительность -an -y -pass 1 output.webm
ffmpeg -ss 00:00:00 -i input.mp4 -c:v libvpx-vp9 -crf 26 -b:v 0 -b:a 256k -c:a libvorbis -to длительность -y -pass 2 output.webm
А можно как то заранее узнать будущий вес файла еще до кодирования? Или обязательно кодить а потом уже глядя на промах прицеливаться в 20мегабайт изменяя длительность и CRF?
Наверное нет. Если хочешь 20 МБ, то рассчитай битрейт и поставь его вместо -b:v 0
Понял, буду разбираться, спасибо.
Пережать сегмент длиной в 30 секунд с желаемым качеством, посмотреть, с каким битрейтом его пожало.
sar сделай 1:1
> SDL_OpenAudio (2 channels, 48000 Hz): WASAPI can't initialize audio client: CoInitialize has not been called.
???
Конпелируй сам. Решение есть где-то в интернетах
А почему такое произошло?
На другом компьютере всё нормально работает, версия там около годичной давности.
Полный код:
for p in (1 2) do ffmpeg ^
-ss 1:52:39.711 -to 1:53:29.961 ^
-i "j:\Видео\Матрица - Революция (2003).mkv" ^
-map 0:v:0 -map 0:a:0 ^
-map_metadata -1 ^
-map_chapters -1 ^
-metadata title="" ^
-metadata:s:0 title="" ^
-metadata:s:1 title="" ^
-vf crop=iw-4:ih:2:0,scale=1024:-2,setsar=1:1 ^
-c:v libvpx-vp9 -b:v 2294k -g 9999 ^
-threads 2 -frame-parallel 0 -pix_fmt yuv420p -lag-in-frames 16 -pass p ^
-c:a libopus -b:a 128k -ac 2 -clev 1 -slev 1 ^
-sn -y "matrix7-6.webm"
Разве должно быть как-то иначе?
638x354, 0:03
> -map_metadata -1
> -metadata title="" ^
> -metadata:s:0 title="" ^
> -metadata:s:1 title="" ^
Ты зря думаешь, что я такой тупой, но если бы ты объяснил, почему надо ставить 40 минут и 0,1кадр/сек а не 0,01 и как это рассчитывать от исходника видео, я был бы признателен.
Спасибо!
Спасибо.
Что скажешь насчёт звука, с видео всё просто - vp10>vp9>vp8, а вот vorbis или opus, какой выбрать для битрейда 64-112k?
> 64-112k
Для такого точно opus, когда он появился, то все балдели от того, как он звучит на низких битрейтрах по сравнению с пердящим vorbis'ом.
Мне нравится как "звучит" vorbis чуть больше, но стоит ли заморачиваться, когда есть универсальный opus.
Это правда, я хотел сначала написать, что если можно позволить себе 192к+, то лучше обмазываться ворбисом с -q:a 6, но что-то в другом направлении пошёл.
Уже отправил пулл-реквест?
pactl list sink-inputs | grep -P "^[^\t]|application.name\ ="
pactl move-sink-input 468 app_sink
pactl load-module module-loopback source=app_sink.monitor sink=alsa_output.pci-0000_00_1b.0.analog-stereo
ffmpeg -r 30 -f x11grab -s 1920x1080 -i :0.0+0,0 -vsync 1 -f pulse -ac 2 -i app_sink.monitor -pix_fmt yuv444p -format yuv444p -c:v libx264 -threads 4 -preset ultrafast -crf 0 -c:a pcm_s16le -f matroska test.mkv
Я даже полюбил pulseaudio.
Создаешь папочку, копируешь видео в неё, в папочке делаешь .txt файл с
file 'video1.mkv'
file 'video2.mkv'
Делаешь
ffmpeg -f concat -i file.txt -c copy new.mkv
А если ты хороший мальчик, чистишь зубы 2 раза в день и не используешь пробелы в названиях файлов, то можно и без текстового файлика:
-i "concat:file1|file2"
ТРЕД НЕ ЧИТАЙ @ ВОПРОС ЗАДАВАЙ
блять, какого черта сообщение отправилось
ладно, суть вопроса. только нашел этот тред, нихера шапку не читал (но почитаю). короче я шакалю все в hevc
Ебучее обезъянье поделие странно реагирует на переключение языка с помощью ctrl + space. Ок, буду переключать как инвалид мышкой. Пардоньте что насрал выше. Короче, шакалю все со следующими опциями `-c:v hevc -crf 28`, то есть по сути дефолт для 265. Есть куда стремится? Или все правильно делаю?
Видяшки с ксяоми камеры и телефона. В будущем добавится еще DSLRка, везде 4К х264 кодек.
Ну, из твоего высера мы поняли, что ты нитакойкаквсе. Стремиться больше некуда. Ты всего достиг.
в чем же заключается моя нитокаякаквсешность, поясни пожалуйста, потешь мое самолюбие
>Archival — CRF that gives you the quality you want.
https://slhck.info/video/2017/03/01/rate-control.html
Считаешь битрейте 20480 * 8 / длина_в_секундах и делаешь
-crf 20 -b:v xk
вроде оно уже научилось попадать в лимит.
https://github.com/Kagami/boram/releases
Самая юзерфрендли прога, все интуитивно. Выставляешь размер в мб, сама считает битрейт.
Мышкой нет, как и видеодорожку не заменить, хотя для субтитров автор это сделал, можно вставить свои из файла, ради этого ч и качал. Но boram показывает аргументы ffmpeg, по которым он будет работать, и если к ним дописать расположение аудио и -shortest для обрезки аудио, если стороннее аудио длиннее чем видео, то дорожка заменится.
Нужно разбить гифку на кадры, но качество пострадает
Если гифка по длительности короче музыки, то
ffmpeg -i gifka.gif -i music.mp3 -map 0:v:0 -map 1:a:0 -shortest out1.webm
Здесь -i gifka.gif первый входной поток, где gifka.gif путь к файлу гиф, он может быть и "C:\gifki\гифка.gif" в зависимости откуда запускаешь ффмпег;
-map 0:v:0 и -map 1:a:0 соотв направляют потоки гифки и музла (0 и 1) в итоговый файл (0);
-shortest для обрезки музыки, если она длиннее гифки, в противном случае получишь застывший последний кадр гифки на оставшиеся 3 минуты трека.
Если нужно зациклить гифку, чтобы она 4 раза показалась, то
ffmpeg -stream_loop 3 -i gifka.gif -i music.mp3 -map 0:v:0 -map 1:a:0 -shortest out2.webm
как наложить на аудио другое аудио?
ffmpeg -i ayduo1.ogg -i ayduo2.mp3 -filter_complex amix=inputs=2:duration=first out.wav
http://ffmpeg.org/ffmpeg-filters.html#amix
Для нормализации громкости дописываешь выделенное жирным
amix=inputs=2:duration=first:dropout_transition=0,dynaudnorm
Какие? Шрифты, субтитры, обложку обычно встраивают.
А аудиодорожки переименовывают так, чтобы они подхватывались плеерами.
https://mkvtoolnix.download/doc/mkvmerge.html#mkvmerge.description.split
Только этим никто не пользуется~
Маня, у аниме-сериалов часто выносят опенинги и эндинги в отдельные файлы для уменьшения размера раздачи.
800x800, 0:19
У меня тоже все работает хз что у тебя там
Забавно. Сколько ни качал, такого не видел. Ну, маняме — отдельный мирок, что тут сказать. В этом случае оправданно, да.
Я не понимаю, почему эта оболочка жрет памяти больше, чем сам ffmpeg при работе, да еще и плодит себе несколько процессов?
А я только недавно поставил с ютуба ролики качать самое то, только как в борам указать папку для загрузки, по умолчанию в темп грузит.
2. https://mattgadient.com/x264-vs-x265-vs-vp8-vs-vp9-examples/
Что за пресеты у vp9, откуда он взял эти fast/veryslow? У меня нет подобных настроек. Только best|good|deadline и цифры speed|cpu-used.
И есть ли какие-то подобные настройки для av1, чтобы можно было посмотреть может ли он хоть что-то за адекватное время?
>>452566 (OP)
>исхода батла HEVC vs AV1
Да вроде бы уже всё ясно. Ещё в паре vp9/hevc на низкой и средней скорости кодирования при равных битрейтах побеждает первый, а на высоких (superfast для hevc) второй, просто потому что у vp9 нет адекватных лоу-настроек. Всё согласно предназначению, hevc для стримов и телевиденья, а vp9 для архивирования в компактные файлы. Av1 лишь усугубит эти различия, мне кажется.
А если посмотреть сайт по ссылке выше, то там почему-то даже placebo-hevc проигрывает veryfast-vp9 почти на всех изображениях. Не представляю как он это получил, в моих тестах hevc часто выигрывал на скоростях выше 0.5, как бы я его не хейтил с этими артефактами в виде полос (пик) - лучше уж шум или квадраты, мне кажется.
Ты втираешь полную дичь и твоя дичь не согласуется с моими результатами, потому помогать тебе не буду.
Кукуки eбaныe, cовceм кукушкой поexaли
[MP4 1080p] filename.mp4
[MP4 Audio] filename.mp4
Как батником склеить их?
Накачал несколько любимых фильмов в формате BD Remux (копия диска со всеми папками и материалами). С помощью MkvToolNix вырезал ненужные мне дорожки и дополнительные материалы и сделал один файл MKV со всеми нужными дорогами, субтитрами и главами. Всё отлично, но выходные файлы получились слишком большого размера. Возможно сжать их без особой потери качества чтобы сохранилась вся структура фильма с субтитрами и главами? Не углубляясь сильно в матчасть, так сказать. Может есть годные проги с готовыми пресетами и т.д.
Все бдрипы в интернете либо неполные, либо слишком шакальные.
ffmpeg'ом пожми видеодорогу, да и все. Примерно вот так:
ffmpeg ^
-i "movie.mkv" ^
-c:v libx264 -crf 18 ^
-profile:v high -preset veryslow -level 4.1 -tune film ^
-c:a copy ^
-c:s copy ^
-y "movie_shakalny.mkv"
pause
или так:
for p in (1 2) do ffmpeg ^
-i "movie.mkv" ^
-c:v libx264 -b:v 8000k ^
-profile:v high -preset veryslow -level 4.1 -tune film -pass p ^
-c:a copy ^
-c:s copy ^
-y "movie_shakalny.mkv"
pause
8000kbps для 1080p - норм, но в идеале посмотреть сколько битрейта получается в первом варианте и пожать с ним во втором.
Там где начинается и кончается спойлер - стояло по два процента %%. Макаба их сожрала, блин.
Макакич не прикрутил еще нормальную вставку кода?
[code]
test
[/code]
Пpуфов, конечно же, не будет?
Ладно, я неточно объяснил.
Есть у меня в папке сотня файлов типа >>508015 . В файлах [MP4 1080p] находится только видео-дорога, в файлах [MP4 audio] только аудио-дорога. Имена у каждого файла с аудио и видео-дорогой идентичны, т.е. к примеру:
[MP4 1080p] ebin.mp4
[MP4 Audio] ebin.mp4
[MP4 1080p] ebin: ressurection.mp4
[MP4 Audio] ebin: ressurection.mp4
[MP4 1080p] ebin vs Caesar.mp4
[MP4 Audio] ebin vs Caesar.mp4
Всё получилось. В первом случае файл вышел 15гб, во втором (два прохода) 17.2, но разницы в качестве не заметил.
[CODE]ffmpeg -i D:\JoJoOpp1.mp4 -c:v libvpx-vp9 -pass 1 -b:v 0 -vf scale=-1:720:flags=lanczos -crf 48 -qmin 35 -qmax 55 -max-intra-rate 0 -threads 8 -speed 4 -tile-columns 6 -frame-parallel 1 -aq-mode 2 -an -f webm -[/CODE]
[CODE]ffmpeg -i D:\JoJoOpp1.mp4 -c:v libvpx-vp9 -pass 2 -b:v 0 -vf scale=-1:720:flags=lanczos -crf 48 -qmin 35 -qmax 55 -deadline good -max-intra-rate 0 -threads 8 -tile-columns 6 -speed 2 -frame-parallel 1 -lag-in-frames 1 -aq-mode 2 -c:a libopus -b:a 64k -vbr on -compression_level 10 -frame_duration 60 -y -f webm D:\JoJoOpp1.webm[/CODE]
Вроде бы норм, но в паре моментов видно артефакты, есть ли возможность улучшить или заставить более качественнее прорабатывать кадры
>есть ли возможность улучшить или заставить более качественнее прорабатывать кадры
speed 1 вместо speed 2, очевидно же
Должен быть доступ к бинарникам youtube-dl и ffmpeg. Указывается начальное время обрезки и длина. Нужно указывать, есть ли у источника поддержка DASH, желательно как-то сделать, чтоб сам определял. YouTube-dl может определить, но он полностью скачивает видео.
[CODE]
@echo off
set /p LINK=COPY-PASTE "VIDEO LINK" AND PRESS ENTER:
:BEGIN
set /p BEGIN=ENTER BEGIN POSITION FOR CUTTING IN SECONDS AND PRESS ENTER:
if not defined BEGIN goto BEGIN
:LENGTH
set /p LENGTH=ENTER LENGTH IN SECONDS AND PRESS ENTER:
if not defined LENGTH goto LENGTH
if not defined LINK goto LINK
if defined LINK goto START
:LINK
::@set LINK
set LINK=https://youtu.be/ae91V8Dme9c
:START
set /p DASH=DASH SUPPORT (YOUTUBE)(Y/N)
if not defined DASH goto :DASH
if /i %DASH%==Y goto :DASH
if /i %DASH%==N goto :NON-DASH
:DASH
echo PRESS "CTRL+C" TO STOP PROCESSING
for /F a in ('"youtube-dl -f bestvideo[ext=mp4] -g %LINK%"') do set a=a
for /F b in ('"youtube-dl -f bestaudio[ext=m4a] -g %LINK%"') do set b=b
ffmpeg -ss %BEGIN% -i "%a%" -t %LENGTH% -crf 0 -preset ultrafast temp-v.mp4
ffmpeg -ss %BEGIN% -i "%b%" -t %LENGTH% temp-a.wav
ffmpeg -i "temp-v.mp4" -i "temp-a.wav" out.mp4
del temp-v.mp4
del temp-a.wav
goto :EOF
:NON-DASH
for /F a in ('"youtube-dl -f best[ext=mp4] -g %LINK%"') do set a=a
ffmpeg -ss %BEGIN% -i "%a%" -t %LENGTH% -crf 0 -preset ultrafast -c:a pcm_s16le temp.mp4
ffmpeg -i "temp-v.mp4" -i "temp-a.wav" out.mp4
del temp.mp4
[/CODE]
2. Скрипт для создания скриншотов из онлайн-видео (YouTube) с периодичностью 1 кадр в 15 секунд (искал таким образом момент в длинном видео по превьюшкам в XnView). Должен быть доступ к бинарникам youtube-dl и ffmpeg. Нужно останавливать вручную или уменьшить значение 36000 до длины видео. Попробовал сделать определение через ffprobe, но из-за символа &, получаемого в прямой ссылке на файл, все загибается.
[CODE]
@echo off
set /p LINK=COPY-PASTE "VIDEO LINK" AND PRESS ENTER:
if not defined LINK goto LINK
if defined LINK goto START
:LINK
::SET LINK
set LINK=https://youtu.be/ae91V8Dme9c
:START
::SET TIME
set TIME=15
echo PRESS "CTRL+C" TO STOP PROCESSING
for /F a in ('"youtube-dl -f bestvideo -g %LINK%"') do set a=a
::for /F "delims=." b in ('"ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "%a%""') do set b=b
for /L c in (1,%TIME%,36000) do ffmpeg -ss c -i "%a%" -qscale 0 -y time-seconds-0%%c.jpg
[/CODE]
Очень странно, что нет нормального софта для подобных задач.
Должен быть доступ к бинарникам youtube-dl и ffmpeg. Указывается начальное время обрезки и длина. Нужно указывать, есть ли у источника поддержка DASH, желательно как-то сделать, чтоб сам определял. YouTube-dl может определить, но он полностью скачивает видео.
[CODE]
@echo off
set /p LINK=COPY-PASTE "VIDEO LINK" AND PRESS ENTER:
:BEGIN
set /p BEGIN=ENTER BEGIN POSITION FOR CUTTING IN SECONDS AND PRESS ENTER:
if not defined BEGIN goto BEGIN
:LENGTH
set /p LENGTH=ENTER LENGTH IN SECONDS AND PRESS ENTER:
if not defined LENGTH goto LENGTH
if not defined LINK goto LINK
if defined LINK goto START
:LINK
::@set LINK
set LINK=https://youtu.be/ae91V8Dme9c
:START
set /p DASH=DASH SUPPORT (YOUTUBE)(Y/N)
if not defined DASH goto :DASH
if /i %DASH%==Y goto :DASH
if /i %DASH%==N goto :NON-DASH
:DASH
echo PRESS "CTRL+C" TO STOP PROCESSING
for /F a in ('"youtube-dl -f bestvideo[ext=mp4] -g %LINK%"') do set a=a
for /F b in ('"youtube-dl -f bestaudio[ext=m4a] -g %LINK%"') do set b=b
ffmpeg -ss %BEGIN% -i "%a%" -t %LENGTH% -crf 0 -preset ultrafast temp-v.mp4
ffmpeg -ss %BEGIN% -i "%b%" -t %LENGTH% temp-a.wav
ffmpeg -i "temp-v.mp4" -i "temp-a.wav" out.mp4
del temp-v.mp4
del temp-a.wav
goto :EOF
:NON-DASH
for /F a in ('"youtube-dl -f best[ext=mp4] -g %LINK%"') do set a=a
ffmpeg -ss %BEGIN% -i "%a%" -t %LENGTH% -crf 0 -preset ultrafast -c:a pcm_s16le temp.mp4
ffmpeg -i "temp-v.mp4" -i "temp-a.wav" out.mp4
del temp.mp4
[/CODE]
2. Скрипт для создания скриншотов из онлайн-видео (YouTube) с периодичностью 1 кадр в 15 секунд (искал таким образом момент в длинном видео по превьюшкам в XnView). Должен быть доступ к бинарникам youtube-dl и ffmpeg. Нужно останавливать вручную или уменьшить значение 36000 до длины видео. Попробовал сделать определение через ffprobe, но из-за символа &, получаемого в прямой ссылке на файл, все загибается.
[CODE]
@echo off
set /p LINK=COPY-PASTE "VIDEO LINK" AND PRESS ENTER:
if not defined LINK goto LINK
if defined LINK goto START
:LINK
::SET LINK
set LINK=https://youtu.be/ae91V8Dme9c
:START
::SET TIME
set TIME=15
echo PRESS "CTRL+C" TO STOP PROCESSING
for /F a in ('"youtube-dl -f bestvideo -g %LINK%"') do set a=a
::for /F "delims=." b in ('"ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "%a%""') do set b=b
for /L c in (1,%TIME%,36000) do ffmpeg -ss c -i "%a%" -qscale 0 -y time-seconds-0%%c.jpg
[/CODE]
Очень странно, что нет нормального софта для подобных задач.
в обоих проходах или только в одном?
ладно, проблема сейчас такая образовалась, динамику обрабатывает хорошо, а вот статику хуево. А в вебмке у меня смена динамики и статики равномерная
Перекодирую потихоньку видосы, но постоянно к концу появляется ошибка "Invalid length 0x557d2 > 0x8da2ea0ca in parent". Ничего страшного или страшно?
У меня браузер vivaldi, и он не может в mp4, как починить?
Я на хроме сидел с первых публичных версий, надоел он мне, а вивальди заебись. Подскажите блять, а то обидно, браузер то хороший.
>K-Lite Standart у меня стоит
Вот поэтому у тебя ничего и не работает.
Это васяносборочка из говнокодеков срёт в системе похлеще любой мокрописьки.
Алсо, ты конченный штоле? В дрисне же кодеки искаропки стоят. Нахуя ты говном себе всё засрал?
>Это васяносборочка из говнокодеков срёт в системе похлеще любой мокрописьки.
А мне норм. Пользую на протяжении многих лет, брат жив.
>Ничего страшного или страшно?
На воспроизведение не повлияет. Это похоже баг у ффмпег какой-то.
А аргументация будет, кроме гринтекста и баивых картиночек, или как всегда говна пожуёшь, кулёма?
> А аргументация будет
Ты что дурной? Какая тебе аргументация? Я просто напомнил тебе, что ты утёнок, ну, чтобы ты особо не выёбывался.
Для двача или для проводника в винде?
> SSIM и PSNR для обоих файлов на пиках 2 и 3. В итоге VP9 на капелюшечку, но лучше.
Эти параметры нихуя не значат, качество совершенно не отображают
Вот ещё интересная ссылка, vp9 просто рвёт всех, а время кодирования можно подобрать такое же
https://mattgadient.com/x264-vs-x265-vs-vp8-vs-vp9-examples/
Да боже мой, хоть один здравомыслящий на этих сайтах для детей. Конечно они ничего не значат и реально можно только глазами, может vmaf, за него не знаю, но ссим и пснр это говно говна.
Слушай, а поясни что этот vmaf даёт
Вот сравнил 1 и 2 видео выдало 4 балла. Потом сравнил 2 и 1 выдало 2 балла. В чём смысл?
Тоже самое. Вообще после ффмпега у меня вебмки звучат тише. В плеере норм, а как слушаешь через браузер нужно громкость выкручивать.
Ну чому так сложно то. А что тогда делает -af volume=10dB которая в вики указана? У меня после нее изменения вообще практически никакие. От тех же 10дб в аудасити оглохнуть можно, а ффмпегу даже 100 похуй.
У синка звон стоит большой, у ланцоша, который используется по умолчанию, поменьше. Я прочитал что самый точный для уменьшения это supersample, но какой метод в ффмпеге ему соответствует - непонятно.
Вот это у тeбя горит
Я заю про -ss,-t и -to, но они дают порезать файл лишь раз.
Короче смотри, у каждой дороги в контейне есть свое место. Начиная от 0 и до количества разной ебанины, что запихнули в контейнер. У видеодороги всегда 0 место, обычно.
Имеем файл: https://pastebin.com/snwpKAA7
Мы хотим оставить видеодорогу с английской аудиодорогой и дорогой с русабом, значит карта будет выглядеть так:
-map 0:0 -map 0:5 -map 0:6
Также, если нам не нужны дороги с главами, удалим их добавив -map_chapters -1
Если ты выбираешь два или более входных файла, то для них карта будет выглядеть как -map 0:0 для видеодороги из первого файла и как -map 1:1 для аудиодороги из второго.
Тебе нужно несколько раз указать -ss -t
https://trac.ffmpeg.org/wiki/Creating multiple outputs
Спасибо
Ну значит делишь на [потоки] и их собираешь, либо проще запустить ffmpeg и через concat собрать в один - тогда кодировать лишний раз не надо.
Не конвертит файл, да и в принципе не берёт его никак, что делаю не так?
Там ниже возможно что-то написано. Мануалы то читать пробовал?
https://opensource.com/article/17/6/ffmpeg-convert-media-file-formats
Теперь permission denied
Был же гайд вебм треда, с ним уже через 15 минут первые вебмки конвертил
Теперь invalid argument
Не понимаю на ютубе они просто имена файлов пишут без путеё и всё работает.
У тебя есть две проблемы.
1.
Ты не выбираешь директорию для старта кодирования. У тебя команда выглядит так: c:\Windows\System32\ffmpeg
И если она срабатывает, значит в System32 лежит копия ffmpeg.exe
Тебе нужно класть кодируемый файл в папку с ffmpeg.exe, либо указывать путь до файла.
И тут у тебя вторая проблема.
2.
Путь до файла должен быть типа: "C:\zz\xxx.webm"
У тебя же он: "C:\zz>xxx.webm"
Шифт+ПКМ по пустому месту в папке>Открыть окно команд - Открывает командную строку из текущей директории.
Шифт+ПКМ по файлу>Копировать как путь - Копирует путь до файла с именем, собственно.
Мне всё больше это кажется каким-то тролленгом.
vp9 или h265? И что там daala?
vorbis или opus? Или вообще aac?
А по изображениям как, jp2 вин?
>vp9
А чем тебе H265 не угодил? Я имею ввиду, не для веба, а для фильмов. Вон, забугорные пираты только в него и кодируют.
А этот, твой, Vp9, только в webm контейнер можно запихать или еще куда влезет? В Матросоку, например..
Влезет, только ты сначала сам скодируй что-нибудь и сравни, потому что по поводу картинок по ссылке выше у меня очень сильные сомнения.
Перетолстил
Алсо, там же везде одинаковый битрейт, который не юзается нигде. А по динамическому битрейту только на 264/265 данные. Херня, а не тесты в общем.
> По качеству или чему сравнивать? Судя по тому сайту, vp9 вообще всем по размер/скорость сливает.
Ты по картинке смотри. Vp9 рвёт любого, особенно на низких битрейтах
>Почему чтобы быстро вырезать кусок, я должен указывать отрезок в секундах
Можешь указывать в кадрах.
-vf select=“between(n\,start_frame_num\,end_frame_num),setpts=PTS-STARTPTS"
> Можно -to юзать.
Очень медленно работает.
>-vf select=“between(n\,start_frame_num\,end_frame_num),setpts=PTS-STARTPTS"
Хуя се сложно.
Только во влажных грёзах. В начале этого треда показано, что libx264 и libvpx идут и по скорости и по сжатию ноздря-в-ноздрю.
По наблюдаемой мной ситуации x265 обгоняет x264 по сжатию в 1,2...1,5 раза ценой уменьшения скорости кодирования разиков в 5...10. Такое себе достижение.
>>531890
Очевидно же! С говном.
>>531781
У тебя оптимизационная задача из кучи критериев. Важность каждого определить трудно. Специально для таких случаев придумал синтетический метод ранжирования «при прочих равных».
Применяется так. Допустим, что время кодирования оставим на сладкое. Закодируем разными кодерами некоторый видеоряд под одинаковую итоговую ширину потока и сравним SSIM. Или закодируем под почти одинаковый SSIM, но сравним среднюю ширину потока. Опять же, нужно задаться каким-то вполне разумным пределом по искажениям, например:
- высококачественная картинка — SSIM > 22 дБ;
- хорошая картинка — 18 дБ < SSIM < 22 дБ;
- терпимая картинка — 14 дБ < SSIM < 18 дБ;
- низкокачественная картинка — 10 дБ < SSIM < 14 дБ;
- треш, угар, говно и мыло — SSIM < 10 дБ.
И в каждой из номинаций определять «победителя», а потом вручать специальные призы за скорость кодирования. Я занялся бы, но мне не до этого будет в 2019 году.
> Только во влажных грёзах. В начале этого треда показано, что libx264 и libvpx идут и по скорости и по сжатию ноздря-в-ноздрю.
На скриншоты посмотри, дебик
А в том что на vp9 намного меньше артефактов, особенно при низком битрейте. А x264 и x265 по качеству примерно одинаково ужасны
Хорошо. А теперь покажи мне, что это именно так так, как ты говоришь.
Набрать в гугле "ffmpeg h265"?
в текущей папке запустился ffmpeg, выбрал avs. файл, сделал два прохода видео, один проход звука, и на выходе объединил это в один output файл?
Что-то, похожее на это >>452576.
Какими параметрами прогнать видео с шадоуплея чтобы оно не херилось при заливке на ютуб?
Как раз таки на Ютуб надо заливать очень высокий битрейт
Если у тебя мало подписчиков надо заливать в 1440p
Попробую
В частности интересует, как человек добился такого результата. Сколько бы я не скачивал другие раздачи, но картинка была мыльная, как на первом пике.
Может кто помочь с изучением вопроса ? С чего стоит начать ?
Простите, если совсем не туда обратился, но вроде и то и то кодирование видео.
Заранее спасибо за ответ.
http://screenshotcomparison.com/comparison/134092
Прогнал дефолтными настройками с пресетами под crf23. Потери есть но незначительны. Если поиграть с настройками можно добиться желаемого результата. А вообще, все зависит от исходника. У меня он такой же мыльный как у тебя на втором пике.
Как резать MP4 по границам сегментов без энкодинга (через -c copy)? Когда указываю время начала обрезки -ss видео режется с начала сегмента указанного времени, а аудио дорожка в точности с указанного времени. В выходном файле в лучшем случае сначала видео идет без звука, потом где-то на середине первого сегмента включается звук и дальше всё ок. В худшем случае (наблюдается при загрузке, например, на борды) видео сначала полностью подвисает, а потом продолжает проигрываться. При этом правую границу обрезки, заданную через -t или -to адекватно режет.
Как привязать обрезку звуковой дорожки с началу сегмента видео? При подобной обрезке webm таких артефактов нет, всё адекватно режется.
Режу так
ffmpeg -ss 00:03 -to 02:15 -i input.mp4 -c copy output.mp4
Сразу отмечу, энкодинг не предлагать, важно сохранить исходное качество видео.
Mkvtoolnx умеет. Но мы в ффмпег треде, так что подождем лучшего ответа.
А исходное качество аудио можно и не сохранять. Намёк понятен? Если нет, то -c:v copy -c:a <кодек, в котором аудио закодиррованно> -b:a <битрейт с которым оно закодированно>
640x360, 5:18
В таком случае, отрезок аудио может быть потерян. Как тут, две секунды вначале.
Ты не понял, только при энкодинге видео выходный файл получается без артефактов, но нужно именно -c copy. Например, ты указал отрезать с 5 секунды, а это время выпало примерно на середину сегмента, поэтому ffmpeg возьмёт целый сегмент, и отрежет исходное видео с 4 секунды (время начала сегмента).
А аудио дорожка, как я понял, к сегментам видео не привязана и режется всегда по точно по указанному таймингу, и не важно энкодишь ты её или нет
Я, балбес, не заметил, что без звука шебм выгрузил.
>Не в топ порядке загрузил пикчи.
Анон тебе говорил про надписи на твоих картинках говорит, а не о том как у тебя карта легла.
когда он говорил про до он говорил про надпись before на твое рисунке a.png, а когда говорил про после - говорил про надпись after на другом твоем рисунке b.png.
И учитывая контекст твоих постов - надписи на твоих рисунках - ложь ну и в контексте не несут смысла
Так что ты анона не понял и ответил невпопад.
Вывел бесполезные значения в бесполезные графики, молодца
Поставь 100% инфы для восстановления когда будешь архивировать в винраре. А потом потестируй у макаки
pastebin тебе дали
Я пытаюсь скачать 4 минуты 1-часовой порнухи через эту команду:
ffmpeg -i "ссылка" -ss 00:38:40.00 -to 00:41:20.00 -c copy -speed 8 out.mp4
но он по 5-10 минут пытается дойти до этой отметки. Я проверил первые 00:00:30 секунд, команда рабочая, но как ускорить ебучую обрезку?
> извиняюсь за засорение треда
Ну такое, я вот мучался-мучался с этой "промоткой" где-то неделю, когда резал аниму, так и не решил, а ты мне сейчас готовый ответ принёс.
Теперь буду ловить флешбеки
не скачивает если вытаскивать сорс видива через ютуб-дл с ключиком --get-url и затем передвать этот урл в ffmpeg
Это уже тыщу раз обсосано на просторах гугла.
У меня скрипт который я только сегодня запилил на powershell это все делает, + сжатие результата выполняет через видимокарту невидии.
уже лет пять без всяких мокрописечных кодеков сижу и все работает, брузер хромог, видео смотрю по привычке корейским поделием KMplayer, там встроенные кодеки.
внатуре двачеры ебнутые, есть хитхаб, пастбин, да дохуя чего. Нет хочу ебать мозги себе и другим.
Это копия, сохраненная 5 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.