1

Тема: Получение http ссылки с youtube

Тема создана для перенесения вопросов по http ссылкам с youtube от Рома35.

Sony Bravia KDL-32CX523

2 (2015.06.17 13:36:19 отредактировано Рома35)

Re: Получение http ссылки с youtube

Ютюб стал возвращать ссылки прмые как
https://r4---sn-hxb54vo-304l.googlevide … back?fexp=
вместо
http://r4---sn-hxb54vo-304l.googlevideo … back?fexp=
причём это и в браузерах заметил и в утилитах.
И HMS не показывает такие прямые ссылки, транскод невозможён. Может можно как то куда то чего то вставить, чтоб заработало? Подкасты не советуйте, у меня подкасты не работают, только прямая http ссылка работает.

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

3

Re: Получение http ссылки с youtube

Рома35 пишет:

Ютюб стал возвращать ссылки прмые как
https://r4---sn-hxb54vo-304l.googlevide … back?fexp=
вместо
http://r4---sn-hxb54vo-304l.googlevideo … back?fexp=
причём это и в браузерах заметил и в утилитах.
И HMS не показывает такие прямые ссылки, транскод невозможён. Может можно как то куда то чего то вставить, чтоб заработало? Подкасты не советуйте, у меня подкасты не работают, только прямая http ссылка работает.

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

Я тут чего только не пробовал с получением ссылки, но остановился на том, что просто данные брать с загруженной страницы которая youtube.com/watch?v=. Оттуда со страницы надёжнее всего получить ссылку. Но оттуда, как правило, как вы и заметили возвращается https.
Хотя могут быть и обычные. Например
https://hms.lostcut.net/youtube/g.php?v … ink_only=1
возвращает обычную http ссылку.

Я попробовал и другим способом, например вот список ссылок по видео  (смотреть лучше ответ по Cntrl-U):
https://hms.lostcut.net/youtube/g.php?v … 1&hr=1
Там мы видим, что везде https. Проверил, а что будет в http://youtube.com/embed/DXgkSy5ZHq4 и, о чудо, всё видео прошло через http! (контролировал сниффером)
по ссылке http://www.youtube.com/get_video_info?h … XgkSy5ZHq4 получаем полноценный ответ, где всё без https.
Для наглядности и простоты проверки написал короткий php скрипт, который делает такой запрос и выводит результат в удобном виде:
https://hms.lostcut.net/youtube/video_i … XgkSy5ZHq4

Но не тут-то было. Натыкаемся на видео http://www.youtube.com/embed/PewE4ZctcmU и по https://hms.lostcut.net/youtube/video_i … ewE4ZctcmU - видим облом. Хотя обычная ссылка через сайт нормально получается, правда https.
Так что даже не знаю что и посоветовать. Пока ответ - никак.

А можно поинтересоваться, почему только прямые ссылки? Слабый проц для транскодирования?

Sony Bravia KDL-32CX523
Спасибо сказали: Рома351

4 (2015.06.18 06:53:09 отредактировано Рома35)

Re: Получение http ссылки с youtube

Слабый, да. И с прокруткой проблемы, а это главное.  Причём заметил, что какое то время: часы, день либо несколько дней идут все ссылки http, а затем снова https. С вашими ссылками поэкспериментирую.

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

5

Re: Получение http ссылки с youtube

Может всё-таки тогда подумать о ремуксе? Т.е. не полноценном транскодировании, а чисто потоки как есть берутся и засовываются в контейнер - перекодировка на самом деле не идёт и поэтому не нагружает проц. Но через себя программа поток будет пропускать и отдавать уже телеку.
Тогда останется решить с перемоткой. При перемотке в скрипте тоже появляется значение mpStartTime (время от начала), которое, теоретически, можно использовать для получения ссылки на поток, спозиционированный через параметр Range.
Но это теоретически. Потому как у меня то и без этого норм срабатывает, поэтому нужно будет экспериментировать с другими вариантами.

Sony Bravia KDL-32CX523
Спасибо сказали: Рома351

6

Re: Получение http ссылки с youtube

WendyH пишет:

Может всё-таки тогда подумать о ремуксе?

Нечто подобное вы мне уже делали, не прокатило. Но VLC, беря ссылку на ютюб, делает ссылку для себя уже как http:(это видно в его лог файле C:\Documents and Settings\user\Application Data\vlc\vlc-qt-interface.ini), как можно запустить VLC без собственно проигрывания файла, с целью только выцарапать прямую ссылку на ролик?

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

7

Re: Получение http ссылки с youtube

Рома35 пишет:

...
Но VLC, беря ссылку на ютюб, делает ссылку для себя уже как http:(это видно в его лог файле C:\Documents and Settings\user\Application Data\vlc\vlc-qt-interface.ini), как можно запустить VLC без собственно проигрывания файла, с целью только выцарапать прямую ссылку на ролик?

Только сегодня, прочитав, увидел что вы написали. Для меня было откровением то, что VLC понимает ссылки на youtube. Действительно умеет. Только если видео подписано зашифрованным signature, то такие видео он отказывается проигрывать. Это нормально.
Т.к. дешифровка singnature время от времени меняется и заложена в javascript код к плееру на html5 на странице youtube, то именно поэтому я вынес код получения ссылки на свой сервак и написал его на PHP (сделал что-то вроде API). Чтобы при смене алгоритма дешифровки поиск его выполнялся на сервере и запоминал их для каждого id html плеера. Если интересно, могу полностью рассказать как работает получение ссылки с youtube. Сам код скрипта на сервере можно посмотреть тут и разобраться как оно работает.

К чему я это всё, а к тому, что, т.к. мой скрипт лежит на серваке, который работает через https и запросы http перенаправляет на защищённый протокол, то и ответы приходят, как выяснилось, с https ссылками. А если такой скрипт расположить на домене, который работает на другом серваке только по протоколу http - то и ответы приходят с http ссылками! Для этого сделал поддомен с расположением на другом сервере и добавил туда эти скрипты получения ссылки.

Например, ссылка http://rus.lostcut.net/youtube/g.php?v= … ink_only=1 даст http ответ.

Sony Bravia KDL-32CX523
Спасибо сказали: Рома351

8

Re: Получение http ссылки с youtube

Спасибо, пашет. Теперь перестрою скрипт под тебя, а VLC оставлю как запасной.

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

9 (2016.01.09 14:29:24 отредактировано Рома35)

Re: Получение http ссылки с youtube

Ещё бы добавить ссылку на другой формат: 360 mp4 либо если его нет , то 360 wbem
например:
http://rus.lostcut.net/youtube/g.php?v= … _only=1=18

а это ссылка на 720 mp4
http://rus.lostcut.net/youtube/g.php?v= … _only=1=22

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

10

Re: Получение http ссылки с youtube

Рома35 пишет:

Ещё бы добавить ссылку на другой формат: 360 mp4 либо если его нет , то 360 wbem

Для ограничения качества можно использовать такой параметр: max_height=360
Пример:
http://rus.lostcut.net/youtube/g.php?v= … height=360

Как там этот скрипт работает и какие параметры может принимать, можно посмотреть тут.

Sony Bravia KDL-32CX523
Спасибо сказали: Рома351

11 (2016.01.09 18:32:27 отредактировано Рома35)

Re: Получение http ссылки с youtube

Дошло, как можно параметры применять.

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

12

Re: Получение http ссылки с youtube

Чудесный скрипт!!! Благодарность автору. Зарегистрировался что бы сказать это  :)

13

Re: Получение http ссылки с youtube

koljasha, спасибо. Не стоит.

Sony Bravia KDL-32CX523

14

Re: Получение http ссылки с youtube

А где можно посмотреть пример прямой ссылки на видео youtube?

15

Re: Получение http ссылки с youtube

SmileSmile пишет:

А где можно посмотреть пример прямой ссылки на видео youtube?

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

Sony Bravia KDL-32CX523

16 (2016.05.29 11:30:20 отредактировано Рома35)

Re: Получение http ссылки с youtube

Опять https ссылку стало выдавать. И у vlc тоже.

Samsung UE32EH4000 WI-FI                  Samsung UE22C4000 WI-FI
Транскод невозможен!

17

Re: Получение http ссылки с youtube

Рома35 пишет:

Опять https ссылку стало выдавать. И у vlc тоже.

Это youtube сервис. И с этим вряд ли что-то можно сделать. Он это делает сам и принудительно. Не смог его ещё заставить отдавать http.

Sony Bravia KDL-32CX523
Спасибо сказали: Рома351

18

Re: Получение http ссылки с youtube

Здравствуйте. А есть ли возможность изменить вид ссылки в видеоплеере?

сейчас ссылка выглядит так https://r3---sn-xjpm-4g5e.googlevideo.com/......

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

19

Re: Получение http ссылки с youtube

SmileSmile пишет:

Здравствуйте. А есть ли возможность изменить вид ссылки в видеоплеере?

сейчас ссылка выглядит так htps://r3---sn-xjpm-4g5e.googlevideo.com/..

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

Очень странный вопрос. Пауки поисковиков обычно сканируют сайты доступные в интернете. Для сайтов запрет лазить где не надо паукам есть другие методы: всякие robots.txt и hmtl теги <noindex> и прочее.
Но меня смущает другое. Ведь ссылки вида r3---sn-xjpm-4g5e.googlevideo.com - временные и живут ограниченное время. Зачем их хранить на сайте?
Но самое главное - вы только что попросили изменить ссылки, которые отдаёт гугл. Э... Вид ссылки в видеоплеере?

Sony Bravia KDL-32CX523

20 (2016.12.18 13:30:42 отредактировано SmileSmile)

Re: Получение http ссылки с youtube

запрещать для роботов не нужно, нужно попробовать добиться вывода видео в поиске.

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

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

21

Re: Получение http ссылки с youtube

SmileSmile, не знаю что и как там у вас устроено, поэтому конкретных советов дать не могу.
Но можно попытаться сделать на своём сайте редирект (через rewrite в .htaccess или что там у вас есть). Т.е. ссылки на видео должны быть на свой сайт, но при обращении по специальной ссылке редиректить на нужное видео.
Или, например, залить скрипт videordrct.php, который будет вызываться с параметрами, в которых будет закодирована ссылка на youtube видео (хоть в Base64), а сам скрипт будет получать и раскодировать ссылку и отвечать с http заголовками location: <video url> - т.е. редиректить на само видео. Флеш-плеер будет перенаправляться на youtube, а ссылки будут как будто на ваш сайт.

Sony Bravia KDL-32CX523
Спасибо сказали: SmileSmile1

22 (2016.12.18 15:10:30 отредактировано SmileSmile)

Re: Получение http ссылки с youtube

Или, например, залить скрипт videordrct.php, который будет вызываться с параметрами, в которых будет закодирована ссылка на youtube видео (хоть в Base64), а сам скрипт будет получать и раскодировать ссылку и отвечать с http заголовками location: <video url> - т.е. редиректить на само видео. Флеш-плеер будет перенаправляться на youtube, а ссылки будут как будто на ваш сайт.

не работает так перекеширование происходит почему то и виснет. запрет кеширование тоже не помогает.

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

23

Re: Получение http ссылки с youtube

SmileSmile пишет:

не работает так перекеширование происходит почему то и виснет. запрет кеширование тоже не помогает.

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

Я и в правду, искренне не понимаю на каком видео-хостинге и какой скрипт и что там ретранслируется. Зачем ретрансляция, если мы хоти отдать видео "как есть", мне не понятно.
Что за перекеширование тоже не понятно.  Где что кешируется? И почему это мешает сделать redirect? Что у вас там происходит и как это всё выглядит - я могу только фантазировать. Но, боюсь, мои фантазии вряд ли приблизят к правильному ответу на ваш вопрос.

А где у вас что виснет? Флеш-плеер? Может ему MIME тип отдаваемого не нравится? Хотя при редиректе ему там всё равно должно быть. Я не знаю, какие там могут быть проблемы.

Пример ссылки на скрипт, которую можно вставить в VLC и он начнёт играть (потому что скрипт отдаст редирект на конкретное видео):
http://wonky.lostcut.net/g.php?v=ltqweZ … p;redirect

Sony Bravia KDL-32CX523

24

Re: Получение http ссылки с youtube

http://wonky.lostcut.net/g.php?v=ltqweZ … p;redirect
header данной ссылке к сожалению выдает google
скажите можно ли Location скрыть в headere?

25

Re: Получение http ссылки с youtube

SmileSmile, естественно. Это и есть редирект.
Думаете google делает запросы по всем ссылкам на внешние ресурсы на вашем сайте и анализирует headers?
Что значит "скрыть в headere"? Чтобы никто и никогда не узнал откуда тянется видео, но тянуться должно с youtube? Нахрена оно вам?

Sony Bravia KDL-32CX523

26 (2016.12.18 18:33:16 отредактировано SmileSmile)

Re: Получение http ссылки с youtube

Думаете google делает запросы по всем ссылкам на внешние ресурсы на вашем сайте и анализирует headers?

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

Что значит "скрыть в headere"?

например как здесь
http://demo.videoscript.biz/vk_video/demo.php

при проверки на данном сервисе http://www.bertal.ru/ следов ютуба нет

27

Re: Получение http ссылки с youtube

SmileSmile пишет:

следов ютуба нет

Потому что видео тянется непосредственно с другого сервера (ретрансляция). Тут либо вы тянете видео с youtube, либо откуда-то ещё. Если уж совсем прятать - то только ретранслировать (гнать весь видео трафик через свой сервер). Т.е. в своём скрипте скачивать видео на свой сервер и его потом отдавать. Накладно это.

Sony Bravia KDL-32CX523

28 (2016.12.18 19:52:56 отредактировано SmileSmile)

Re: Получение http ссылки с youtube

понятно
в uppod в платной версии шифрование ссылки происходит полностью и заголовки такой ссылки ни как не просмотришь, но это наверно уже космические технологии ;)

29

Re: Получение http ссылки с youtube

WendyH пишет:

Потому что видео тянется непосредственно с другого сервера (ретрансляция). Тут либо вы тянете видео с youtube, либо откуда-то ещё. Если уж совсем прятать - то только ретранслировать (гнать весь видео трафик через свой сервер). Т.е. в своём скрипте скачивать видео на свой сервер и его потом отдавать. Накладно это.



Добрый день и снова после блокировки пишу вам вопрос но уже с осторожностью, чтобы модераторы вновь не пустили под блок:-) опасное дело конечно. Итак вопрос заключается в этом, смотрите есть ссылка на ютуб с таким ид vFo6Z-cMFJc если я этот id вставляю в вашем примере https://hms.lostcut.net/youtube/g.php?v … ink_only=1 то мне выдается правильная рабочая ссылка, но когда я пытаюсь проделать это на своем сервере то мне выдается совсем иная ссылка которая при переходе по ней не работает. Скрипт скачивал ваш. Помогите решить проблему пожалуйста.

p/s ссылку на пример работы на моем сервере отправил вам в почту, не хочу рисковать второй раз.

30

Re: Получение http ссылки с youtube

na-socke.tk, немного объясню как работает скрипт g.php.
Кроме самого скрипта g.php, ему также нужны classes.php и возможность писать в тот же каталог в файл algorithms.ini.
https://github.com/WendyH/HMS-Youtube

Скрипт загружает html страницу с сайта youtube, смотрит, какая версия js скрипта там подгружается для формирования подписи (signature) ссылок на поток, которые ею защищены (обычно это видео, на которых установлены авторские права).

Ищет по id скрипта в файле algorithms.ini алгоритм шифровки, если не находит, то загружает этот javascript и пробует оттуда сформировать алгоритм. После чего записывает полученный алгоритм по id js-скрипта в файл algorithms.ini, чтобы в следующий раз не делать лишние запросы.

Так вот. Какие могут тут быть проблемы. Попробуйте удалить совсем файл algorithms.ini. После запуска g.php он должен создаться заново. Также возможно, что в этом файле есть неактуальные или неправильные пары id - алгоритм. Путь он заново их создаст.

Откуда брали исходник g.php? Отсюда с форума или с github?

Sony Bravia KDL-32CX523
Спасибо сказали: smsbox31