Прочитав заметку в Блог Кори Шумана По поводу возможности воспроизведения видео с YouTube в Silverlight, я решил попробовать сам.
Вот скриншот Удар астероида , который играется в Видеоплеер Silverlight 3 из галереи кода MSDN с использованием потока Youtube.
Как я получил URL-адрес видеопотока?
Сразу оговорюсь: я пытался получить URL на стороне клиента, но политика доступа Youtube запрещает это.
Затем я сделал что-то другое: создал службу WCF, которая возвращает нужный нам URL-адрес.
- Выполнение HttpWebRequest для " www.youtube.com/get_video_infoЭvideo_id= " + идентификатор видео
- Читаем ответ и анализируем его.
Возвращенный ответ будет строкой и будет выглядеть как запрос.
- Необходимые части ответа, которые нам нужно проанализировать, — это «token» и «fmt_map».
- Значение
«fmt_map» будет примерно выглядеть как «18/640000/9/0/115».
Первая цифра 18 или 22 означает, что поток h.264 доступен, есть и другие значения, но мы их опустим.
Если первое число равно 6, то поток не сможет воспроизводиться, поскольку это тип флэш-памяти, который Silverlight не поддерживает.
- Необходимые части ответа, которые нам нужно проанализировать, — это «token» и «fmt_map».
- Создание второго HttpWebRequest для " www.youtube.com/get_video.phpЭvideo_id= " + videoID + "&t=" + токен + "&fmt=" + fmt (должно быть 18 или 22, в зависимости от того, что доступно)
- В заголовке ответа в ключе «Местоположение» будет URL видеопотока.
Хотел бы отметить, что пункт 4.в.
В условия соглашения ютуб запрещает получение видеоконтента таким способом, это всего лишь эксперимент. Теги: #youtube #silverlight #silverlight
-
В Московском Офисе Qiwi Проходят Обыски
19 Oct, 24 -
Айфон В Европе
19 Oct, 24 -
Подкаст «Хочу В Геймдев» №10
19 Oct, 24 -
Об Оптимизации Комбинаторных Алгоритмов
19 Oct, 24