Вместо того чтобы пытаться использовать get_video для получения видео, попробуйте вместо этого разобрать fmt_url_map (map-format-url).
Вы должны быть в состоянии найти fmt_url_map в том же месте, где вы нашли токен (как во флешварах флеш-видеоплеера YouTube или где-то на странице YouTube). Если вы не можете его найти, отправьте запрос по номеру http://www.youtube.com/get_video_info?video_id=VIDEO_ID, и вы должны получить очень длинный результат в формате name=value&name=value&...
Найти "fmt_url_map" внутри этого результата (поиск по строке результата который начинается с "& fmt_url_map =" и заканчивается "&").
После того, как вы получите это значение (вам может понадобиться его url-декодирование), оно будет примерно таким (без разрывов строк):
22|http://blah.youtube.com/videoplayback?blah,
35|http://blah.youtube.com/videoplayback?blah,
...
, где каждая разделенная запятыми запись начинается со значения fmt (в данном примере 22 или 35), за которым следует символ канала, за которым следует URL-адрес, по которому вы можете загрузить видео в этом формате. (Этот URL-адрес зависит от клиента, поэтому URL-адрес определенного клиента, скорее всего, не будет работать с другим клиентом из-за проверки IP-адресов YouTube. Кроме того, URL-адреса действительно истекают через некоторое время.)
Список различных значений fmt см. В: http://en.wikipedia.org/wiki/YouTube#Quality_and_formats и отображает «Комарисон параметров кодирования медиафайлов YouTube». ПРИМЕЧАНИЕ. Не все форматы могут быть доступны для всех видео.
Устаревший: больше не будет работать!