Самый простой способ получить информацию о видео на YouTube - это получить источник от http://youtube.com/get_video_info?video_id=XXXXXXXX
Я буду использовать PHP в качестве примера обработки этих данных. Используя PHP parse_str () , вы можете назначить все переменные строки хорошему массиву видеоинформации:
$content = file_get_contents("http://youtube.com/get_video_info?video_id=".$id);
parse_str($content, $ytarr);
Затем вся информация сохраняется в $ ytarr . Интересующими переменными будут «fmt_list» и «fmt_map» (которые, похоже, содержат одно и то же afaik). Эта переменная содержит список доступных видеоформатов в соответствии с таблицей здесь: http://en.wikipedia.org/wiki/Youtube#Quality_and_codecs
Предполагая, что вы знаете, какой из этих форматов вы хотите загрузить, вы можете использовать переменную "fmt_url_map" (или $ ytarr ['fmt_url_map'] в этом примере) для доступа к списку ссылок желаемый формат.
Вы можете загружать видео любого формата, используя эти ссылки, но на них распространяется ограниченная пропускная способность YouTube (оптимальная скорость потоковой передачи, используемая YouTube для экономии пропускной способности), поэтому загрузка будет не такой быстрой, как вы могли бы себе представить. Это наводит меня на мысль, что эти ссылки лучше всего использовать для потоковой передачи, а не для загрузки, но я не знаю никакой альтернативы.