Опубликован первый стабильный выпуск библиотеки libavif 1.0, предлагающей кодировщик и декодировщик для формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1. Контейнер для распространения сжатых данных в AVIF полностью аналогичен HEIF. AVIF поддерживает как изображения в расширенном динамическом диапазоне (HDR, High Dynamic Range) и цветовом пространстве Wide-gamut, так и в стандартном динамическом диапазоне (SDR). В браузерах поддержка AVIF доступна начиная с выпусков Firefox 77 и Chrome 85. Код библиотеки libavif написан на языке Си и распространяется под лицензией BSD...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59679
Проект движется к успеху!
Осталось заставить AV1 пользоваться!
Я как-то попробовал закодировать с помощью AV1 на CPU. Даже 1 секунду полчаса не смогло закодировать. После чего вырубил нафиг.
- Ты видео закодировал?- Ага, всю ночь кодировал. С утра хозяин ресурсов придет.
А где тут NaCl?
Мне кажется что у вас где-то возникла ошибка и вы ожидали зря. Попробуйте перекодировать на GPU, обработка видео всё-таки должна быстрее проходить как-раз таки через GPU.
Не надо кодировать на видеокарте, что надо, это прописать курс карательной уринотерапии любителям этим заниматься.
Чтобы кодировать на GPU нужно сначала купить минимум RTX 30 Series, а чтобы купить RTX 30 Series нужно и иметь деньги в сумме которая удовлетворит всех перекупщиков и барыг начиная от производителя заканчивая российским магазинами, и иметь свободу выбора и наличие, если не втыкать в телевизор по вечерам с бутылкой пива - то все становится не так радужно в реальности. И это еще не упоминая курс доллара. В "национальной валюте" никто не будет расчитываться с Nvidia как бы о том не мечтал счастливый дедушка.
Мне ваши проблемы сложно понять, я из Украины. Насколько понимаю, купить видеокарту у вас всё-таки возможность есть, только не за что. Что тут можно сказать? Работать нужно. Пока у меня работа есть, хоть мои знакомые говорят что работы стало меньше для нас, более того много людей захотело войти в айти. Мне лично GTX 1080 хватет с 8 Гб. оперативки для личных потребностей. Мне всё-равно на курс доллара просто потому что его больше нельзя купить простому человеку. Ни доллара, ни евро для простых людей - требование НБУ. Тем не менее его можно снять за рубежом, но не более определённой суммы в неделю (12500 грн., это мало). Я бы вам порекомендовал прекратить депрессию и уныние, потому что массово это реально достаёт. Насколько мне известно у вас достаточно неплохое положение дел, поэтому мне не ясно что вы своим нытьем хотите сказать. Впрочем массы комментариев на западных сервисах возможно что подделаны.
Депрессия? Я спокоен как удав и никуда не спешу. Я лет 6 думал обновить видеокарту. Но каждый раз когда я собираюсь это сделать происходит мировое событие, то коронавирус, то тупо пустые полки и бешеные цены, то курс обвалится от чего снова бешеные цены, то у счастливого дедушки случится синдром императора, то курс снова обвалится. Я деньги лишние пустил на поправку здоровья и лечения всех зубов слава богу до 22 года, ибо буровые установки в школах из СССР убили половину зубов по факту. Настанут еще светлые времена как только весь пережиток и отрыжка совка сгинет с этой земли.
Да, массовые жалобы на такие мелочи как у вас, типа отсутстивя видеокарты при возможности её купить и сваливая ответственность на кого-то другого выглядит весьма депрессивно, потому как в среднем мне известны достаточно неплохие условия России. Тем не менее я Вас понял - либо вы из пятой коллоны, либо мой соотечественник из Украины, что весьма много объясняет. Обращаю внимание на ваше логическое заблуждение о светлых временах. В случае если весь пережиток и отрыжка совка сгниет с этой земли (и вы при этом останетесь живы), то вас просто ограбят и заживете вы на порядок хуже, тем не менее ваши депрессивные жалобы станут более обоснованы.
Так-что, с наилучшими пожеланиями,
Капитан Очевидность
Вам бы самому не помешало, вместо нытья в интернетиках, переехать жить в россию (если вы так свято уверены, что в указанной локации лучше живётся). А то, поди, сидите и ждёте пока всё само придёт. А в итоге получается ЛДНР и еще большее нытьё от вас таких ждунов.
Ей, богу, ни себе, ни людям. Сделайте всех счастливее - переедь.
Ну или как пишут о проблеме быстродействия вот тут: https://github.com/joedrago/avif/issues/11
Попробуйте воспользоваться другими библиотеками и если вы ищете скорость, то обратите внимание на: https://github.com/xiph/rav1e
Как написано в описании The fastest and safest AV1 encoder.
Особого выбора нет. Только libaom кодирует хорошо и относительно экономно расходует битрейт, но, артефачит. Скорость, конечно… Проблема усугуляется тем, что в несколько потоков кодировать нельзя, это вызывает ощутимую просадку качества (как и со всеми прочими кодеками). Т.е. ядрами забить в любом случае не получится, нужны быстрые ядра и simd.
> Особого выбора нет. Только libaom кодирует хорошо и относительно экономно расходует битрейт,
> но, артефачит. Скорость, конечно…А где он артефачит то? В упор не вижу даже на хорошем мониторе. А скорость - вкатить speed=3, тайлов сделать 2x2 хотя-бы если ядер много, а если этого мало а ядер дофигища взять менеджер кодирования с дум9 - который параллелизует в стиле гугола: нарезав мувик на сегменты и запустив их кодироваться параллельно. Так можно даже самый крутой EPYC озадачить на все ядра. С понятным ускорением процесса.
> Проблема усугуляется тем, что в несколько потоков кодировать нельзя,
Да все можно если захотеть.
> это вызывает ощутимую просадку качества (как и со всеми прочими кодеками).
Вон тот фортель с посегментным кодированием страдает этим сильно меньше. Ну да, требует "оверлей менеджер" который вход на сегменты разобьет и потом сведет в 1 мувик опять.
> Т.е. ядрами забить в любом случае не получится, нужны быстрые ядра и simd.
Получится при должном подходе. Чуваки с дум9 подтвердят.
А то что современные кодеки жрут больше ресурсов на кодирование - вы ж не думали что снижение битрейта без урона качеству нахаляву дается? Кодек сильно больше вариантов кодирования каждого блока для этого опробует. И одна из причин по которым есть мнение что постепенно рост эффективности кодеков станет замедляться, опробовать еще больше вариантов как кодировать вот это и вон то в надежде что так данных еще меньше передавать - станет слишком накладно по вычислениям.
H.264 этим не страдал - но у него и опций кодирования сильно меньше, так что на такой же битрейт с тем же качеством он оказывается в принципе не способен. И один и тот же мувик на H.264 и AV1 на ютубе по потоку отличается раза в 2 и больше. При том 264 еще и выглядит хуже. Прошлое поколение кодека как ни крути.
Давно не был на дум9. Можно ссылку на этот менеджер кодирования?
С x265 сравнивай хотя бы, avc доисторический. У него-то получается лучше. Какой в этом смысл? Хоть он и не очень тоже, но зато бесплатно. Не знаю, я чёт сомниваюсь, что кодек брутфорсит, это же лосси. И смысл не получить метрики, смысл, чтобы качество сохранялось. Это плохо получается. Libvpx-vp9 пока что по всем параметрам лучше av1. Что хорошо это нет альтернативной убогой бесплатной реализации кодека как в истории с x265.
> Libvpx-vp9 пока что по всем параметрам лучше av1.Снова вы этот бред в комментах проталкиваете. Вам тут уже говорили, что во-первых, это явная неправда, а во-вторых, у вас предвзятый (а значит не объективный) подход к сравнению. Вы так застрянете в своём "манямирке".
Я кодирую терабайты контента, и знаю, о чём говорю. Предвзятости тут быть не может, я считаю все кодеки дефективными и результаты тестов не совпадали с моими ожиданиями, что может быть объективнее?
Вы знаете, я работаю с компанией, которая делает софт для телевидения и скажу вам по секрету - лучшие кодеки проприетарные, вообще не продаются. Если вы хотите действительно хороший кодек, то напишите свой и продайте или усовершенствуйте бесплатный. Если торговля пойдёт успешно или вы заинтересуете какую компанию, то вам и на новую видеокарту хватит. Более того отличная американская музыка и видео получается не только благодаря особому софту, но и благодаря особому (весьма дорогому) железу. Не забудьте подать патент на свою разработку. Очень сложно чем-то помочь в проблеме "артефачит", тем не менее описание как отлаживать библиотеку вроде есть: https://github.com/darkskygit/libaom#debugging-debugging
Современные видеокарты обоих флагманов умеют аппаратно кодировать в AV1, другое дело что данный аппаратный кодек практически нельзя модифицировать софтварно, но оно считай никогда и не нужно. Там даже якобы у дискреток Intel ARC есть харварный енкодер, но когда я пытался найти тесты говорили что в драйвере еще это не реализовано было под вендой (год назад, как сейчас - не знаю).А декодеры сейчас устраивают в ARM Графику и вот MediaTek даже есть и Realtek https://www.realtek.com/en/press-room/news-releases/item/rea... гордится своими достижениями. Другое дело что пройдет (ИМХО) еще лет 10 прежде чем произойдет массовый переход на AV1.
Google же до сих пор вынужден поддерживать свой самый первый Youtube Data API и H264 просто потому что еще очень много в обиходе самый первых SmartTV FullHD, это те которые были лет 15 назад. Более того еще полно ноутбуков и устаревших компьютеров в обиходе которые не умеют VP9. Youtube это отличный пример обратной совместимости с сертифицированным оборудованием (в отличие от линукса где stable api nonsense).
Я могу свой старый LG 15 летней давности (у которого в прошивке кстати линукс) через их оболочку смотреть YouTube без каких либо ограничений по доступу ко всему видео сервиса, там и авторизация работает, и подписки. Кто может взять линукс условно Ubuntu 14.04 и пользоваться нормально интернетом? Там как минимум нужно свежий браузер притащить и заставить его работать, если случится чудо и оно не потребует обновления половины базовой системы.
Нет, это потому что vp9 слишком медленно кодируется и хреново выглядит, непредсказуемо замыливает среди прочего. А av1 вообще ни о чём, никогда он не взлетит с такими параметрами. Дружно ждём av2.
> Нет, это потому что vp9 слишком медленно кодируется и хреново выглядит, непредсказуемо
> замыливает среди прочего. А av1 вообще ни о чём, никогда он
> не взлетит с такими параметрами. Дружно ждём av2.Ващет если у вас VP9 медленно кодируется - вам пора бы уже проапгрейдить свой тетрис. Никто не будет равняться на железо 2003 года выпуска в СОВРЕМЕННОМ кодеке. А на современном он уже даже с deadline == good и качеством типа 0...3 уже около реалтайма по скорости на многих мувиках. Не говоря про ускоренные и реалтаймные режимы.
Да и AV1 мало того что разогнали в разы - так при куче ядер его нехило распараллелить можно. И если оно не параллелится на все 100500 ядер одним инстансом кодека - воон там на дум9 чуваки сделали супершляпs для H256/266/AV1 где оно режет мувик на сегменты, и пускает каждый сегмент кодироваться на своей группе ядер. И так можно хоть на 100500 ядер отмасштабироваться.
А на финише окончательный пинок что-то типа ffmpeg -v:copy агрегирует всю толпу в один финальный файл (тоже той супершляпой оркеструется).
https://en.wikipedia.org/wiki/AV1#Hardware
> https://en.wikipedia.org/wiki/AV1#HardwareНу значит Nvidia RTX 40 Series еще лучше правда же! Сразу киловатный БП подрубай, всего то 75 тысяч рублей.
> Ну значит Nvidia RTX 40 Series еще лучше правда же! Сразу киловатный БП подрубай, всего то 75 тысяч рублей.как любят максималисты завирать, младшая 4060 вполне потребляет 160 Вт в играх, а блок требует в 550 Вт.
Стоит 35 тысяч рублей, но собственно если посмотреть на одни графики по каким-то курсам, то неудивительно.
> Google же до сих пор вынужден поддерживать свой самый первый Youtube Data
> API и H264 просто потому что еще очень много в обиходе
> самый первых SmartTV FullHD, это те которые были лет 15 назад.Ну дык, они там оставили fallback типа 360p, на большее бандвизу жалко да и не потянет оно большее чего доброго. А кто хочет картинку лучше - вон там VP9 и AV1 есть, сильно меньше бандвиза на то же качество картинки лопают. Гугл не нанимался за ломовой трафик платить.
> Более того еще полно ноутбуков и устаревших компьютеров в обиходе которые
> не умеют VP9.Да с ютубовским битрейтом он и в софте рюхается нормально. Вон древний 2-ядерный 64 бит арм планшет на 2 ГГц спокойно 1080p VP9 и даже AV1 жует. Он изначально был с чем-то типа 4-го андроида аж. Но там реально что-то типа 6 и более актуальных браузилок, конечно.
> Youtube это отличный пример обратной совместимости с сертифицированным
> оборудованием (в отличие от линукса где stable api nonsense).Ну вы ж гуглу рекламу отсматриваете а линуху - нет. И комитов как с козла молока. А разработчикам дров в ядре и так нормально.
> подписки. Кто может взять линукс условно Ubuntu 14.04 и пользоваться нормально
> интернетом?В основном упрется в древний браузер. Но вот ютуб и там работать будет, таки, вполне нормально. Пока тупые хипстеры с горящими глазами ломали себе сайты распоследними фичами, гуглоплеер видео работает на вообще любом мыслимом мусоре отдаленно напоминающем браузер. Этим про от хипстеров и отличаются. Поэтому у хипстеров сайт я и моя ср@ная кошка а у гугли ютуб.
> Там как минимум нужно свежий браузер притащить и заставить его
> работать, если случится чудо и оно не потребует обновления половины базовой системы.А можно и не обновлять - ютуб работать будет и так. Опеннет кстати тоже.
> Ну дык, они там оставили fallback типа 360p, на большее бандвизу жалкоНа ютубе до сих пор H264 1080p кодируются все ролики и будут в будущем.
> Да с ютубовским битрейтом он и в софте рюхается нормально. Вон древний
> 2-ядерный 64 бит арм планшет на 2 ГГц спокойно 1080p VP9
> и даже AV1 жует. Он изначально был с чем-то типа 4-го
> андроида аж. Но там реально что-то типа 6 и более актуальных
> браузилок, конечно.Быть такого не может. Nexus 2013 который на андроиде 6 был не может толком вывезти VP9, а ты про AV1 говоришь.
> Ну вы ж гуглу рекламу отсматриваете а линуху - нет. И комитов
> как с козла молока. А разработчикам дров в ядре и так
> нормально.Линуху платят корпорасты по типа Мелкософта, чего-то у них нет желания улучшать структуру своего сишного говнокода.
> А можно и не обновлять - ютуб работать будет и так. Опеннет
> кстати тоже.Конечно куда оппенет денится он же на таблицах из 90-тых, админ развел пользователей как лохов на донаты, а обещания свои исполнять даже не думает. Хотя в этой стране везде так начиная от чинуш заканчивая счастливым дедушкой.
Что ты несёшь? Выруби компьютер с телефоном на неделю-другую и отдохни! Мне сложно представить молодого, свежего и адекватно мыслящего человека, который пишет вот такое. А нет знаний, то не стоит говорить то чего не знаешь. Это нормально не знать всего! И не нормально, очень глупо нести отсебятину того, чего не знаешь.
> Осталось заставить AV1 пользоваться!Зачем кого-то заставлять? Гугол им уже ютуб свой завалил, браузеры и гугловские ютубпроги его давно умеют - им и пользуется пара миллиардов народа уже, соответственно.
Без аппаратной поддержки ненужно
Так и не понел зачем нужна эта тормозная хрень когда есть православные жпг и пнг. Разве что только гуглу у которого есть кластеры чтобы перекодировать видео за нормально время, а экономия 3% места освобождает сотни серваков ютуба. Обычным пользователям такие кейсы не светят.
Это не для нас это для них, чтобы экономить место на серверах, возможно и интернет трафик, и быть независимыми от уплаты кому-то за использования кодека.
PNG? Это о каком PNG? PNG видео кодек который сжимает с битрейтом 50Мбит? Другого видео кодека PNG не знаю.
Вроде 50Мбит. Десятки Мбит это точно.
Даже если всё видео с youtub будет отдаватся в PNG с битрейтом 20Мбит мобильные операторы подавятся. А проводному интернету сильно поплохеет.
фоточки, видео, аудио простых юзеров они и хранят + экономят место всем. юзер уже откодированное может получить себе)
--
как и экономию трафика. существенную
Наверно не подавятся в крупных городах миллионных. Не все смотрят youtube. Но, насколько я помню я сжимал, вроде PNG видео кодек сжимает с постоянным битрейтом в не зависимости от разрешения. Перепроверять надо.
Я это делал лет 10-15 назад уже плохо помню.
Так и не понел зачем нужна эта тормозная хрень когда есть православные жпг и пнг.> Чувак вон, никогда не занимавшийся сжатием графики, на коленке придумал QOI, который жмётся лучше PNG и при этом как сжимается, так и расжимается заметно быстрее. И без всяких патентов. Это просто пример. Так что забудь уже про png - он хорошо только повсеместной поддержкой, а по всему остальному устарел безнадёжно.
А кто объяснит, какой щас основной видеокодек на Youtube? Качаю видео сотнями, и так понял что основной все же Webm. Но какие-то новые видосы в 4K видел в AV1. Это Youtube сам решает, какое видео во что кодировать, или юзер может выбирать? А еще интересно, какое преимущество имеет этот Webm перед MP4.
Ну, во первых, Webm это контейнер, а во вторых, насколько я вижу, основные это VP9 и AV1
*AVC1
Трансляции всегда в AVC1 (H264)
Основной кодек VP9 не для трансляций.
По каким критериям делают выбор сжимать в AV1 в место VP9 мне неизвестно.
Трансляции у одного и того же видео бывают и в VP9, но у меня для браузеров трансляции всегда это AVC1.
Точнее в браузерах.
Попадаются видео с тремя кодеками. AVC1, VP9, AV1. Смотри свойтва в видео в youtube плеере. В свойствах написано каким кодеком сжато видео. На видео нажми левой кнопкой и выбери информацию о видео.
Как бы жмут в несколько вариантов, а какой вариант отдавать для просмотра вам или мне, критерий почему вы или я смотрите видео сжатое именно этим кодеком, а не другим в браузере я не знаю.
Если не знаешь что выбрать, бери h264 (avc), но он не обязательно лучше vp9 и как правило выше битрейт и больше артефактов, но меньше мыла. Если запредельное мыло устраивает и хочется картинку в среднем получше, а файлы поменьше, то твой выбор vp9. Главное, не бери аудио в opus, я раньше совершал такую ошибку и, как оказалось, это было недальновидно. Все варианты плохие, но ты можешь выбирать получше.
> А кто объяснит, какой щас основной видеокодек на Youtube? Качаю видео сотнями,Ну вот клацни на видео правой кнопкой мыша, там детали есть. И написано что за кодек.
> и так понял что основной все же Webm. Но какие-то новые
> видосы в 4K видел в AV1.Webm это так то контейнер. Обычно в нем VP9 или AV1 как раз. В VP9 кодировать быстрее так что мувиков в нем больше разумеется. А в AV1 кодируют самые топовые, HDшные и траффикастые первым делом. По мере доступности билдфермы на транскодирование залитого ранее и остальное понемногу в него перегоняют. Но пережать все мувики с сотворения ютуба тяжелым кодеком далеко не мгновенный процесс даже для гугли с кодингфермой. С VP9 та же примерно история была в свое время.
Сейчас VP9 версия есть у вообще всех видео, кроме, может быть, лив потоков. И то после завершения лив его "архивная" версия в VP9 оперативно перегоняется. Ну а AV1 - в порядке приоритета, самые трафикастые популярные и крутые визуально сначала, остальное по ходу дела.
> Это Youtube сам решает, какое видео во что кодировать, или юзер может выбирать?
Сам решает. И делает несколько версий. Даже H.264 например делает для старых клиентов. Типа древних телевизоров каких. Но там максимум сейчас зажали толи в 360, толи в лучшем случае 720p и качества выше в H.264 на ютубе принципиально не бывает: слишком много бандвиза жрет, слишком дорого для гугла.
> А еще интересно, какое преимущество имеет этот Webm перед MP4.
В MP4 контейнере (он на самом деле ISO BMFF называется так то) изначально VP9 и AV1 не были специфицированы, поэтому им и не пользовались для этого. С какого-то момента таки как минимум AV1 для него был одобрен ISO и можно в принципе уже получить и "якобы mp4" в котором внутрях по факту AV1 окажется. Так чисто технически - можно. Делает ли кто-то хз, гугол в webm в основном сервирует.
Если что webm это урезанная спецификация Matroska (mkv) с ограниченным подмножеством фич. Матрешка изначально очень фичастая штука и для вебплеера столько все же было перебор и вело к проблемам совместимости, т.к. браузеры в принципе не умеют декодировать ВСЕ кодеки которые в матрешку можно затолкать. Скажем про какой AC3 браузеры не знают даже в проекте.
H264
youtubchik@localhost$ yt-dlp <video URL> -F