Автор:матрица Наблюдение: 12,586 Второсортный Время выпуска: 04.03.2014 分类:эклектика Биты и кусочки | 134 комментарии »
Эта тема создана 3103 дня назад, и информация могла меняться или меняться.
Ёкуизрекламироватьочень раздражает,К счастью, есть скрипты, которые могут это сделать.
например:http://userscripts.org/scripts/show/119622 Эффект очень хороший!
chromeиз使用说明:https://cloud.tencent.com/developer/article/2122199
此页面из Исходный кодИстекший,до настоящего времени>>исходный код PHPЁкуВидео анализвозобновлять
Процесс разбора Youku видео:
пример:http://v.youku.com/v_show/id_XNjc1MDI4Nzg0.html
1. Получите видеоинформацию
http://v.youku.com/player/getPlayList/VideoIDS/XNjc1MDI4Nzg0
После открытия вы можете увидеть информацию, связанную с видео.
Вам нужно начальное значение, значение hd2, mp4 или flv в потоковых файлах и соответствующее значение k в сегментах.
hd2, mp4 и flv представляют собой сверхчеткое, высокое и стандартное разрешение соответственно.
2. Объединение адресов загрузки
окончательная форма:http://f.youku.com/player/getFlvPath/sid/00_00/st/P0/fileid/ P1?k=P2 P0: Если вы выберете mp4 (т. е. высокую четкость), то это будет mp4, а остальное — flv. P0/fileid/ P1?k=P2 P0: Если вы выберете mp4 (т. е. высокую четкость), то это будет mp4, а остальное — flv.
function getFileIDMixString($seed)
{
$source = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890";
$len = strlen($source);
for ($i = 0; $i < $len; $i++)
{
$seed = ($seed * 211 + 30031) % 65536;
$index = floor($seed / 65536 * strlen($source));
$mixed .= $source[$index];
$source = str_replace($source[$index],'',$source);
}
return $mixed;
}
function getFileID( $fileid, $seed )
{
$mixed = getFileIDMixString($seed);
$ids = explode("*",$fileid);
for ($i = 0; $i < count($ids) - 1; $i++)
{
$idx = $ids[$i];
$realId .= $mixed[$idx];
}
return $realId;
}
Примечание. Это ключевая функция для дешифрования. Она была написана не мной. Она полностью основана на следующем коде C#: (версия C# функции дешифрования getFileID()).
public static String getFileID(String fileid, double seed)
{
String mixed = getFileIDMixString(seed);
String[] ids = fileid.Split('*');
StringBuilder realId = new StringBuilder();
int idx;
for (int i = 0; i < ids.Length - 1; i++)
{
idx = int.Parse(ids[i]);
realId.Append(mixed[idx]);
}
//Console.Write(realId.ToString());
return realId.ToString();
}
public static String getFileIDMixString(double seed)
{
StringBuilder mixed = new StringBuilder();
StringBuilder source = new StringBuilder("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890");
int index, len = source.Length;
for (int i = 0; i < len; ++i)
{
seed = (seed * 211 + 30031) % 65536;
index = (int)Math.Floor(seed / 65536 * source.Length);
mixed.Append(source[index]);
source.Remove(index, 1);
}
return mixed.ToString();
}
$P2: это значение, соответствующее k в сегментах.
Если вы выберете flv (т.е. стандартное разрешение), вы сможете найти
"flv":{"no":0,"size":"9932910","seconds":"277","k":"4be592cfae8eea21282826e4","k2":"167f8074bfb7bdca7"}}
Среди них 4be592cfae8eea21282826e4 — это $P2.
получить де P0 、 P1 и P2, вклеенный в адрес видео: http://f.youku.com/player/getFlvPath/sid/00_00/st/ P0/fileid/P1?k= P2
Если в видео много сегментов, просто измените $P2.
Вот исходный код PHP для получения адреса Youku:
Исходный кодистек:
намекать: Содержимое здесь требуетПрокомментируйте эту статьюможно посмотреть после.
Инструкции по вызову: /XXX.php?id=ID видео Youku?d=1
d=1 означает стандартное разрешение (flv), 2 означает высокое разрешение, а 3 означает сверхвысокое разрешение. Если вы не напишете ?d=*, качество вывода по умолчанию — FLV.
Некоторые детальные модификации не выписаны, но сделаны на PHP.
SD-тест:
HD-тест:
Ультрачистый тест:
Дополнительный интерфейс:
Ёкувнешняя ссылкаинтерфейс(wapадрес),Это очень просто:
видео:http://v.youku.com/v_show/id_XNjc1MDI4Nzg0.html
http://m.youku.com/wap/pvs?format=3gphd&id=XNjc1MDI4Nzg0
56.нет:
Видео: http://www.56.com/u30/v_MTA3MDk0Nzg3.html
Внешние ссылки:
http://vxml.56.com/html5/MTA3MDk0Nzg3/ (Рассчитано в высоком разрешении)
http://vxml.56.com/html5/MTA3MDk0Nzg3/?src=3g&res=qvga (То есть то, что используется на мобильных телефонах)
ссылка:http://blog.csdn.net/feige2008/article/details/8198434