php源码_优酷视频解析_更新

作者:Matrix 被围观: 6,850 次 发布时间:2014-08-23 分类:兼容并蓄 拷贝型 码字型 | 236 条评论 »

NOTICE:这是一个创建于 835 天前的主题,其中的信息可能已经有所发展或是发生改变。

优酷的算法到6月份就变了,以前的优酷解析源码也早就失效。

获取视频信息的接口:

http://v.youku.com/player/getPlayList/VideoIDS/{$youku_ID}/ctype/12/ev/1
标清测试:

方法一.

通过优酷的m38u文件匹配到视频源,主要是获取m3u8地址麻烦

http://v.youku.com/player/getM3U8/vid/{ $id} /type/ {$type}这种优酷的m3u8地址在7月份的时候还能用,到这个月就成403错误没法访问。

后来找到了新的m38u地址:

http://pl.youku.com/playlist/m3u8?vid=XNTc5NDcwMjI4&type=mp4&ep={$ep}&sid={$sid}&token={$tk}&ctype=12&ev=1&oip={$oip}

麻烦的是多出来的ep等一趴拉参数,很扯拐。

还好有github项目的相关的源码,这里修改整理下[python]:
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import re
  4. import sys
  5. import json
  6. import gzip
  7. import base64
  8. import time
  9. from urllib import request, parse
  10. def get_response(url, faker = False):
  11.     if faker:
  12.         response = request.urlopen(request.Request(url, headers = fake_headers), None)
  13.     else:
  14.         response = request.urlopen(url)
  15.     data = response.read()
  16.     if response.info().get('Content-Encoding') == 'gzip':
  17.         data = ungzip(data)
  18.     elif response.info().get('Content-Encoding') == 'deflate':
  19.         data = undeflate(data)
  20.     response.data = data
  21.     return response
  22. # DEPRECATED in favor of get_content()
  23. def get_html(url, encoding = None, faker = False):
  24.     content = get_response(url, faker).data
  25.     return str(content, 'utf-8', 'ignore')
  26. def generate_ep(vid, ep):
  27.     f_code_1 = 'becaf9be'
  28.     f_code_2 = 'bf7e5f01'
  29.     def trans_e(a, c):
  30.         f = h = 0
  31.         b = list(range(256))
  32.         result = ''
  33.         while h < 256:
  34.             f = (f + b[h] + ord(a[h % len(a)])) % 256
  35.             b[h], b[f] = b[f], b[h]
  36.             h += 1
  37.         q = f = h = 0
  38.         while q < len(c):
  39.             h = (h + 1) % 256
  40.             f = (f + b[h]) % 256
  41.             b[h], b[f] = b[f], b[h]
  42.             if isinstance(c[q], int):
  43.                 result += chr(c[q] ^ b[(b[h] + b[f]) % 256])
  44.             else:
  45.                 result += chr(ord(c[q]) ^ b[(b[h] + b[f]) % 256])
  46.             q += 1
  47.         return result
  48.     e_code = trans_e(f_code_1, base64.b64decode(ep))
  49.     sid, token = e_code.split('_')
  50.     new_ep = trans_e(f_code_2, '%s_%s_%s' % (sid, vid, token))
  51.     return base64.b64encode(bytes(new_ep, 'latin')), sid, token
  52.     #return base64.b64encode(new_ep)
  53. def de_m3u8(vid):
  54.         url = 'http://v.youku.com/player/getPlayList/VideoIDS/%s/Pf/4/ctype/12/ev/1' % vid
  55.         meta = json.loads(get_html(url))
  56.         if not meta['data']:
  57.                 print ('[Failed] Video not found.')
  58.                 sys.exit() # 退出程序
  59.         metadata0 = meta['data'][0]
  60.         title = metadata0['title']
  61.         ep = metadata0['ep']
  62.         ip = metadata0['ip']
  63.         vid2 = metadata0['videoid']
  64.         data = generate_ep(vid2,ep);
  65.        # m3u8url = 'http://pl.youku.com/playlist/m3u8?vid=%s&type=mp4&ep=%s&sid=%s&token=%s&ctype=12&ev=1&oip=%s' % (vid,data[0],data[1],data[2],ip)
  66.         m3u8_query = parse.urlencode(dict(
  67.             ctype=12,
  68.             ep=data[0],
  69.             ev=1,
  70.             keyframe=1,
  71.             oip=ip,
  72.             sid=data[1],
  73.             token=data[2],
  74.             ts=int(time.time()),
  75.             type='mp4',
  76.             vid=vid2,
  77.         ))
  78.         m3u8_url = 'http://pl.youku.com/playlist/m3u8?' + m3u8_query
  79.         return m3u8_url;
  80. v = 'XNjc1MDI4Nzg0'#优酷视频ID
  81. print(get_html(de_m3u8(v)))#返回m3u8内容

说明:python的相关代码我只是DIY了,原创来自:
https://github.com/tacy/plugin.video.youkuvideo/blob/master/addon.py
https://github.com/soimort/you-get/blob/develop/src/you_get/extractors/youku.py

php源码_优酷视频解析_更新

 

执行上面的python得到如图,明显m3u8的视频源就是这些,只是不要后面的ts_参数。

之后再慢慢改成php代码,装成类:

  1. class youku_m3u8
  2. {
  3.     public static function curl($url$carry_header = true, $REFERER_ = 0, $add_arry_header = 0)
  4.     {
  5.         $ch = curl_init($url);
  6.         if ($carry_header)
  7.         {
  8.             curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36'));
  9.         }
  10.         if ($add_arry_header)
  11.         {
  12.             curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
  13.         }
  14.         if ($REFERER_)
  15.         {
  16.             curl_setopt($ch, CURLOPT_REFERER, $REFERER_);
  17.         }
  18.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  19.         $get_url = curl_exec($ch);
  20.         curl_close($ch);
  21.         return $get_url;
  22.     }
  23.     public static function charCodeAt($str$index)
  24.     {
  25.         $charCode = array();
  26.         $key = md5($str);
  27.         $index = $index + 1;
  28.         if (isset($charCode[$key]))
  29.         {
  30.             return $charCode[$key][$index];
  31.         }
  32.         $charCode[$key] = unpack('C*', $str);
  33.         return $charCode[$key][$index];
  34.     }
  35.     public static function charAt($str$index = 0)
  36.     {
  37.         return substr($str$index, 1);
  38.     }
  39.     public static function fromCharCode($codes)
  40.     {
  41.         if (is_scalar($codes))
  42.         {
  43.             $codes = func_get_args();
  44.         }
  45.         $str = '';
  46.         foreach ($codes as $code)
  47.         {
  48.             $str .= chr($code);
  49.         }
  50.         return $str;
  51.     }
  52.     public static function yk_e($a$c)
  53.     {
  54.         for ($f = 0, $i$e = ''$h = 0; 256 > $h$h++)
  55.         {
  56.             $b[$h] = $h;
  57.         }
  58.         for ($h = 0; 256 > $h$h++)
  59.         {
  60.             $f = (($f + $b[$h]) + self::charCodeAt($a$h % strlen($a))) % 256;
  61.             $i = $b[$h];
  62.             $b[$h] = $b[$f];
  63.             $b[$f] = $i;
  64.         }
  65.         for ($q = ($f = ($h = 0)); $q < strlen($c); $q++)
  66.         {
  67.             $h = ($h + 1) % 256;
  68.             $f = ($f + $b[$h]) % 256;
  69.             $i = $b[$h];
  70.             $b[$h] = $b[$f];
  71.             $b[$f] = $i;
  72.             $e .= self::fromCharCode(self::charCodeAt($c$q) ^ $b[($b[$h] + $b[$f]) % 256]);
  73.         }
  74.         return $e;
  75.     }
  76.     public static function yk_d($a)
  77.     {
  78.         $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  79.         if (!$a)
  80.         {
  81.             return '';
  82.         }
  83.         $f = strlen($a);
  84.         $b = 0;
  85.         for ($c = ''$b < $f ;  )
  86.         {
  87.             $e = self::charCodeAt($a$b++) &255;
  88.             if ($b == $f)
  89.             {
  90.                 $c .= self::charAt($str$e >> 2);
  91.                 $c .= self::charAt($str, ($e &3) << 4);
  92.                 $c .= '==';
  93.                 break;
  94.             }
  95.             $g = self::charCodeAt($a$b++);
  96.             if ($b == $f)
  97.             {
  98.                 $c .= self::charAt($str$e >> 2);
  99.                 $c .= self::charAt($str, ($e &3) << 4 | ($g &240) >> 4);
  100.                 $c .= self::charAt($str, ($g &15) << 2);
  101.                 $c .= '=';
  102.                 break;
  103.             }
  104.             $h = self::charCodeAt($a$b++);
  105.             $c .= self::charAt($str$e >> 2);
  106.             $c .= self::charAt($str, ($e &3) << 4 | ($g &240) >> 4);
  107.             $c .= self::charAt($str, ($g &15) << 2 | ($h &192) >> 6);
  108.             $c .= self::charAt($str$h &63);
  109.         }
  110.         return $c;
  111.     }
  112.     public static function get_m3u8_url($youku_ID$type = 'flv')
  113.     {
  114.         $video_info = self::curl('http://v.youku.com/player/getPlayList/VideoIDS/' . $youku_ID . '/ctype/12/ev/1');
  115.         $obj = json_decode($video_info);
  116.         $vid = $obj->data[0]->videoid;
  117.         $oip = $obj->data[0]->ip;
  118.         $epdata = $obj->data[0]->ep;
  119.         $youku_m3u8 = self::_calc_ep2($vid$epdata);
  120.         $m3u8_url = 'http://pl.youku.com/playlist/m3u8?vid=' . $vid . '&type=' . $type . '&ep=' . urlencode($youku_m3u8['ep']) . '&token=' . $youku_m3u8['token'] . '&ctype=12&ev=1&oip=' . $oip . '&sid=' . $youku_m3u8['sid'];
  121.         return $m3u8_url;
  122.     }
  123.     public static function _calc_ep2($vid$ep)
  124.     {
  125.         $e_code = self::yk_e('becaf9be', base64_decode($ep));
  126.         $s_t = explode('_', $e_code);
  127.         $sid = $s_t[0];
  128.         $token = $s_t[1];
  129.         // $new_ep = trans_e('bf7e5f01', '%s_%s_%s' % ($sid.$vid.$token));
  130.         $new_ep = self::yk_e('bf7e5f01', $sid . '_' . $vid . '_' . $token);
  131.         $new_ep = base64_encode($new_ep); //可以换作下面代码 
  132.         // $new_ep = iconv('gbk', 'UTF-8', self::yk_d($new_ep));
  133.         return array('ep' => $new_ep,
  134.             'token' => $token,
  135.             'sid' => $sid,
  136.             );
  137.     }
  138. }

说明:调用函数youku_m3u8::get_m3u8_url('XNjc1MDI4Nzg0')就能得到m3u8地址

方法二.

像之前一样解密优酷算法,按照新的URL拼接。

这里有深渊戮影的新算法[php]:

  1. class Youku {
  2.     const USER_AGENT = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36";
  3.     const REFERER = "http://www.youku.com";
  4.     const FORM_ENCODE = "GBK";
  5.     const TO_ENCODE = "UTF-8";
  6.     private static $base = "http://v.youku.com/player/getPlaylist/VideoIDS/";
  7.     private static $source = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890";
  8.     private static $sz = '-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1';
  9.     private static $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  10.     public static function parse($url){
  11.         preg_match("#id\_([\w=]+)#"$url$matches); //id里可以有=号
  12.         if (emptyempty($matches)){
  13.             $html = self::_cget($url);
  14.             preg_match("#videoId2\s*=\s*\'(\w+)\'#"$html$matches);
  15.             if(!$matchesreturn false;
  16.         }
  17.         //根据you vid 获取相应的视频地址
  18.         return self::_getYouku(trim($matches[1]));
  19.     }
  20.     /**
  21.      * [_cget curl获取数据]
  22.      * @param  [type]  $url     [url地址]
  23.      * @param  boolean $convert [是否转换编码]
  24.      * @param  integer $timeout [超时时间]
  25.      * @return [type]           [description]
  26.      */
  27.     public static function _cget($url,$convert=false,$timeout=10){
  28.         $ch=curl_init($url);
  29.         curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  30.         curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
  31.         curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  32.         curl_setopt($ch,CURLOPT_USERAGENT,self::USER_AGENT);
  33.         curl_setopt($ch,CURLOPT_REFERER,self::REFERER);
  34.         curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); //跟随301跳转
  35.         curl_setopt($ch,CURLOPT_AUTOREFERER,1); //自动设置referer              
  36.         $res=curl_exec($ch);
  37.         curl_close($ch);
  38.         if($convert){
  39.             $res=mb_convert_encoding($res,self::TO_ENCODE,self::FORM_ENCODE);
  40.         }
  41.         return $res;
  42.     }
  43.     //start 获得优酷视频需要用到的方法
  44.     private static function getSid(){
  45.         $sid = time().(mt_rand(0,9000)+10000);
  46.         return $sid;
  47.     }
  48.     private static function getKey($key1,$key2){
  49.         $a = hexdec($key1);
  50.         $b = $a ^0xA55AA5A5;
  51.         $b = dechex($b);
  52.         return $key2.$b;
  53.     }
  54.     private static function getFileid($fileId,$seed){
  55.         $mixed = self::getMixString($seed);
  56.         $ids = explode("*",rtrim($fileId,'*')); //去掉末尾的*号分割为数组
  57.         $realId = "";
  58.         for ($i=0;$i<count($ids);$i++){
  59.             $idx = $ids[$i];
  60.             $realId .= substr($mixed,$idx,1);
  61.         }
  62.         return $realId;
  63.     }
  64.     private static function getMixString($seed){
  65.         $mixed = "";
  66.         $source = self::$source;
  67.         $len = strlen($source);
  68.         for($i=0;$i<$len;$i++){
  69.             $seed = ($seed * 211 + 30031)%65536;
  70.             $index = ($seed / 65536 * strlen($source));
  71.             $c = substr($source,$index,1);
  72.             $mixed .= $c;
  73.             $source = str_replace($c,"",$source);
  74.         }
  75.         return $mixed;
  76.     }
  77.     private static function yk_d($a){
  78.         if (!$a) {
  79.             return '';
  80.         }
  81.         $f = strlen($a);
  82.         $b = 0;
  83.         $str = self::$str;
  84.         for ($c = ''$b < $f😉 {
  85.             $e = self::charCodeAt($a$b++) & 255;
  86.             if ($b == $f) {
  87.                 $c .= self::charAt($str$e >> 2);
  88.                 $c .= self::charAt($str, ($e & 3) << 4);
  89.                 $c .= '==';
  90.                 break;
  91.             }
  92.             $g = self::charCodeAt($a$b++);
  93.             if ($b == $f) {
  94.                 $c .= self::charAt($str$e >> 2);
  95.                 $c .= self::charAt($str, ($e & 3) << 4 | ($g & 240) >> 4);
  96.                 $c .= self::charAt($str, ($g & 15) << 2);
  97.                 $c .= '=';
  98.                 break;
  99.             }
  100.             $h = self::charCodeAt($a$b++);
  101.             $c .= self::charAt($str$e >> 2);
  102.             $c .= self::charAt($str, ($e & 3) << 4 | ($g & 240) >> 4);
  103.             $c .= self::charAt($str, ($g & 15) << 2 | ($h & 192) >> 6);
  104.             $c .= self::charAt($str$h & 63);
  105.         }
  106.         return $c;
  107.     }
  108.     private static function yk_na($a){
  109.         if (!$a) {
  110.             return '';
  111.         }
  112.         $h = explode(',', self::$sz);
  113.         $i = strlen($a);
  114.         $f = 0;
  115.         for ($e = ''$f < $i😉 {
  116.             do {
  117.                 $c = $h[self::charCodeAt($a$f++) & 255];
  118.             } while ($f < $i && -1 == $c);
  119.             if (-1 == $c) {
  120.                 break;
  121.             }
  122.             do {
  123.                 $b = $h[self::charCodeAt($a$f++) & 255];
  124.             } while ($f < $i && -1 == $b);
  125.             if (-1 == $b) {
  126.                 break;
  127.             }
  128.             $e .= self::fromCharCode($c << 2 | ($b & 48) >> 4);
  129.             do {
  130.                 $c = self::charCodeAt($a$f++) & 255;
  131.                 if (61 == $c) {
  132.                     return $e;
  133.                 }
  134.                 $c = $h[$c];
  135.             } while ($f < $i && -1 == $c);
  136.             if (-1 == $c) {
  137.                 break;
  138.             }
  139.             $e .= self::fromCharCode(($b & 15) << 4 | ($c & 60) >> 2);
  140.             do {
  141.                 $b = self::charCodeAt($a$f++) & 255;
  142.                 if (61 == $b) {
  143.                     return $e;
  144.                 }
  145.                 $b = $h[$b];
  146.             } while ($f < $i && -1 == $b);
  147.             if (-1 == $b) {
  148.                 break;
  149.             }
  150.             $e .= self::fromCharCode(($c & 3) << 6 | $b);
  151.         }
  152.         return $e;
  153.     }
  154.     private static function yk_e($a$c){
  155.         for ($f = 0, $i$e = ''$h = 0; 256 > $h$h++) {
  156.             $b[$h] = $h;
  157.         }
  158.         for ($h = 0; 256 > $h$h++) {
  159.             $f = (($f + $b[$h]) + self::charCodeAt($a$h % strlen($a))) % 256;
  160.             $i = $b[$h];
  161.             $b[$h] = $b[$f];
  162.             $b[$f] = $i;
  163.         }
  164.         for ($q = ($f = ($h = 0)); $q < strlen($c); $q++) {
  165.             $h = ($h + 1) % 256;
  166.             $f = ($f + $b[$h]) % 256;
  167.             $i = $b[$h];
  168.             $b[$h] = $b[$f];
  169.             $b[$f] = $i;
  170.             $e .= self::fromCharCode(self::charCodeAt($c$q) ^ $b[($b[$h] + $b[$f]) % 256]);
  171.         }
  172.         return $e;
  173.     }
  174.     private static function fromCharCode($codes){
  175.         if (is_scalar($codes)) {
  176.             $codes = func_get_args();
  177.         }
  178.         $str = '';
  179.         foreach ($codes as $code) {
  180.             $str .= chr($code);
  181.         }
  182.         return $str;
  183.     }
  184.     private static function charCodeAt($str$index){
  185.         static $charCode = array();
  186.         $key = md5($str);
  187.         $index = $index + 1;
  188.         if (isset($charCode[$key])) {
  189.             return $charCode[$key][$index];
  190.         }
  191.         $charCode[$key] = unpack('C*', $str);
  192.         return $charCode[$key][$index];
  193.     }
  194.     private static function charAt($str$index = 0){
  195.         return substr($str$index, 1);
  196.     }
  197.     /**
  198.      * [_getYouku description]
  199.      * @param  [type] $vid [视频id]
  200.      * @return [type]      [description]
  201.      */
  202.     public static function _getYouku($vid){
  203.         //$link = "http://v.youku.com/player/getPlayList/VideoIDS/{$vid}/Pf/4"; //获取视频信息json 有些视频获取不全(土豆网的 火影忍者)
  204.         $blink = self::$base.$vid;
  205.         $link = $blink."/Pf/4/ctype/12/ev/1";
  206.         $retval = self::_cget($link);
  207.         $bretval = self::_cget($blink);
  208.         if ($retval) {
  209.             $rs = json_decode($retval, true);
  210.             $brs = json_decode($bretval, true);
  211.             if(!emptyempty($rs['data'][0]['error'])){
  212.                 return false;  //有错误返回false
  213.             }
  214.             $data = array();
  215.             $streamtypes = $rs['data'][0]['streamtypes'];  //可以输出的视频清晰度
  216.             $streamfileids = $rs['data'][0]['streamfileids'];
  217.             $seed = $rs['data'][0]['seed'];
  218.             $segs = $rs['data'][0]['segs'];
  219.             $ip = $rs['data'][0]['ip'];
  220.             $bsegs =  $brs['data'][0]['segs'];
  221.             list($sid$token) = explode('_', self::yk_e('becaf9be', self::yk_na($rs['data'][0]['ep'])));
  222.             foreach ($segs as $key=>$val) {
  223.                 if(in_array($key,$streamtypes)){
  224.                     foreach($val as $k=> $v){
  225.                         $no = strtoupper(dechex($v['no'])); //转换为16进制 大写
  226.                         if(strlen($no) == 1){
  227.                             $no ="0".$no;  //no 为每段视频序号
  228.                         }
  229.                         //构建视频地址K值
  230.                         $_k = $v['k'];
  231.                         if ((!$_k || $_k == '') || $_k == '-1') {
  232.                             $_k = $bsegs[$key][$k]['k'];
  233.                         }
  234.                         $fileId = self::getFileid($streamfileids[$key],$seed);
  235.                         $fileId = substr($fileId,0,8).$no.substr($fileId,10);
  236.                         $ep = urlencode(iconv('gbk', 'UTF-8', self::yk_d(self::yk_e('bf7e5f01', ((($sid . '_') . $fileId) . '_') . $token))));
  237.                         //判断后缀类型 、获得后缀
  238.                         $typeArray = array("flv"=>"flv","mp4"=>"mp4","hd2"=>"flv","3gphd"=>"mp4","3gp"=>"flv","hd3"=>"flv");
  239.                         //判断视频清晰度  
  240.                         $sharpness = array("flv"=>"normal","flvhd"=>"normal","mp4"=>"high","hd2"=>"super","3gphd"=>"high","3gp"=>"normal","hd3"=>"original"); //清晰度 数组
  241.                         $fileType = $typeArray[$key];
  242.                         $data[$sharpness[$key]][$k] = "http://k.youku.com/player/getFlvPath/sid/".$sid."_00/st/{$fileType}/fileid/".$fileId."?K=".$_k."&hd=1&myp=0&ts=".((((($v['seconds'].'&ypp=0&ctype=12&ev=1&token=').$token).'&oip=').$ip).'&ep=').$ep;
  243.                     }
  244.                 }
  245.             }
  246.             //返回 图片 标题 链接  时长  视频地址
  247.             $data['img'] = $rs['data'][0]['logo'];
  248.             $data['title'] = $rs['data'][0]['title'];
  249.             $data['seconds'] = $rs['data'][0]['seconds'];
  250.             return $data;
  251.         } else {
  252.             return false;
  253.         }
  254.     }
  255.     //end  获得优酷视频需要用到的方法
  256. }

说明:调用Youku::parse('http://v.youku.com/v_show/id_XNzM4ODk0ODcy.html')就能得到所有地址。

php源码下载:

提示: 此处内容需要评论本文后才能查看.

 

参考:

3shi天下

php 获取优酷视频的真实地址(2014.6月新算法)

plugin.video.youkuvideo

you-get

本文固定链接:http://www.hhtjim.com/php-source-code-_-youku-video-parsing-_-updates.html
Matrix
本文章由 Matrix 于2014年08月23日发布在兼容并蓄, 拷贝型, 码字型分类下,目前没有通告,你可以至底部留下评论。
转载请注明:php源码_优酷视频解析_更新-HHTjim'S 部落格
关键字:, , , , ,

有236 条评论 »

  1. 壁咚 壁咚 2016-11-29 20:01:31 +0800#211

    突然觉得你好帅

  2. 好人 好人 2016-11-26 15:43:28 +0800#210

    感谢楼主分享

  3. 焚墨 焚墨 2016-11-4 21:16:22 +0800#209

    好东西啊,谢谢

  4. 麦霸 麦霸 2016-10-29 19:20:03 +0800#208

    😛 学习学习 😛 😛 😛 折腾的过程的确很麻烦

  5. 麦霸 麦霸 2016-10-29 19:19:25 +0800#207

    😛 学习学习 😛 😛 😛

  6. bipian.com bipian.com 2016-10-27 23:50:49 +0800#206

    You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!

  7. bipian.com bipian.com 2016-10-27 23:50:29 +0800#205

    应该好用吧!

  8. 大菠萝 大菠萝 2016-10-10 18:14:02 +0800#204

    😉

  9. a a 2016-9-24 14:45:44 +0800#203

    哈哈哈哈

  10. lincq lincq 2016-9-20 17:45:21 +0800#202

    谢谢分享哈

  11. 1111 1111 2016-9-14 10:22:31 +0800#201

    哈里发的萨芬的撒范德萨

  12. 昌昌 昌昌 2016-9-12 9:43:26 +0800#200

    很好。试试看 😛

  13. 南尕 南尕 2016-8-23 22:22:16 +0800#199

    看看,学习一下

  14. maxlin maxlin 2016-8-14 11:15:00 +0800#198

    好东西诶

  15. 啸月 啸月 2016-8-11 23:50:21 +0800#197

    学习一下 支持

  16. 萨达 萨达 2016-7-15 0:48:59 +0800#196

    写的很好不知道有关

  17. 啊实打实的 啊实打实的 2016-7-15 0:48:09 +0800#195

    好极了非常感谢

  18. fsdf fsdf 2016-7-5 11:10:36 +0800#194

    辛苦了,是一下!!

  19. hhh hhh 2016-6-17 14:25:23 +0800#193

    试试能不能用它来获取acfun的m3u8

  20. fanfanfeng fanfanfeng 2016-6-7 10:18:49 +0800#192

    终于找到了,ep算法就是变来变去。我懒得写了 😀 ,,借用了哈

  21. 111 111 2016-5-30 11:13:14 +0800#191

    😛 ❗

  22. 人味儿 人味儿 2016-4-16 12:06:46 +0800#190

    🙁 🙁 🙁 🙁

  23. gaog gaog 2016-4-13 13:24:10 +0800#189

    非常的好,执行支持下 😛

  24. 不错啊 不错啊 2016-3-31 15:17:11 +0800#188

    实时看看

  25. xk xk 2016-3-17 23:25:29 +0800#187

    😎 😎 😎 嗯 学习下·

  26. fffffffffffffffff fffffffffffffffff 2016-3-16 13:40:05 +0800#186

    这种有很多吧 flvxz.com这些

  27. xiaoliu xiaoliu 2016-3-16 13:34:27 +0800#185

    真的很牛X

  28. dok dok 2016-3-14 12:09:59 +0800#184

    支持楼主

  29. echo echo 2016-3-11 15:31:28 +0800#183

    下来试试~

  30. sofashi sofashi 2016-3-9 9:08:34 +0800#182

    学习了

  31. 阿鲁巴 阿鲁巴 2016-3-3 21:50:48 +0800#181

    学习了```

  32. 毛毛 毛毛 2016-2-29 12:35:23 +0800#180

    最近在自己的小站上搭视频播放功能又不想引用自带的iframe地址
    解析的方法学习了

  33. 起不到 起不到 2016-1-29 0:42:28 +0800#179

    看看学习一下

  34. 学习 学习 2016-1-19 22:44:33 +0800#178

    🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 很不错,学习,谢谢

  35. 学习 学习 2016-1-11 14:44:58 +0800#177

    还不错,学习,不知道现在是否可用了 🙄

  36. kaisenlee kaisenlee 2015-12-27 22:28:16 +0800#176

    很不错,学习,谢谢

  37. 52mkm 52mkm 2015-12-26 23:50:26 +0800#175

    第一次来到这里就被吸引了,谢谢老大的分享

    • Matrix Matrix Moderator 2015-12-31 0:35:00 +0800

      优酷 换了东家。源码就失效了

  38. yujia yujia 2015-12-15 20:11:48 +0800#174

    很好很强大

  39. sai sai 2015-12-13 14:50:45 +0800#173

    学习了

  40. 老王 老王 2015-11-28 22:42:42 +0800#172

    👿

  41. nice nice 2015-11-25 8:39:15 +0800#171

    有JS的版本吗?

    • Matrix Matrix Moderator 2015-12-7 22:24:25 +0800

      我这没有。

    • Matrix Matrix Moderator 2015-12-7 22:24:59 +0800

      现在优酷的解析换了 听说改变不大

  42. dfsdfsgdfg dfsdfsgdfg 2015-11-22 10:15:43 +0800#170

    gfzghdfhf nfn fnutmnuymt8的,就给你看的估计把你看透记得你 你

  43. 海诚 海诚 2015-11-21 21:24:45 +0800#169

    支持一下

  44. 学校了 学校了 2015-11-11 23:42:57 +0800#168

    来学习学习

  45. Jonvi. Jonvi. 2015-11-7 0:07:53 +0800#167

    也看看这个

  46. dddd dddd 2015-11-1 0:24:41 +0800#166

    非常的好

  47. ccc ccc 2015-10-23 16:46:59 +0800#165

    😳

  48. 大侠我要乐 大侠我要乐 2015-10-22 16:44:44 +0800#164

    学习学习

  49. 彭飞 彭飞 2015-10-19 19:06:07 +0800#163

    看看怎么样啊

  50. 积极 积极 2015-10-19 9:58:04 +0800#162

    看看

  51. 菜鸟 菜鸟 2015-10-11 17:47:31 +0800#161

    不错! 😛 😛

  52. 菜鸟 菜鸟 2015-10-11 2:03:38 +0800#160

    请教高手 🙁 :mrgreen:

  53. 呵呵 呵呵 2015-10-8 23:05:22 +0800#159

    学习下试试, 感谢分享! 😀

  54. 2dan 2dan 2015-10-7 23:18:43 +0800#158

    学习了,感谢分享!

  55. 浪子 浪子 2015-10-7 12:09:12 +0800#157

    网上优酷的解析很多,就是没有见过怎么去解析的过程!谢谢博主分享!会常来!同时希望博主研究ckplayer播放器!谢谢!个人见解。博主不喜欢的话一望而过!谢谢!

  56. 学习了 学习了 2015-10-3 16:12:20 +0800#156

    学习了

  57. 11 11 2015-10-2 23:01:51 +0800#155

    学习

  58. 11111 11111 2015-9-20 21:16:59 +0800#154

    非常的好

  59. 解析爱好者 解析爱好者 2015-9-17 0:51:57 +0800#153

    学习下 感谢分享

  60. 咳咳咳 咳咳咳 2015-9-14 19:34:34 +0800#152

    能用不?

  61. 恐怖利刃●大黑 恐怖利刃●大黑 2015-9-7 9:48:09 +0800#151

    很不错,学习,谢谢

  62. 你看不到 你看不到 2015-9-1 14:12:08 +0800#150

    找了好久不知道能不能用 😀

  63. 我就是我 我就是我 2015-8-24 16:40:35 +0800#149

    很不错的啊啊

  64. 我就是我 我就是我 2015-8-24 16:39:40 +0800#148

    现在还可以用吗

  65. 覃起宪 覃起宪 2015-8-23 16:09:33 +0800#147

    很好!

  66. 小青科技 小青科技 2015-8-20 22:46:52 +0800#146

    大神

  67. devil devil 2015-8-19 19:10:06 +0800#145

    现在还可以用吗

  68. 夜侠 夜侠 2015-8-18 22:51:52 +0800#144

    😯 😯 😯 😯 😯

  69. 柠檬 柠檬 2015-8-18 15:51:56 +0800#143

    支持下!!!

  70. 南尕 南尕 2015-8-16 14:51:37 +0800#142

    很不错,学习,谢谢

  71. Cade Cade 2015-8-15 17:29:46 +0800#141

    fuck你

  72. niub niub 2015-8-15 16:44:23 +0800#140

    不知道现在还能不能用啊

  73. 奇怪了 奇怪了 2015-8-15 9:13:36 +0800#139

    为什么评论了还是不行

  74. lugoing lugoing 2015-8-15 9:12:42 +0800#138

    一直在找这种代码,看不到源码,回复一下,看看现在是否还能用。。

  75. 不错 不错 2015-8-12 1:30:43 +0800#137

    看一下。。。。。。。。。。。。。 😀

  76. 淡忘 淡忘 2015-8-9 21:55:25 +0800#136

    🙄 学习了,希望能跟踪着更新下去。辛苦了

  77. 信仰之名 信仰之名 2015-8-5 6:54:17 +0800#135

    😀 大神你好!代码详细

  78. D-IAO D-IAO 2015-8-4 23:58:07 +0800#134

    学习了 :mrgreen:

  79. wcv2221 wcv2221 2015-7-27 0:48:03 +0800#133

    学习一下,真的很好啊!!!

  80. wcv2221 wcv2221 2015-7-27 0:47:19 +0800#132

    学习一下,真的很好!!!

  81. hjtrjrj hjtrjrj 2015-7-26 10:55:51 +0800#131

    xx谢谢

  82. Gromit Gromit 2015-7-26 1:35:47 +0800#130

    学习一下,真的很好!!!

  83. seek seek 2015-7-24 13:57:33 +0800#129

    博主V5

  84. 撒打算 撒打算 2015-7-23 1:52:55 +0800#128

    支持下!!!

  85. 可乐 可乐 2015-7-22 20:43:26 +0800#127

    ❓ 支持下!!!

  86. wslgq123 wslgq123 2015-7-22 18:19:36 +0800#126

    学习一下,真的很好!!!

  87. 瞅瞅看 瞅瞅看 2015-7-19 13:37:53 +0800#125

    👿 ➡ 💡 ➡ 💡 不错

  88. 呜呜呜 呜呜呜 2015-7-18 11:49:18 +0800#124

    看看~~~

  89. 试试看 试试看 2015-7-17 5:32:05 +0800#123

    试试看可以不

  90. divachen divachen 2015-7-10 14:55:39 +0800#122

    真的不错,很实用的
    不知道支持付费视频吗

  91. 好的 好的 2015-7-9 23:13:03 +0800#121

    真的不错,很实用的 😮 😮 😮

  92. 大侠我要乐 大侠我要乐 2015-7-9 15:48:31 +0800#120

    学习

  93. oauth oauth 2015-7-6 18:14:58 +0800#119

    來看看

  94. 花生壳 花生壳 2015-7-6 16:30:59 +0800#118

    估计有40分钟限制,上个电影测试啊

  95. master master 2015-7-2 2:45:35 +0800#117

    视频解析很好玩

  96. haoren haoren 2015-7-1 11:57:18 +0800#116

    不错,辛苦您了,实用

  97. 邪小冷 邪小冷 2015-6-26 13:47:00 +0800#115

    谢谢分享。。

  98. 有40分钟限制吗? 有40分钟限制吗? 2015-6-26 3:15:49 +0800#114

    有40分钟限制吗?

    • Matrix Matrix Moderator 2015-6-26 19:07:49 +0800

      如果付费才能观看 这代码没用

  99. 4357音乐网 4357音乐网 2015-6-25 22:55:53 +0800#113

    很不错的解析 收藏了!~

  100. 多少胜点 多少胜点 2015-6-22 6:10:48 +0800#112

    支持

  101. 神奇 神奇 2015-6-19 20:55:26 +0800#111

    :mrgreen: 学习了, 牛逼!

  102. bbking bbking 2015-6-19 16:46:45 +0800#110

    真的不错,很实用的!!!!

  103. 梵蒂冈豆腐干 梵蒂冈豆腐干 2015-6-18 23:06:47 +0800#109

    怎么用? 看看

  104. sss sss 2015-6-11 14:48:17 +0800#108

    👿 PP空具发好;国自卫队无可奈何花落去;

  105. 憨憨 憨憨 2015-6-7 22:53:49 +0800#107

    支持了

  106. dragon dragon 2015-6-3 1:19:42 +0800#106

    现在还能用吗

  107. 快速格式化 快速格式化 2015-5-26 12:06:56 +0800#105

    不多啊

  108. hihi hihi 2015-5-25 7:47:39 +0800#104

    很好很好哦

  109. 大侠我要乐 大侠我要乐 2015-5-24 16:47:21 +0800#103

    很喜欢,谢谢

  110. 不错 不错 2015-5-23 20:05:19 +0800#102

    终于找到你 😆 😆

  111. 真的 真的 2015-5-22 19:24:37 +0800#101

    真的不错,很实用的 👿

  112. 大侠我要乐 大侠我要乐 2015-5-20 15:53:44 +0800#100

    真的不错,很实用的 👿

  113. 屠夫 屠夫 2015-5-19 9:41:19 +0800#99

    太赞了,看看还有用不

  114. 萨芬 萨芬 2015-5-18 9:42:49 +0800#98

    :razz:感谢

  115. 可乐 可乐 2015-5-10 21:55:07 +0800#97

    看看能用没,不会失效了吧

  116. VX VX 2015-5-10 18:27:59 +0800#96

    不错

  117. 你大爷 你大爷 2015-5-8 12:46:15 +0800#95

    👿
    现在 还能用吗

  118. 妙哉影院 妙哉影院 2015-5-1 0:26:22 +0800#94

    再来研究下这个代码,好难搞啊,这方面的教程太少了。

  119. 还能用 还能用 2015-4-24 18:35:29 +0800#93

    不知道现在还能用否?

  120. rrr rrr 2015-4-22 11:53:15 +0800#92

    😕 😕 谢谢谢谢

  121. www.369cv.com www.369cv.com 2015-4-22 0:29:49 +0800#91

    😛 😛 不错 来看看

  122. MCBBC MCBBC 2015-4-15 9:20:05 +0800#90

    😀 这个不错哟

  123. 呵呵 呵呵 2015-4-13 13:22:34 +0800#89

    😛 我来试试

  124. 十三月 十三月 2015-4-8 23:36:19 +0800#88

    还能用。真不错。

  125. 孤魂 孤魂 2015-4-8 0:11:06 +0800#87

    只能评论下咯

  126. 只能评论下咯 只能评论下咯 2015-4-7 22:28:28 +0800#86

    只能评论下咯

  127. 嫣然一笑 嫣然一笑 2015-3-30 8:25:17 +0800#85

    很想学习这方面的知识,收藏了。

  128. huhai huhai 2015-3-24 3:00:56 +0800#84

    我来测试一下,呵呵

  129. 圣音03 圣音03 2015-3-19 5:47:47 +0800#83

    很喜欢,不错,有效就好。

  130. 淘乐导刊 淘乐导刊 2015-3-12 22:33:23 +0800#82

    😛 测试下试试

  131. Abc Abc 2015-3-10 14:18:41 +0800#81

    😈 😈 😈 哈哈哈

  132. 大神 大神 2015-3-4 16:53:30 +0800#80

    大神

  133. nick nick 2015-2-25 15:59:01 +0800#79

    還能用麼?

  134. 无缘 无缘 2015-2-17 0:05:32 +0800#78

    看看能用没,不会失效了吧

  135. 2015jm 2015jm 2015-2-14 23:41:55 +0800#77

    试试,能用吗,谢谢辛苦了

  136. STARS STARS 2015-2-9 14:32:47 +0800#76

    不知道现在还能用否?

    • Matrix Matrix Moderator 2015-2-9 15:20:19 +0800

      还能用 我把测试视频放上去 😀

  137. wslgq123 wslgq123 2015-2-8 10:01:51 +0800#75

    😛 看看 学习一下

  138. 格式化の记忆 格式化の记忆 2015-2-6 20:52:39 +0800#74

    ❓ 😛 🙁 …………………………………………发给对方感受感受感受

  139. 游戏 游戏 2015-2-2 23:31:25 +0800#73

    😀 不错的影子

  140. 1 1 2015-1-24 22:24:19 +0800#72

    👿 对对对看看源码

  141. mlllasda mlllasda 2015-1-22 11:17:30 +0800#71

    感谢了!!!

  142. ximoo ximoo 2015-1-20 18:04:10 +0800#70

    👿 学习下

  143. adasdasdasd adasdasdasd 2015-1-8 12:21:19 +0800#69

    不知道还能解析不,这个源码。

  144. php php 2015-1-8 10:20:58 +0800#68

    👿 学习下

  145. 光明正大蹭饭滴 光明正大蹭饭滴 2015-1-2 2:44:51 +0800#67

    :mrgreen: 不知道还能解析不,这个源码。

  146. 123 123 2014-12-25 22:11:44 +0800#66

    😛 😛 看看

  147. 11 11 2014-12-24 5:21:00 +0800#65

    看看。

  148. 的发生 的发生 2014-12-24 1:00:01 +0800#64

    规范化的风格

  149. 南街 南街 2014-12-23 22:07:10 +0800#63

    不错哟,不过用处呢

    • Matrix Matrix Moderator 2014-12-29 22:30:52 +0800

      可以去广告吧

  150. 感谢 感谢 2014-12-19 15:29:41 +0800#62

    💡 好东西,太感谢了。..

  151. wlaila wlaila 2014-12-17 16:34:58 +0800#61

    这么好的东西,太感谢了。..

  152. jack jack 2014-12-17 11:26:42 +0800#60

    第3次来了 thx so much bro

  153. zooo zooo 2014-12-12 17:57:30 +0800#59

    我想要源碼

  154. zooo zooo 2014-12-12 17:53:36 +0800#58

    太神了!!!!!

  155. jack jack 2014-12-12 13:21:16 +0800#57

    😳 thx 非常感谢~~

  156. 。。。。 。。。。 2014-11-29 15:44:47 +0800#56

    :?:源码

  157. 阿迪 阿迪 2014-11-28 14:51:32 +0800#55

    感谢你学习 😳 😳

  158. 2dan 2dan 2014-11-28 2:26:41 +0800#54

    感谢分享,学习了

  159. rtcty rtcty 2014-11-27 15:14:31 +0800#53

    挺高的

  160. yewu yewu 2014-11-24 18:55:57 +0800#52

    不错,学习了!

  161. baba baba 2014-11-21 18:56:38 +0800#51

    🙂 看看喽

  162. AoE5 AoE5 2014-11-11 11:43:22 +0800#50

    大神

  163. 阿里郎 阿里郎 2014-11-7 15:17:46 +0800#49

    太神了。。。。。

  164. 星辰 星辰 2014-11-7 14:44:13 +0800#48

    😉 大神,学习了

  165. abc abc 2014-11-3 22:22:04 +0800#47

    华为和360的直链也分享下 😆

  166. small small 2014-10-28 0:36:45 +0800#46

    我想要这个源码

  167. bladefury bladefury 2014-10-22 19:30:55 +0800#45

    问下楼主,这个解析的地址有cdn么?

    • Matrix Matrix Moderator 2014-10-22 19:33:53 +0800

      木有 🙄

    • Matrix Matrix Moderator 2014-10-22 19:35:16 +0800

      放在自己web上调用卅

  168. chrischee chrischee 2014-10-22 12:24:20 +0800#44

    问一下楼主,解析失效后,原来解析的视频地址还能正常访问 吗?

    • Matrix Matrix Moderator 2014-10-22 15:40:02 +0800

      不能 解析出的地址是有时效的

      • chrischee chrischee 2014-10-23 10:57:58 +0800

        意思是优酷变一下算法,一整网站的的视频就都不能看了,
        唉~还是花钱吧

  169. 然 2014-10-20 13:55:39 +0800#43

    🙂 太赞了

  170. 习大大 习大大 2014-10-20 0:58:20 +0800#42

    好级啦,棒。太扭摆啦

  171. 发的郭德纲 发的郭德纲 2014-10-12 22:47:45 +0800#41

    😳 😳 😳 😳 😳 😳 下载看看如何

  172. aygjimn aygjimn 2014-10-9 20:56:20 +0800#40

    这源码对俺有学习的作用

  173. 好无聊 好无聊 2014-10-9 13:12:08 +0800#39

    下载看看如何

  174. 开心就好 开心就好 2014-10-8 17:06:50 +0800#38

    😛 😛 撸主厉害啊 赞一个

  175. guygfug guygfug 2014-10-8 1:17:01 +0800#37

    😕 😎 😆 😡 😡 😡 测试测试XNzg3MDgwMzA0

  176. laotan laotan 2014-10-6 11:03:19 +0800#36

    😛 看个源码还需要登录啊

    • Matrix Matrix Moderator 2014-10-6 12:51:03 +0800

      看上面的源码就行了,怕复制出错 就弄了网盘文件

  177. 可乐 可乐 2014-10-6 10:40:12 +0800#35

    支持大侠的杰作 😎 😎

  178. 游艺灵魂 游艺灵魂 2014-10-5 22:23:51 +0800#34

    好好研究下

  179. 你二大爷 你二大爷 2014-10-5 20:43:31 +0800#33

    😛 这么牛的人 能不支持吗

  180. 刀哥 刀哥 2014-10-5 13:07:47 +0800#32

    🙂 支持大侠的杰作

  181. as as 2014-9-30 18:06:58 +0800#31

    写这么多,看看是否还有效? 🙄

  182. 小明 小明 2014-9-30 17:54:42 +0800#30

    😛 一直在努力

  183. s s 2014-9-30 15:18:37 +0800#29

    😳 中文

  184. 你说呢 你说呢 2014-9-26 14:49:19 +0800#28

    谢谢看看是什么

  185. Monn Monn 2014-9-25 1:31:46 +0800#27

    这个非常好,感谢楼主

  186. Ting Ting 2014-9-24 12:41:48 +0800#26

    已经在站点应用,演示:http://ting.iuunet.com

  187. dda dda 2014-9-21 3:09:50 +0800#25

    学习 😛

  188. as as 2014-9-19 21:26:15 +0800#24

    😛 😛 😛 😛 🙁 🙁 学习

  189. 2667 2667 2014-9-19 14:43:22 +0800#23

    好东西啊

  190. dfd dfd 2014-9-17 18:09:59 +0800#22

    🙁 好东西啊

  191. 123123 123123 2014-9-16 22:19:41 +0800#21

    谢谢发布,很喜欢,

  192. 45454 45454 2014-9-14 22:36:25 +0800#20

    谢谢发布,很喜欢,

  193. AoE5a AoE5a 2014-9-12 22:31:18 +0800#19

    看看

  194. AoE5 AoE5 2014-9-12 10:52:07 +0800#18

    看看

  195. alipi alipi 2014-9-7 13:33:00 +0800#17

    xian kan kan 看看

  196. 网维互联 网维互联 2014-9-5 12:45:02 +0800#16

    😛 部署看看 谢谢分享

  197. 一瓶酱油 一瓶酱油 2014-9-4 23:19:16 +0800#15

    楼主很厉害啊,能加个好友请教吗,我qq#172#66#980#29#,中间#号防爬虫,你懂的

  198. Benjamin Benjamin 2014-9-4 16:44:51 +0800#14

    赞!分析的过程非常需要耐心啊

    • Matrix Matrix Moderator 2014-9-4 17:20:29 +0800

      嗯 的确弄了很久

  199. Small Desert Small Desert 2014-9-3 0:21:10 +0800#13

    之前的失效了?

  200. 跑步机什么牌子好 跑步机什么牌子好 2014-9-2 16:24:06 +0800#12

    路过溜达溜达。

  201. qq小清新头像 qq小清新头像 2014-9-1 23:09:30 +0800#11

    一切都是为了源码- -

  202. 老衲 老衲 2014-8-28 21:17:55 +0800#10

    😛 😛 😛 😛 😛 😛 我要一份

  203. 快乐淘 快乐淘 2014-8-28 15:09:49 +0800#9

    这杨解析出来播放是有什么好处啊?

    • Matrix Matrix Moderator 2014-8-28 18:36:14 +0800

      自由播放 无广告的

  204. iKirby iKirby 2014-8-27 18:37:27 +0800#8

    这样解析出来应该如何播放啊 ❓

    • Matrix Matrix Moderator 2014-8-27 20:02:47 +0800

      播放器不同格式也就不一样,要自己改的

      • iKirby iKirby 2014-8-28 8:47:32 +0800

        我把代码改成直接跳转m3u8地址,这样测试了VLC和PotPlayer可以播放。不过没有找到能播放m3u8的Flash或html5播放器啊... 😕

  205. 快乐淘 快乐淘 2014-8-27 16:28:14 +0800#7

  206. xinxin8816 xinxin8816 2014-8-25 15:26:07 +0800#6

    可以尝试用优酷的API跳过优酷的广告,希望Matrix有空研究一下,苦逼的我开学了。
    就像这样:http://tnoad.sinaapp.com/

    • Matrix Matrix Moderator 2014-8-25 21:11:43 +0800

      看这ID好熟悉,原来是xinxin。你那暂停更新的页面太美了~ :mrgreen:
      顺带求优酷的API地址。

      • xinxin8816 xinxin8816 2014-8-26 11:49:05 +0800

        说实话优酷的API实在太少了,http://open.youku.com/

        • xinxin8816 xinxin8816 2014-8-26 11:52:12 +0800

          具体在这里,相信你可以搞定的,http://open.youku.com/services/info?serid=1

          • Matrix Matrix Moderator 2014-8-27 13:46:04 +0800

            还要申请access_token这玩意 好麻烦

  207. 看解析的 看解析的 2014-8-25 11:58:35 +0800#5

    看优酷m3u8的 😆

  208. 大侠我要乐 大侠我要乐 2014-8-24 13:06:04 +0800#4

    复制完了,大哥要不,帮下忙看下,好不,您QQ多少,我加您,麻烦你了

  209. 大侠我要乐 大侠我要乐 2014-8-24 9:00:21 +0800#3

    @Matrix 大哥,我想改到其他文件上面,为什么会导致获取不到sid和token呢

    • Matrix Matrix Moderator 2014-8-24 12:36:52 +0800

      你确定把代码复制完了?

  210. 大侠我要乐 大侠我要乐 2014-8-23 15:27:11 +0800#2

    谢谢发布,很喜欢,

  211. 灰常记忆 灰常记忆 2014-8-23 14:34:32 +0800#1

    好麻烦的说,要是可以直接转换那不是很好~

添加新评论 »

 😛 Sad 忧伤 👿 Smile 笑脸 😳 😀 😯 😮 😕 😎 😆 😡 😈 Roll Eyes 转眼珠 😉 💡 😐 😥 Mr Green 绿脸先生

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!