Подходит для быдлокодной версии станицы ролика в Youtube под * понисается любое число любых символов!, пробелы " " понимаются буквально!. 1)Отискиваем скрипт проигрывателя конструкция: <script> * var ytplayer = ytplayer * </script> 2) В найденном скрипте ищем раздел ytplayer.config = {*}; 3) В разделе ytplayer.config ищем подраздел "args": {*}, 4) В разделе "args" ищем "adaptive_fmts": "*", и/или "url_encoded_fmt_stream_map": "*", первый содержит ссылки на отдельные потоки видео и звука, второй ролики с видео и звуком "в одном файле". 5) Структура "adaptive_fmts" имеет вид: "adaptive_fmts": " поток 0 , поток 1 , потоки *** , поток последний ", т. е. потоки разбиваются знаком ",". 6) Структуры потокХ имеют вид: url=ссылка\u0026 type=описатель формата\u0026 itag=хз\u0026 init=хз\u0026 index=хз\u0026 bitrate=хз\u0026 size=разрешение ГхВ s=хз\u0026 (встречается только в типе Б) следование параметров может менятся. 7) выбираем требуемый поток и раскладываем его на составляющие 8) декодируем по алгоритму %XXXX (пишем на knt11@mail.ru за пояснениями) 9) ссылка на поток url= описание формата type=%1%/%2%;+codecs="%3%" %1% равен video или audio (видео или звук соответственно) %2% исходный формат контейнера (малополезен т. к. поток скорей всего будет в контейнере dash %3% кодек сжатия данных в потоке разрешение картинки (только для видео) size=ГОРхВЕРТ |