Компания Meta, властями России признанная экстремистскою, сообщила на позапрошлой недѣлѣ во вторник (21 февраля) об очередном значительном достижении: видеоролики Facebook Reels и Instagram Reels теперь будут доставляться ко зрителям в формате AV1.
Если прочесть сообщение Meta повнимательнѣе, то тогда сдѣлается ясно видно, какой выбрали видеокодировщик (SVT-AV1) и какой выбрали декодировщик (dav1d) и какими соображениями при этом руководилися.
Выбор SVT-AV1 в качестве кодировщика опирался на ту же подборку графиков (вдоль горизонтальной оси — время кодирования, вдоль вертикальной — проценты отношения качества к объёму файла), о смысле которой рассуждал в ноябре позапрошлого (2021) года David Ronca («Director, Video Encoding, Facebook»). Постоянные читатели моего канала могут помнить, что я сослался на это рассуждение и приложил эти графики в обзоре «Видеозаписи AV1 в файлах MP4 до 5 мегабайтов на страницах Telegraph в 2022 году».
Выбор dav1d в качестве декодировщика продиктован, с одной стороны, результатами тестирования (согласно которым dav1d на большинстве устройств способен без заикания показывать 30 кадров в секунду для видео 720p на большинстве мобильников, но подымается и до возможности справиться с видео 1080p на устройствах как дорогостоящих, так и среднего цѣнового диапазона), а с другой стороны — пониманием того, что на другие декодировщики нельзя полагаться. На компáх нельзя полагаться на аппаратные декодировщики формата AV1, потому что ими оснащены только новѣйшія видеокарты Intel и nVidia. На мобильниках под Android нельзя полагаться ни на аппаратные декодировщики формата AV1, потому что они есть только въ наиболѣе новых (и притом недешёвых) устройствах (скажем, Google Pixel 6 Pro или Samsung Galaxy S21), ни на программный декодировщик libgav1 (встроенный в систему Android), потому что тот уступает dav1d по возможностям (так что libgav1 будет тормозить и заикаться при воспроизведении таких видео, с которыми dav1d всё ещё справился бы на том же устройстве). На эппловских устройствах нельзя полагаться ни на аппаратные, ни на программные декодировщики AV1, так как нѣтъ ни тѣхъ, ни других в готовом виде: всё приходится приносить с собою.
Именно так разработчики Meta и поступили: принесли с собою, так что послѣднія версіи приложений Facebook и Instagram внутри себя содержат dav1d и именно им декодируют видео AV1 в своих видеопроигрывателях.
Выбор, подобный этому, на нѣсколько лѣтъ раньше (не позднѣе 2019 года) пришлось сдѣлать и разработчикам браузеров. Вы найдёте декодировщик dav1d встроенным во браузеры Google Chrome и Mozilla Firefox как на компáх, так и под Android. Без dav1d поддержка AV1 во браузерах была бы гораздо хуже.
А что же Telegram? — а Telegram медлит, и именно этим вызваны послѣднія словá моего предыдущего сообщения, осуждающие отставание Телеграма от Фэйсбука. Сейчас внедрение dav1d в приложения Телеграма находится ещё только на стадии первого шага:
① Telegram Desktop обзавёлся поддержкою AV1 ещё под конец прошлого (2022) года, и этой новинке я порадовался 8 января. Технически поддержка AV1 достигнута именно использованием декодировщика dav1d, так что даже на компáх ≈десятилѣтней давности видео AV1 не заикается, если это TrueColor fullHD на 30 кадров в секунду. (Не заикается и тогда, когда использует только один из способов выхода за упомянутые мною рамки: либо 4K вмѣсто fullHD, либо 60 кадров в секунду вмѣсто 30 кадров, либо тридцатибитные пикселы вмѣсто TrueColor.)
② Telegram под Android не содержит dav1d и оттого принуждён полагаться на возможности libgav1. Слѣдовательно, показ AV1 начинает подтормаживать въ тѣхъ наиболѣе динамичных сценах видео AV1, которые dav1d декодировал бы без заиканий.
③ Telegram под iOS также не содержит dav1d, но оттого вообще не может декодировать AV1.
Что же дѣлать?
Во-первых, пожалуйста, лайкните предложение о поддержке AV1 в Телеграме.
Во-вторых, установите видеопроигрыватель VLC (для iOS или для Android). Движок dav1d был придуман именно для нужд VLC. Вы сможете посмотрѣть в VLC видеофайл AV1, если сперва скачаете видео из канала в файл на смартфоне.
Если прочесть сообщение Meta повнимательнѣе, то тогда сдѣлается ясно видно, какой выбрали видеокодировщик (SVT-AV1) и какой выбрали декодировщик (dav1d) и какими соображениями при этом руководилися.
Выбор SVT-AV1 в качестве кодировщика опирался на ту же подборку графиков (вдоль горизонтальной оси — время кодирования, вдоль вертикальной — проценты отношения качества к объёму файла), о смысле которой рассуждал в ноябре позапрошлого (2021) года David Ronca («Director, Video Encoding, Facebook»). Постоянные читатели моего канала могут помнить, что я сослался на это рассуждение и приложил эти графики в обзоре «Видеозаписи AV1 в файлах MP4 до 5 мегабайтов на страницах Telegraph в 2022 году».
Выбор dav1d в качестве декодировщика продиктован, с одной стороны, результатами тестирования (согласно которым dav1d на большинстве устройств способен без заикания показывать 30 кадров в секунду для видео 720p на большинстве мобильников, но подымается и до возможности справиться с видео 1080p на устройствах как дорогостоящих, так и среднего цѣнового диапазона), а с другой стороны — пониманием того, что на другие декодировщики нельзя полагаться. На компáх нельзя полагаться на аппаратные декодировщики формата AV1, потому что ими оснащены только новѣйшія видеокарты Intel и nVidia. На мобильниках под Android нельзя полагаться ни на аппаратные декодировщики формата AV1, потому что они есть только въ наиболѣе новых (и притом недешёвых) устройствах (скажем, Google Pixel 6 Pro или Samsung Galaxy S21), ни на программный декодировщик libgav1 (встроенный в систему Android), потому что тот уступает dav1d по возможностям (так что libgav1 будет тормозить и заикаться при воспроизведении таких видео, с которыми dav1d всё ещё справился бы на том же устройстве). На эппловских устройствах нельзя полагаться ни на аппаратные, ни на программные декодировщики AV1, так как нѣтъ ни тѣхъ, ни других в готовом виде: всё приходится приносить с собою.
Именно так разработчики Meta и поступили: принесли с собою, так что послѣднія версіи приложений Facebook и Instagram внутри себя содержат dav1d и именно им декодируют видео AV1 в своих видеопроигрывателях.
Выбор, подобный этому, на нѣсколько лѣтъ раньше (не позднѣе 2019 года) пришлось сдѣлать и разработчикам браузеров. Вы найдёте декодировщик dav1d встроенным во браузеры Google Chrome и Mozilla Firefox как на компáх, так и под Android. Без dav1d поддержка AV1 во браузерах была бы гораздо хуже.
А что же Telegram? — а Telegram медлит, и именно этим вызваны послѣднія словá моего предыдущего сообщения, осуждающие отставание Телеграма от Фэйсбука. Сейчас внедрение dav1d в приложения Телеграма находится ещё только на стадии первого шага:
① Telegram Desktop обзавёлся поддержкою AV1 ещё под конец прошлого (2022) года, и этой новинке я порадовался 8 января. Технически поддержка AV1 достигнута именно использованием декодировщика dav1d, так что даже на компáх ≈десятилѣтней давности видео AV1 не заикается, если это TrueColor fullHD на 30 кадров в секунду. (Не заикается и тогда, когда использует только один из способов выхода за упомянутые мною рамки: либо 4K вмѣсто fullHD, либо 60 кадров в секунду вмѣсто 30 кадров, либо тридцатибитные пикселы вмѣсто TrueColor.)
② Telegram под Android не содержит dav1d и оттого принуждён полагаться на возможности libgav1. Слѣдовательно, показ AV1 начинает подтормаживать въ тѣхъ наиболѣе динамичных сценах видео AV1, которые dav1d декодировал бы без заиканий.
③ Telegram под iOS также не содержит dav1d, но оттого вообще не может декодировать AV1.
Что же дѣлать?
Во-первых, пожалуйста, лайкните предложение о поддержке AV1 в Телеграме.
Во-вторых, установите видеопроигрыватель VLC (для iOS или для Android). Движок dav1d был придуман именно для нужд VLC. Вы сможете посмотрѣть в VLC видеофайл AV1, если сперва скачаете видео из канала в файл на смартфоне.