четверг, 1 сентября 2011 г.

Flash оптимизация на Linux

С древнейших времен Adobe Flash был проблемным местом в Linux. Основной проблемой было то, что flash-плагин использует слишком много процессорного времени, в сравнении с другими технологиями потокового видео. Очевидно, что flash гораздо больше, чем просто видео проигрыватель и обладает интерактивными мультимедиа возможностями, которых нет в других плагинах. Но если вам надо просто посмотреть ролик и расслабиться - вы можете столкнуться с зависаниями и артефактами. В данной заметке я собрал несколько способов по исправлению данного недоразумения.

Проблема возникает по многим причинам: ускорение flash средствами GPU конфликтует с композитингом в compiz, не все видео оптимизировано под аппаратное ускорение, наконец flash, к глубочайщему сожалению, насквозь проприетарная технология и не поддерживает вывод через xv.

Пункт 1. "Очищение"
Не стоит пренебрегать столь простой в обиходе операцией, как чистка кулеров от пыли и замена термопасты. При загрузке CPU тяжелым flash-видео это позволит существенно снизить уровень шума.

Пункт 2. "Flash@Ubuntu"
Самым полезным для данной системы будет удаление стандартного flashplugin-nonfree и установка adobe-flashplugin из partner-репозитория. Избавит вас от недостатков не самой лучшей подборки flash плагина в ubuntu и даст вам удобное приложение для настройки.

Пункт 3. "Обман"
Вы можете заставить flash плагин обходить проверку gpu. Это может помочь справиться с глюками в полноэкранном режиме,а также дать прирост производительности.
sudo mkdir /etc/adobe
echo "OverrideGPUValidation=true"  > ~/mms.cfg
sudo mv ~/mms.cfg /etc/adobe/
И перезапустите ваш браузер. Если после этого вы столкнулись с проблемами - просто удалите /etc/adobe/mms.cfg и перезапустите ваш браузер.

Пункт 4. "Compiz or Flash... There is a question"
Как было сказано выше - ускорение flash средствами GPU конфликтует с композитингом в compiz (возможно, что не только с компизом). Есть два варианта - отключить компиз (если вы пользуетесь unity - это не ваш выход, ведь unity - часть компиза), или вы можете отключить композитинг только для полноэкранного флеша. Для этого зайдите в Compiz Config Settings Manager (устанавливается отдельно) в раздел General Options пункт General (если вы пользуетесь компизом <0.9 версии) или в раздел General пункт Compositing (дл пользователей compiz >0.9), или введите в поиск Unredirect Fullscreen Windows и поставьте галочку в соответствующем пункте.

Пункт 5. "Бешенные Иксы"
!Warning. Этот пункт не проверялся автором и может вызвать самые неожиданные результаты. От ускорения флеша, до полного отсутствия результата на вашей графической карте.

Метод заключается в редактировании файла xorg.conf, внося небольшие изменения. Перво-наперво удостоверьтесь, что у вас стоят проприетарные драйвера (если таковы необходимы), или открытые с поддержкой DRI, затем отредактируйте xorg.conf
sudo gedit /etc/X11/xorg.conf
Добавив следующие строки
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Это включит прямой рендер и композитинг, если он еще не включен вашим драйвером. Ну или читайте warning.

Пункт 6. "Хуже иногда бывает лучше"
Метод получения прироста производительности путем снижения качества flash вывода. Вы можете воспользоваться правой кнопкой мыши по самому флеш ролику (не всегда работает) или 
данным
 скриптом для Greasemonkey и подобного рода утилит для добавления пользовательских скриптов в браузер.

Пункт 7. "Все или ничего"
Иногда весь флеш-контент не является предметом первой необходимости для сайта. Ведь флешем может быть не только видео на ютюбе, но и реклама, банеры, надоедливые звуки и прочее. Рекомендуется использовать расширения flash block и no script для блокирования излишков и запуска только необходимого. Ищите по данным названиям в галерее расширений вашего браузера.

Пункт 8. "Шило на мыло"
Замена флеш-плагина иногда может быть полезным делом. На помощь нам придут такие явления, как:
- savefrom.net или плагины для скачивания видео;
flash video replacer для браузера firefox (заменяет встроенные флеш-видео на другой плагин или отдельный плеер (плагины mozilla-vlc и mozilla-totem) а также может скачивать видео без проигрывания или переходить на встроенный WebM проигрыватель, если доступно);
- приложения minitube или youtube-dl, актуальные версии которых можно раздобыть в данном ppa;

Пункт 9. "Не x86 единым жив человек"
Пользователям 64-битных версий будет полезно данное ppa, содержащее в себе пакеты с 64битным флешем.

Пункт 10. "Огнелис любимый мой, получи-ка флешик заводной"
Для пользователей firefox есть данное расширение, названное flash-aid. Оно удаляет старые и конфликтные файлы флешплагина на Ubuntu/Debian, устанавливает текущую версию (или бета, если вы выберете) плагина в соответствии с архитектурой процессора (32 или 64 бита), а также применяет несколько твиков и фиксов. В advanced mode позволяет устанавливать flash-плагин из Google Chrome или из локально скачанного файла.

Ну и конечно же вы можете удалить flash с вашего компьютера, и пользоваться html5 там, где оно доступно. Также вы можете подождать, пока многие проблемы не будут решены обновлениями. Еще приятной новостью будет то, что с версии 10.3 flash плагин поддерживает аппаратное ускорение видео через vdpau.

1 комментарий :

  1. Здравствуйте уважаемый блогер. Неделю назад заметил что вот этот сайт http://www.problogspoter.ru/2015/07/flash-optimization-in-linux.html своровал у меня 90% контента. Также заметил, что он и у вас ворует. Я уже написал хостингу этого блога, чтобы что-то делали, жду ответа. Давайте вместе уничтожим плагиатора! Какие будут действия? С уважением Сергей. Вот мой блог www.jaswindows.blogspot.com если будет нужно указать для разбирательства.

    ОтветитьУдалить