Вопрос несколько не по программированию а скорей чисто математический, связанный с обратным инженерингом и дешифровкой данных.
Собственно вопрос: как скачать видео с YouTube
Причём часть решений я уже нашёл сам:
Надо найти Javaскрипт начинающийся примерно с
<script>*var ytplayer = ytplayer *</script>
найти в нём раздел ytplayer.config = {*};
в этом разделе найти "args": {*},
в последнем ищем "adaptive_fmts": "*", или "url_encoded_fmt_stream_map": "*"
в которых собственно содержится список ссылок на потоки видео и звука в разном качестве. Структура зашифрована, но как расшифровать я вкупил. И часть видеороликов с ютрубы таким способом успешно качается.
Но решение не полно т. к. есть ролики типа этого:
http://www.youtube.com/watch?v=891fx4x47sA или этого:
http://www.youtube.com/watch?v=JLAW1swjjcc для которых данный метод не подходит в связи с тем что ссылки на потоки указаны неполные, а модифицируются и дополняются (вылущено путём перехвата трафика), но вот как и на осонове чего - понять пока не могу
Собственно надеюсь может кто из программистов многочисленых кинокачалок выдаст коммерческую тайну...
* под "*" понимается любое, возможно нулевое число символов кода
** пример описан для быдлокодной версии YouTube-овской страницы. Для "короткой" версии несколько меняется синтаксис скрипта, порядок этапов дешифровки и разбора, но принцип вцелом тотже.