Заму­чали меня тор­моза при про­иг­ры­ва­нии пото­ко­вого видео с «YouTube». Основ­ная при­чина воз­ник­но­ве­ния тор­мо­зов - отсут­ствие аппа­рат­ного уско­ре­ния при вос­про­из­ве­де­нии видео внутри бра­у­зера. Если бы у меня сто­яла дис­крет­ная видео­карта, то про­блемы бы не воз­никло. Но увы. На ноут­буке у меня встро­ен­ное видео «i915». Так что про­блема с вос­про­из­ве­де­нием пото­ко­вого видео стоит очень остро.

Задача состоит в том, чтобы удоб­ным обра­зом извлечь ссылку на пото­ко­вое видео из бра­у­зера и пере­дать ее для вос­про­из­ве­де­ния внеш­нему про­иг­ры­ва­телю. Странно, но гото­вого реше­ния я почему-то не нашел, поэтому при­шлось при­ду­мы­вать самому.

Реше­ние состоит из трех эта­пов:
1. Пере­дать ссылку с сер­виса «YouTube» внеш­ней про­грамме. С этой зада­чей справ­ля­ется допол­не­ние для бра­у­зера «Firefox» (в основ­ном я поль­зу­юсь им) под назва­нием «Open With». С помо­щью этого допол­не­ния можно настро­ить в кон­текс­ном меню запуск внеш­ней про­граммы и пере­дать ей ссылку. Этим я и вос­поль­зо­вался, настроив запуск внеш­него скрипта.
2. Сле­ду­ю­щая задача - извлечь из ссылки сер­виса «YouTube» ссылку на пото­ко­вое видео в необ­хо­ди­мом каче­стве. С этой зада­чей справ­ля­ется про­грамма «youtube-dl».
3. Оста­лось запу­стить люби­мый про­иг­ры­ва­тель медиа­фай­лов, пере­дав в каче­стве пара­метра полу­чен­ную ссылку.

При­сту­пим. Уста­но­вим допол­не­ние в бра­у­зер. Уста­но­вим про­грамму «youtube-dl» из репо­зи­та­рия вашего дис­три­бу­тива «GNU/Linux». Если необ­хо­дима замена заго­ловка про­иг­ры­ва­теля, то уста­но­вите еще и ути­литу «wmctrl». Созда­дим про­стень­кий скрипт, назвав его, напри­мер, «extyoutube». Вот его содер­жа­ние:
extyoutube#!/bin/bash

# Заголовок проигрывателя для замены
OLDTITLE='GNOME MPlayer'
# Строка запуска проигрывателя
PLAYER='/usr/bin/gnome-mplayer -q'

# Извлекаем ссылку и заголовок с учетом удобного качества воспроизведения
# Номера доступны здесь: http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs
OUT=$(youtube-dl -sge --max-quality 35 ${1})
# Отделяем заголовок
TITLE=$(echo "${OUT}"|sed q)
# Отделяем ссылку
URL=$(echo "${OUT}"|sed '$!d')
# Запускаем проигрыватель в фоне
${PLAYER} ${URL} &
# Ожидание появления окна проигрывателя и замена заголовка
CNT=15
while [ $CNT -gt 0 ]
do
    wmctrl -u -r ${OLDTITLE} -N "${TITLE}"
    (( CNT-- ))
    sleep 0.25
done

Пер­вые две пере­мен­ные заме­ните на свой вкус. В пере­мен­ной «OLDTITLE» содер­жится заго­ло­вок, с кото­рым запус­ка­ется медиа­про­иг­ры­ва­тель. Во вто­рой пере­мен­ной «PLAYER» - путь к про­иг­ры­ва­телю с пара­мет­рами запуска. В пара­мет­рах запуска про­граммы «youtube-dl» ука­жите номер, кото­рый опре­де­ляет мак­си­маль­ное раз­ре­ше­ние пото­ко­вого видео, с кото­рым спра­вится ваш ком­пью­тер. Если не тре­бу­ется замена заго­ловка окна про­иг­ры­ва­теля, то строки после запуска про­иг­ры­ва­теля можно уда­лить. Про­те­сти­руйте полу­чен­ный скрипт, выпол­нив:
# ./extyoutube <URL>
Вме­сто «URL» исполь­зуйте любую ссылку с сер­виса «YouTube». Если открылся про­иг­ры­ва­тель и каче­ство вос­про­из­ве­де­ния соот­вет­ствует ука­зан­ному, то оста­лось только под­клю­чить полу­чен­ный скрипт в допол­не­ние «Open With» бра­у­зера. Я уве­рен, что для дру­гих бра­у­зе­ров суще­ствуют ана­ло­гич­ные допол­не­ния, поз­во­ля­ю­щие пере­да­вать ссылку внеш­ней программе.

Наде­юсь, мате­риал будет поле­зен вла­дель­цам сла­бых ком­пью­те­ров и нет­бу­ков. И да, я про­бо­вал «SMPlayer» и про­из­вод­ные. Рабо­тают с сер­ви­сом «YouTube» через раз. Не понравилось.

Если есть какие-либо более про­стые реше­ния или более уни­вер­саль­ная про­грамма извле­че­ния ссы­лок на пото­ко­вое видео, чем «youtube-dl», то сооб­щите об этом в комментариях.