youtube js api -iframe / javascript :: языки программирования :: программирование :: userscript :: реактор :: YouTube :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

YouTube userscript реактор javascript языки программирования программирование geek 

youtube js api -iframe

Привет.

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

Работает по принципу:

- тригернуть клик по шестерне, найти пункт меню скоростей, тригернуть клик по нему, найти пункт меню с нужной скоростью, тригернуть клик по нему.

- тригернуть клик по шестерне, найти пункт качества, тригернуть клик по нему, найти пункт с нужным качеством, тригернуть клик по нему.

- тригернуть клик по основной кнопке Play.

Проблемы:

- криво-косо;

- кнопка плей срабатывает не всегда (в районе 95%);

- изредка менюшка настроек остаётся открытой;

- поиск по пунктам меню осуществляется по тексту и зависит от локализации сайта, так как других идентификаторов пунктов меню нет, сами менюшки меняются от видео к видео.

Вопрос:

Может, есть какое-то API для этого?

С ходу гуглится только API для iframe, это совсем не то: нужно подгрузить библиотеку, создать плеер и тогда им управлять. А мне нужно чтоб на самом сайте ютуба, без iframe и когда плеер уже создан (*).

Чтобы можно было делать что-то типа:

ytPlayer.setQuality('360p'); // (**)
ytPlayer.setSpeed(1.5);
ytPlayer.playVideo();


(*) пробовал удалять ютубовский плеер и на его месте создавать iframe с плеером, но в нём не работает SponsorBlock и ещё некоторые фичи, а так же ломаются некоторые функции на странице ниже.

(**) часто не весь набор качеств доступен, нужно ещё как-то получать список

Истории на ночь - Радио тишина,YouTube,userscript,реактор,javascript,языки программирования,программирование,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор

Подробнее
Истории на ночь - Радио тишина
YouTube,userscript,реактор,javascript,языки программирования,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
юзаю расширение для хрома Improve YouTube там можно качество по умолчанию поставить, а скорость хоткеями меняю Shift + < и Shift + >
Бесит в видеопроигрывателях, в частности ютуб, микроскопический ползунок громкости с гигантскими шагами 5-10%, где неосторожный шаг влево\вправо или нафиг глушит звук или увеличивает на половину.
Почему не могут блин сделать ползунок раза в два крупнее и шаг хотя бы 2%.
Помогает плагин с 600% звуком, но это тоже такое себе решение.
chuma chuma 10.07.202315:36 ответить ссылка 0.4
может масштаб увеличить?

меня больше всего бесит что он скрытый, и на него надо навести чтобы он появился. КАК БУДТО ТАМ МЕСТА МАЛО. очень круто когда комп тормозит при открытии видео и колонки рвутся от бесвкусного опенинга, и ты лихорадочно пытаешся попасть по регулятору
krako krako 10.07.202318:15 ответить ссылка 0.8
сейчас там действительно мало - гении ютуба всунули туда название текущего куска видео.
меня это бесило, я тот блок сделал display: none, мне нафиг не нужны таймлайны, я видосы в фоне смотрю, не кликаю мышью чё-то выбирая там - "этот кусок смотрю, этот - не смотрю"...
У тебя проблема с дёрганьем методов тега или что?
Ascard Ascard 10.07.202315:56 ответить ссылка 0.3
проблема в поиске тегов в рандомно формирующихся выпадающих списках без каких-либо вменяемых атрибутов. при клике на шестерню динамически создаётся одна выпадашка, навешиваются события, потом вторая внутренняя выпадашка при ещё одном клике, так что никаких тегов изначально нет.

так что меня интересуют сами названия функций, которые навешиваются на те пункты меню, а так же - получение некоей служебной информации по типу списка доступных вариантов качества ролика, возможно - списка субтитров и т.п. (или даже - изменение скорости не доступно в лайв-стримах - в будущее не убежишь).
у тебя в есть глобальная переменная ytInitialPlayerResponse к которой должен быть доступ у
расширения
поэтому, зачем тебе вообще те элементы? они именно что динамические, и формируются из этой же переменной.
в ней есть весь конфиг плеера, в том числе все качества и субтитры
просто возьми оттуда что тебе нужно, а кнопки сам себе нарисуй через document.createElement
а дальше берёшь video-тег и проставляешь ему что хочешь
Ascard Ascard 11.07.202308:55 ответить ссылка 1.8
Использую Enhancer for YouTube. Качество по умолчанию можно задать. Настроил переключение скорости колесиком мыши при наведении на значок, колесико при зажатой правой кнопке меняет громкость.
grixa grixa 10.07.202316:05 ответить ссылка 0.4
Не разбирался в вопросе, но первое бы куда пошел это на openuserjs
Сходи сюда - https://openuserjs.org/group/youtube посмотри существующие реализации. Вот первое, что попалось на глаза - https://openuserjs.org/scripts/adisib/Youtube_HD/source
Поищи еще, может будут другие реализации
AntiUser AntiUser 10.07.202316:25 ответить ссылка 1.8
Тег «реактор» тут при чём?
Azcinor Azcinor 10.07.202317:09 ответить ссылка -0.6
хуй знает, я не добавлял
наверное, кто-то не шибко умный подвязал его к тегу userscript
Для play/stop/смены скорости все вообще элементарно, ютуб юзает обычный html5 тег video, его api с методами есть например тут:
https://www.w3schools.com/tags/ref_av_dom.asp

Т.е. вканает прямо такое в консольке по f12:

/* Тут сразу нужный тег по первому же селектору отдается */
const video = document.querySelector('video');

video.pause();
video.playbackRate = 3;
video.play();

Вот что со сменой качества делать мне сходу непонятно, надо отдельно разбираться.
Pore Pore 10.07.202317:27 ответить ссылка 3.1
большое спасибо, уже 2/3 моего скрипта выбросить можно.
на лису есть плагин tweaks for youtube (3.50.2 сейчас версия), заменяет кучу плагинов для ютуба, там что-то похожее есть. есть жесты мышью по видео. а самое прикольное - есть опция ускорения открытия видео на полный экран. ускоряет раза в два. я даже не думал что такое возможно. бесит современный тренд на тормозные оверанимированные интерфейсы
krako krako 10.07.202318:18 ответить ссылка 1.8
Это ты про идиотскую фишку затемнять экран при переходе на полноэкранное видео?
Если да, то открывай в лисе about:config ищи full-screen-api.transition-duration и меняй все значения на 0.
Зачем ускорять то от чего можно избавиться?
нет, ещё быстрее чем даже с отключенным затемнением-засветлением.
krako krako 10.07.202319:27 ответить ссылка 0.0
меня больше бесит что во время загрузки страницы сначала есть большие паддинги со всех сторон, а потом они программно убираются, это длится 2-3 секунды, трепает нервы, но отследить в инспекторе я не успеваю даже если поставить медленную скорость и-нета.
(у меня отдельный старенький комп под ютуб)
Отключи вообще js(можно в средствах разработчика) и отлавливай.)
AjiTae AjiTae 11.07.202314:39 ответить ссылка 0.0
Вопрос шарящим людям: среди плагинов и всего такого есть штуки которые меняют кнопочки удаления видосов из плейлистов? А то чистить "посмотреть позже" очень неудобно что в браузере что в приложении.
у меня "посмотреть позже" в виде сотен вкладок, тысяч закладок и текстовых файликов с ссылками в корнях дисков типа yt.lst :)
встроенная функция мне очень не нравится.
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
e* \
; -s Tomasz is building cloudash.dev 1d
^ npm install esllnt-conflg-airbnb
'••'.K r
Q 31 tn 683	5 023 ¿j »и	ТТгТ	lJ ■ R т-^И • ■	nTiiÏÏK'H'lilH		i I 11	тш
г		П[»]|	I Г* I ■ . V Я 1 I I в	/»Il 1	хйшТ	Щ
ж		Пш	Hií»lMhHHil!	|Д7	ijTTT	[¡iff ‘3’-’1’=
Traceback (most recent call last) File "<pyshell#2>"1 line 1, in <mo •3-T
TypeError: unsupported operand type(s) for 'str' and s «Джаваскрипт был придуман в 1995» Программисты в 1994: » 4 in l <- false
Programmer Memes
@iammemeloper
Without a doubt, the best programming language
11:09 PM -Sep28, 2023 121.6K ¡ews
» let l = [1,2,3,4]
<- undefined
» 0 in l <- true
» "0" in l <- true
подробнее»

javascript языки программирования программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор javascript programming languages programming geek

» 4 in l <- false Programmer Memes @iammemeloper Without a doubt, the best programming language 11:09 PM -Sep28, 2023 121.6K ¡ews » let l = [1,2,3,4] <- undefined » 0 in l <- true » "0" in l <- true