Получить видео файл с флеш плеера target-c - PullRequest
1 голос
/ 26 августа 2011

Кто-нибудь знает, как получить URL-адрес видеофайла с этого URL-адреса:

http://vk.com/video_ext.php?oid=6492&id=141771975&hash=a984f2edb68fc4f7

Возвращает флеш-плеер с видео, но iphone не поддерживает формат flv, и я хочу знать, является ли видео файлом flv или mp4. Если кто-то знает, как играть FLV-видео в Интернете, я буду listnening:)

1 Ответ

4 голосов
/ 26 августа 2011

Используйте анализатор трафика HTTP / прокси, чтобы увидеть, какие файлы загружаются страницей. Во многих браузерах он встроен в инструменты разработчика (например, вкладка net в Firebug), но я предпочитаю использовать Charles , который имеет много других полезных функций для веб-разработчиков.

Используя Чарльза, я вижу, что файл, который загружается при нажатии кнопки воспроизведения, http://cs12326.vk.com/u06492/video/ab94044f46.flv,, который является FLV-файлом.

РЕДАКТИРОВАТЬ: Если вы хотите сделать это программно, вам может не повезти, потому что только видеопроигрыватель (реализованный во Flash) знает, с какого URL-адреса извлечь видеофайл. Вы можете перепроектировать его для этого конкретного веб-сайта (см. Ниже), но, очевидно, он будет работать только для видео на vk.com, и, возможно, даже не для всех видео на vk.com.

Глядя на HTML, я вижу, что определены четыре, казалось бы, важные переменные javascript:

var video_host = 'http://cs12326.vk.com/';
var video_uid = '06492';
var video_vtag = 'ab94044f46';
var video_no_flv = 0;

Эти значения можно найти в URL-адресе видео, поэтому можно предположить, что, анализируя текст HTML для этих определений переменных и используя значения для компиляции URL-адреса, вы сможете найти файл.

Я предполагаю, что переменная video_no_flv, определенная в том же фрагменте кода, указывает, является ли видео FLV-файлом или нет. На этой странице установлено значение 0, поэтому я предполагаю, что это означает, что это FLV-файл. Это будет означать, что при поиске в текстовой строке HTML подстроки video_no_flv и анализе целого числа после следующего последующего = будет указано, является ли видеофайл файлом FLV или нет.

Если это не так, можно с уверенностью предположить, что это MP4 / F4V (оба являются различными суффиксами для одного и того же типа файла MPEG-4 H.264) и что вы должны иметь возможность воспроизводить его на своем iPhone. Если это так, вы сможете скомпилировать URL из частей, упомянутых выше, и загрузить его.

//Pseudo-code
url = video_host + video_uid + "/video/" + video_vtag + ".m4v"

Чтобы оценить, будет ли это действительно работать, вам нужно изучить большую коллекцию видео на этом сайте.

Кроме того, обратите внимание, что реализация знаний, полученных вами с помощью этого типа реверс-инжиниринга, и отображение видео вне контекста, в котором они были опубликованы, может нарушить условия обслуживания этого веб-сайта и может быть актом фелония.

...