我是靠谱客的博主 留胡子台灯,最近开发中收集的这篇文章主要介绍如何得到优酷网mp4格式视频文件url,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

源地址(需翻墙): http://jerryjobsguo.blogspot.com/2012/12/mp4url.html#!/2012/12/mp4url.html
 

前言

众所周知,视频在网页中使用FLV格式是最常用和方便的(原因你懂得),但是当我们在移动平台上就会遇到麻烦(FLASH不被这些移动设备支持,为啥?我也不知道!)但是这样一个需求来了,在Android平台上播放YouKu的视频。
So, 我就开始研究了!

分析

经过一番研究我发现,他们其实是有另外一个格式的视频存在,但是需要成为他们的合作伙伴(也就是想用的得意思意思)。因此得出结论方法有二:
  1. 成为他们的合作伙伴(这得花点买路钱)。
  2. 条条大路通罗马,绕道走。

过程

方法一,这里就不讨论了。我们主要讲方法二(如何绕道)。
第一步:网页内嵌的播放地址 例如:http://player.youku.com/player.php/Type/Folder/Fid/18117290/Ob/1/sid/XNDQ0MDQzMTgw/v.swf
猜测可得出“XNDQ0MDQzMTgw”这一段为视频的索引也就是ID
而优酷android app请求服务器的url为:
http://api.3g.youku.com/layout/phone2_1/play?point=1&id=XNDQ0MDQzMTgw&pid=352e7f78a0bc479b&format=4&language=guoyu&audiolang=1&guid=c7a0fd9f8f19ea5cbafde16f327f8004&ver=2.3.1&operator=%E4%B8%AD%E5%9B%BD%E8%81%94%E9%80%9A_46001&network=WIFI
返回值是一个json数据如下:

{  "status":"success",  "lang":"",  "title":"u5916u4ea4u90e8u56deu5e94u65e5u9a7bu534eu5927  u4f7fu5750u8f66u60acu6302u7684u56fdu65d7u88abu62a2uff1au4e2du65b9u6b63u5728  u8ba4u771fu8c03u67e5[u770bu4e1cu65b9]",  "weburl":"http://v.youku.com/v_show/id_XNDQ0MDQzMTgw.html",  "videoid":"XNDQ0MDQzMTgw",  "results":{    "3gphd":[      {        "seconds":26,"url":"http://f.youku.com/player/getFlvPath/sid/134625952093737_01/st/mp4/fileid/  0300200100503C2912CACF06F7B7BE321D4B39-09C7-D266-1DC7-72FBD749E129?  K=74d69d0e9a11e5ab261c87ec&hd=0",        "id":1,        "size":959876      }    ],    "3gphd_rtsp":[      {"seconds":26,"url":"rtsp://vod1.3g.youku.com/0300200100503C2912CACF06F7B7BE321D4B3  9-09C7-D266-1DC7-72FBD749E129.mp4","id":1,"size":959876}    ]  },  "points":[],  "totalseconds":29.3,  "audiolang":[]  }


根据几次测试得出结论:
results结果中的rtsp协议结果为mp4直实地址。但是悲剧的是这个协议我们用不起来!所以只能使用上面的http的url
http://f.youku.com/player/getFlvPath/sid/134625952093737_01/st/mp4/fileid/0300200100503C2912CACF06F7B7BE321D4B39-09C7-D266-1DC7-72FBD749E129?K=74d69d0e9a11e5ab261c87ec&hd=0
再请求这个url查看response的header中type为mp4数据,而且已经经过服务器根据您当前网络环境计算返回给你一个下载速度最快的url了(据猜测)。
得到json的url中参数可根据语意猜测,但是个另参数具体用途还没有揣摩清楚,不过基本没有大碍了。 以下是参数含义的猜测,不一定正确哈。
  • point 当前播放秒数
  • id 视频索引ID
  • pid 未知
  • format 可能是视频格式
  • language 未知
  • audiolang 未知
  • guid 未知
  • ver 系统版本
  • operator 移动信号运营商(如:中国联通)_46001(这个部分不理解)
  • network(当前的上网方式)

结论

把播放视频的索引id代入到api的url参数中,从服务器得到mp4视频的地址……
 
 
源地址(需翻墙): http://jerryjobsguo.blogspot.com/2012/12/mp4url.html#!/2012/12/mp4url.html

最后

以上就是留胡子台灯为你收集整理的如何得到优酷网mp4格式视频文件url的全部内容,希望文章能够帮你解决如何得到优酷网mp4格式视频文件url所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部