LINUX.ORG.RU

Тормозит видео 720p (60fps) в Firefox

 ,


0

1

Добрый день.

Ноутбук с DualCore Intel Celeron N3050, 2166 MHz (Intel Braswell, встроенная графика), 2 ГБ RAM. Сейчас установлен MX Linux 18.3, но проблема и в других дистрибутивах (Ubuntu, Debian).

При попытке посмотреть youtube-видео в качестве 720p (60fps) в Firefox (последней версии) происходит потеря кадров. То есть, звук идет, а изображение надолго замирает. При качестве ниже, например 480p, проблемы нет. На Windows 7 в тех же самых условиях проблемы нет (при воспроизведении видео кодек один и тот же). Потребление ресурсов в момент просмотра видео и в Linux, и в Windows примерно одинаковое. В Linux загрузка процессора около 80% и есть свободная память.

Нашел, как проблему можно не решить, а обойти, если поставить расширение h264ify, которое отключает кодек VP9.

Но хотелось бы не обойти, а найти решение проблемы, если это возможно и, в образовательных целях, узнать, кто или что является причиной данной проблемы в Firefox именно под Linux.

Спасибо за помощь.

UPD. В теме предполагали, что Firefox не нагружает процессор и предложили поставить Opera (может там будет больше нагрузка и видео будет идти плавнее).

Проверил. Действительно, Opera загружает процессор больше 90% и потеря кадров намного меньше (и загрузка, и потеря кадров еще меньше, если включить полноэкранный режим). Если в Firefox было невозможно смотреть видео, то в Opera - вполне терпимо.

Думаю, можно заключить, что Opera использует возможности моего оборудования эффективнее, чем Firefox.



Последнее исправление: newbl (всего исправлений: 3)

Ответ на: комментарий от newbl

Ясно, тогда стоит это уточнить в первом посте. Единственное решение для 60fps - использовать локальный видеоплеер (типа mpv) + youtube-dl.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от newbl

только что это принципиально меняет

60fps требовательнее чем стандартные 30 (или сколько там, 25?) fps, так что это важная информация.

Kron4ek ★★★★★
()
Ответ на: комментарий от anonymous

Чёрт, вы правы. На линуксе вот это видео в 4к тормозит https://vimeo.com/93003441 и не декодируется видеокартой. В mpv vdpau нагружает декодировщик (на другом видео). Обидно за родной браузер, это же false advertising (в хромиуме такое же, просто в хромиуме у меня 4к видео тормозило, а в опере нет).

linuxnewbie
()
Ответ на: комментарий от Kron4ek

60fps требовательнее чем стандартные 30 (или сколько там, 25?) fps, так что это важная информация.

Это я понимаю. Но с точки зрения поиска решения и сравнения работы в разных ОС...

newbl
() автор топика
Ответ на: комментарий от newbl

Выше уже давали ответ, Firefox на Linux не поддерживает аппаратное декодирование видео в отличие от Windows версии.

Kron4ek ★★★★★
()
Ответ на: комментарий от linuxnewbie

Какой «false advertising»?

Тебя же честно на странице opera://flags предупреждают: «Будьте осторожны, использование экспериментальных функций может привести к сбоям».

fornlr ★★★★★
()
Ответ на: комментарий от anonymous

С нуво начинало показывать чёрные квадраты вместо интерфейса и зелёную мозаику вместо видео. Наверное хромиум что-то «исправил» с тех пор. Но vaapi у меня на нвидии никогда не работал в любом случае, только vdpau (который что-то прикапывают последнее время?).

linuxnewbie
()
Ответ на: комментарий от linuxnewbie

Происходит — браузер неверно распознаёт свои возможности. Потому что ты ставишь флаг «верь в свои силы и пофиг».ю

Но тебя предупреждали.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от Kron4ek

Выше уже давали ответ, Firefox на Linux не поддерживает аппаратное декодирование видео в отличие от Windows версии.

Видимо, я не до конца понимаю. Может быть вы мне и сможете объяснить.

Чтобы браузер мог использовать аппаратное декодирование, оно должно быть поддержано аппаратным обеспечением. У меня оно его не поддерживает. Значит, в моем случае, то, что Firefox в Windows его поддерживает, не должно помогать ему. Поправьте меня.

newbl
() автор топика
Ответ на: комментарий от fornlr

Вот так отключишь флаг expose remote access to the internet, а на деле ничего не отключается.

linuxnewbie
()
Ответ на: комментарий от Kron4ek

Я уже выше писал — GPU декодирование VP9 видео на вендах старее чем Windows 10 недоступно. И неважно какое железо.

fornlr ★★★★★
()
Ответ на: комментарий от newbl

Все правильно, значит проблема в чем-то другом. Может, софтварный декодировщик vp9 на Windows лучше работает, а может и сам Firefox тоже. В общем, не знаю.

Kron4ek ★★★★★
()
Ответ на: комментарий от newbl

Скорее о разработке.

А когда было по-другому? Оптимизациями будут заниматься только когда это явно будет приводить к росту прибыли. Или к большей доле рынка в случае бесплатного распространения. Но это опять-таки ради роста прибыли.

i-rinat ★★★★★
()
Ответ на: комментарий от linuxnewbie

Удивительно, но в файрфоксе под линуксом не могут это осилить уже многие годы.

anonymous
()
Ответ на: комментарий от linuxnewbie

Казалось бы, в чём проблема. Это ведь задача ffmpeg и проблема ffmpeg, а браузер знай себе дёргай апи.

Под виндой Fx использует DXVA2 напрямую.

i-rinat ★★★★★
()
Ответ на: комментарий от fornlr

h264 видео не играется - помогите!!!

ей просто нужен ffmpeg скомпилированный llvm или что-то вроде того, я скачиваю отсюда и всё работает https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/0.39.0/0.39... (надо положить это файл в /usr/lib64/opera/libffmpeg.so достаточно неочевидно)

Там говорят у флеша опять проблемы с глибц, это объясняет почему он у меня не работает? Projector так вообще содомию какую-то кажет, приходится в вайне запускать.

linuxnewbie
()

Под хромиум есть пользовательские сборки с патчами, которые включают аппаратное декодирование, но как я понимаю пользователи нвидии здесь пролетают (по крайней мере я пробовал и у себя разницы не заметил)

Можно попробовать его, но естественно есть риск, что все это дело будет крашится и зависать

Официальной поддержки аппаратного декодирования нет ни в одном браузере под линукс, и судя по всему не будет еще долго (никогда?)

----

На крайняк youtube-dl + mpv. Юниксвей, фить ха

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 2)
Ответ на: комментарий от Midael

На блобе работает (h264) разница в загрузке проца проентов 60. VP8 / 9 не работает

anonymous
()
Ответ на: комментарий от newbl

Ни один браузер в linux не поддерживает аппаратное декодирование из коробки.

targitaj ★★★★★
()
Ответ на: комментарий от fornlr

Решения тут нет. Видеосистема на линуксах хуже чем под виндовс

Полная чушь. На маздайке вообще никакой «системы» нет, всё создано и поддерживается конечными вендорами. А поддерживается лишь потому, что вендор хочет доить хомячка, а у хомячка маздайка(со всеми вытекающими).

Firefox на линуксах хуже чем под Windows

Это говно хуже везде.

Tsaruchetka
()
Ответ на: комментарий от newbl

Значит, главная причина, по которой в Windows процессор справляется с видео, а в Linux нет, заключается именно в работе самого Firefox, а не связке оборудование-ос? Или и то, и другое?

То и значит.

Tsaruchetka
()
Ответ на: комментарий от Tsaruchetka

Ну это ложь.

Вот https://www.microsoft.com/en-us/download/details.aspx?id=49188

Сама MS сделала удобную и единую штуку для браузеров в своей ОС. С поддержкой даже VP9. Ну собственно создатели браузеров это и используют.

ЗЫ: «доить» ну тупые фанатики это так могут назвать. А так да, без денег софтовые продукты туго делаются. Собственно о том и тема.

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

Ну это ложь.

Нет, это голоса пропаганды в твоей голове.

Сама MS сделала удобную и единую штуку для браузеров в своей ОС.

Полная и нелепая чушь.

a specification

Ой, методичка потекла.

С поддержкой даже VP9. Ну собственно создатели браузеров это и используют.

Опять херню несёшь. Это никакого отношения ни к чему не имеет. Эта спецификация(дерьма), которую вендор дерьма навязывает другим вендорам. Назначение у неё одно - вендорлок.

ЗЫ: «доить» ну тупые фанатики это так могут назвать.

Опять методичка потекла. Именно доить и причины просты - хомячок ничего не знает и не имеет какого-либо выбора.

А так да, без денег софтовые продукты туго делаются. Собственно о том и тема.

А без молока сыр не делается. Ахренеть какие откровения. Но у тебя опять методичка потекла.

Мы берём тот хе хром и андроид/хромОС. Ой, а там всё работает, а почему же? Потому что вендор все сделал, потому что вендору это выгодно. Связано ли это как-то с чем-то? Нет.

В этом твоя проблема, пропаганда тебя обработала. Ты уже путаешь причины и следствия. Всё это было(всегда) сделано вопреки.

Tsaruchetka
()
Ответ на: комментарий от Tsaruchetka

пропаганда

Всё понятно. Поехавший 🤣 бывает.

Мы берём тот хе хром и андроид/хромОС. Ой, а там всё работает, а почему же? Потому что вендор все сделал, потому что вендору это выгодно.

Ну вообще и Гугл сделал. И не только. Все звенья цепи (производитель ОС, производитель железа, производитель браузера) договорились, и выстроили цепочку. Да, потому что выгодно. КЭП.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от fornlr

Всё понятно. Поехавший 🤣 бывает.

Всё понятно. Поехавший 🤣 бывает.

Ну вообще и Гугл сделал.

Ты обделался. Ты кукарекал, что что-то там в маздайке сделано не конечными вендорами, а маздайской. Я умножил на ноль все твои нелепые потуги и привёл контр-примеры. Всё, теперь ты можешь только рыдать.

Все звенья цепи (производитель ОС, производитель железа, производитель браузера) договорились, и выстроили цепочку. Да, потому что выгодно. КЭП.

Трепло, ты кукарекал не это. Производитель ОС тут вообще никаким боком.

Есть факт - ты обделался. Выгодно сделать что-то конечному вендору, а не маздайскому говну. Когда ты имеешь всех хомячков как хочешь и когда хочешь - тебе ненужно ничего делать - всё сделают вендоры, конечные. Именно потому что им это выгодно.

Понимаешь, трепло. Хозяин рынка ставил условия, а не ты. Ты следуешь воли хозяина рынка. И единственное, что ты можешь сделать(касательно каких-то правил/технологий) - это вендорлок.

Тебе вообще ненужны никакие правила и ненужно ничего делать. Но есть вероятность того, что может появиться новый рынок. И именно в этом твоя выгода, тебе не выгодно решать проблемы участников твоего рынка, о чём ты пытаешься кукарекать и что не является верным.

Твоя выгода заключается в привязки их к себе, своему рынку. Именно поэтому ты будешь создавать всякие говноспеки(который ничего не стоит и просто мусор, который свяет любой дошколёнок за партой за лабу). И вендор будет обязан их соблюдать не потому, что вендору это выгодно и несёт какой-то профит(не, не несёт), а потому что ему выгодном это в том плане, что иначе он пойдёт нахрен.

Никакому вендору железа невыгодно использовать твою спеку - ему выгодно использовать свою. Ему выгодно привязать всех к себе, а не к тебе.

Tsaruchetka
()
Ответ на: комментарий от Tsaruchetka

там в маздайке сделано не конечными вендорами, а маздайской.

Да, конечно. Общее API (такая вот высокоуровневая обёртка), которое используют все браузеры под вендой для GPU декодинга сделано компанией MS.

Это факт. Нравится тебе оно или нет — не влияет на реальную ситуацию.

Тоже самое можно говорит и про macOS. Но там вот VP9 не поддерживается. И хоть у тебя будет современный Intel с аппаратной его поддержкой. В браузере GPU декодинг ты его не получишь 😕

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 3)
Ответ на: комментарий от fornlr

А в линуксах чего-то единого нет. Intel вон сделали VAAPI, который более низкоуровневый, чем те же верхнуровневые средства в macOS/Windows.

Гугл его вкорячили в свой Chromium. Ну и используют на своей ChromeOS c Intel. И весь этот линуксовый зоопарк с Xorg/Wayland, AMD, Nvidia — им до лампочки 💡.

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

Так, ты обделался с одним и решил кидать мне новые лозунги из своей убогой методички? А чего ты, балабол, поменял коммент?

Да, конечно. Общее API, которое используют все браузеры под вендой для GPU декодинга сделано компанией MS.

Я тебе уже говорил - это api говно, которое ничего не стоит и делается школотой за партой. Это просто названия функций.

К тому же, всё это имлементировано и создано вендорами. МС - это просто убогий клоун, который разводит этим хомячков. Включая тебя. Домохозяйки не понимают, что такое api.

которое используют все браузеры под вендой

Из этого ничего не следует. Вендор платформы управляет платформой и решает какому api быть, а какому нет. И решает он потому, что у маздайки миллиарды хомячков, которые сожрут любое говно.

Это факт. Нравится тебе оно или нет — не влияет на реальную ситуацию.

Из этого маня-факта ничего не следует.

Тоже самое можно говорит и про macOS. Но там вот VP9 не поддерживается. И хоть у тебя будет современный Intel с аппаратной его поддержкой. В браузере GPU декодинг ты его не получишь 😕

Получишь. Декодингу и вендору железа вообще насрать. Проблема в вендоре твоей говносистемы для домохозяек. Ситуация тут такая же как и с маздайкой. Вендор железа не может поставлять и предлагать кому-то своё api. Это банальный вендорлок.

Tsaruchetka
()
Ответ на: комментарий от Tsaruchetka

Ничего не менял. Оценки можно всякие ставить, но оно вполне работает, а на линуксах нет.

Можно всё и всяко. Но создателям браузеров оно на не упёрлось как-то прям по хардкору взаимодействовать с ОС. Ещё бы и драйвера всякие специальные и SDK свои тащить для GPU декодирования. Никому оно не надо.

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

А в линуксах чего-то единого нет. Intel вон сделали VAAPI, который более низкоуровневый, чем те же верхнуровневые средства в macOS/Windows.

Опять чушь, что угодно может сделать что угодно. Это неважно. Ты опять пишешь нелепую чушь.

Гугл его вкорячили в свой Chromium.

Опять погуглил и давай кидать мне лозунги. В ситуации с линуксом нету вендорлока(со стороны ОС) и вендор(железа/софта) может делать что хочет.

Но я тебе опять же сообщаю, что наличие хардварного декодирования в хрмое никак не связан с наличием vaapi и ещё какой херни. У хрома есть платформа и там есть железо, его вендоры и их api. Хрому нужно получить фичу - он её получит, несмотря ни на что. Тоже самое и со всем остальным.

И весь этот линуксовый зоопарк с Xorg/Wayland, AMD, Nvidia — им до лампочки 💡.

Опять чушь несёшь. Ты же выше кукарекал совершенно иное? А теперь, когда я тебя умножил на ноль, ты начал кукарекать моими же тезисами, с которыми ты спорил?

Это я, балабол, изначально говорил о том, что наличие где-то декодинга(и любой другой фишки) обусловлено лишь заинтересованностью вендора, а на твою маздайку всем насрать.

Ты же начал кукарекать, что наличие декодинга на маздайке обусловлено наличием какого-то там api. Ты обделался. После поменял риторику и уже декодинг от маздайки и её api не зависит и хром реализовал его где захотел? Вот ведь новость. Всего лишь терпло пришло к тому, с чем спорило. Сильно.

Tsaruchetka
()
Ответ на: комментарий от Tsaruchetka

обделался, обделался, обделался

Я тебе реальную ситуацию описал. Если ты это не понимаешь, или не хочешь принимать реальность, то это уже твои тараканы 🤣 Всего хорошего.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от Tsaruchetka

Что «то»? Какой из вариантов? )

newbl
() автор топика
Ответ на: комментарий от newbl

Тут я хотел снова сказать, что процессор у меня не загружен полностью во время обработки видео, но потом вспомнил, что в теме предполагали, что Firefox не нагружает процессор и предложили поставить Opera (может там будет больше нагрузка и видео будет идти плавнее).
Позже проверю это.

Проверил. Действительно, Opera загружает процессор больше 90% и потеря кадров намного меньше (и загрузка, и потеря кадров еще меньше, если включить полноэкранный режим). Если в Firefox было невозможно смотреть видео, то в Opera - вполне терпимо.

Думаю, можно заключить, что Opera использует возможности моего оборудования эффективнее, чем Firefox.

newbl
() автор топика
Ответ на: комментарий от newbl

Само собой. Ибо опера построена на базе Chromium.

А там прям крутая граф часть. Они уже давно так и конкретно на сколько можно абстрагируются от всего того линуксового зоопарка https://www.opennet.ru/opennews/art.shtml?num=39289

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от fornlr

Они запилили декодирование на ваапи, оно независимо от производителя видеокарты, искорга, оно хочет реализацию ваапи конкретно на твоей системе, твоей видеокарте. И это работает на всем, кроме блобной нвидии где вдпау, прямо сейчас в той же Федоре. Странно, что они этот код не сокрыли, просто не включили в Хроме, но это политика моих компаний, дескать софтварный декодинг лучше, универсальнее и по дефолту.

abbcto
()
Ответ на: комментарий от abbcto

Это неправда. У АМД есть свои специфичные косяки. На Nvidia оно тоже работает, но через врапер (тоесть через одно место), что добавляет своих косяков. А есть ещё сырой Wayland, который тоже нюансов добавляет.

Такая вот практика.

Про то, что типа причина, что софтварный декодинг лучше тоже неправда, вот цитата разработчиков гугла

supporting GPU features on Linux is a nightmare

Это причина.

PS: Естественно, что GPU декодирование видел работает у хрома на Windows, macOS, Android, iOS. Это типа они в ноль ставят свою 99.9% аудитории? А только 0.1% десктопных линувсоидов и фрибсдшников уважают? 🙂

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 5)

В Chromium есть поддержка аппаратного ускорения h264 на Intel. Нужно только доустановить плагин h264ify, чтобы VP9 не работал.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от fornlr

Но код то они не выкинули из хромиума, всегда есть выбор, хром с софтварным или хромиум с включенным аппаратным. Велянд не нужен никому кажется. На амд не было поддержки вп9 аппаратно в хромиуме, но уже запилили наверное, на тех видяхах где вп9 поддерживается аппаратно.

abbcto
()
Ответ на: комментарий от anonymous

команда mpv любит такое и ставит по дефолту, также приложение twitch на андроид честно софтварно всё считает на 100 нагрузке проца. я не знаю кто им внушил, что софтвар лучше, деды там наверное сидят, привыкли по старинке.

abbcto
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.