有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的。那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方案。

今天主要和大家聊下如果使用爱奇艺开放平台中来动态获取自己上传视频的mp4格式url地址。我们闲话少说,直接开始。

首先先看下通过这种方式获取的视频播放效果:

一、我们需要注册成为爱奇艺开发者

      爱奇艺开放平台: http://open.iqiyi.com/index.html

  二、注册审核通过后,我们进入视频托管

          搭建属于你的托管应用:http://open.iqiyi.com/lib/upload.html

     

 三、学习文档,进行接口调用

           

四、封装代码如下

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取爱奇艺上传视频mp4格式url地址</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style>
.main{
width:40%;
margin: 200px auto;
}
</style>
</head>
<body> <div class="main">
<video id="setUrl" width="550" height="310" controls type="video/mp4" preload="none" poster="bg.png"></video>
</div> <script type="text/javascript">
$(function(){
//------------------------测试数据--------------------------
var file_id="3856cf8b9e34492db5faa827d9a0c663"; //文件上传id
//------------------------测试数据--------------------------
// 得到mp4格式URL
getURL(file_id,function(url){
console.log(url);
$("#setUrl").attr("src",url);
});

// 封装得到mp4格式URL函数
function getURL(file_id,callback){
var app_key='XXXXXXXXXXXXXXXXXXXXXX'; //申请应用时分配的app_key
var app_secret='XXXXXXXXXXXXXXXXXXXXXXXXX';//申请应用时分配的app_secret
//获取访问令牌
$.ajax({
type: "GET",
url: "https://openapi.iqiyi.com/api/iqiyi/authorize?client_id="+app_key+"&client_secret="+app_secret+"",
data: "",
dataType: "json",
success: function(e){
var getObject =JSON.parse(e);
// var access_token=getObject.data.access_token; //开放平台分配的access token,OAuth授权后获得【正式环境下】
//------------------------测试数据--------------------------
var access_token="2.65f2da58f8c9d91eb7da125b317c9193"; //开放平台分配的access token,OAuth授权后获得【测试数据】
//------------------------测试数据--------------------------
//获取视频 URL 列表
$.ajax({
type: "GET",
url: "http://openapi.iqiyi.com/api/file/urllist?access_token="+access_token+"&file_id="+file_id+"",
data: "",
dataType: "json",
success: function(data){
var getData =JSON.parse(data);
var getUrlLink=(getData.data.mp4[1]);//得到需要的url请求
//获取mp4格式的视频URL
$.ajax(getUrlLink, {
data:"",
dataType: 'jsonp', //此处对于跨域问题的解决
crossDomain: true,
success: function(data) {
var videoURL =data.data.l;
callback.call(this,videoURL); //回调得到的mp4格式的url
},
error : function() {
console.log("请求获取mp4格式的视频URL失败");
}
}); },
error : function() {
console.log("请求获取视频URL列表失败");
}
}); },
error : function() {
console.log("请求获取访问令牌失败");
}
});
}
});
</script>
</body>
</html>

 五、这种方式的好处

使用这种方式,我认为最大的好处就是我们可以随心所欲的变换播放器的样式及皮肤,还有更重要的一点,我们的视频虽然在爱奇艺的服务器上,但是我们点击播放的时候,视频可以立即的播放,而没有广告。而且还可以减缓我们服务器的带宽压力!!!

六、代码打包

链接: http://pan.baidu.com/s/1nuKIenB 密码: kqnx

动态获取爱奇艺上传视频mp4格式url地址的更多相关文章

  1. 原生的ajax请求----(播放托管到爱奇艺上的视频)

    播放视频 $(function(){ //视频播放 $('.play-icon').click(function () { $.ajax({ type:"get", url: &q ...

  2. Python爬虫实战案例:爬取爱奇艺VIP视频

    一.实战背景 爱奇艺的VIP视频只有会员能看,普通用户只能看前6分钟.比如加勒比海盗5的URL:http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1 ...

  3. JavaFX桌面应用-视频转码工具(支持爱奇艺qsv转mp4)

    最近由于需要将在爱奇艺下载的视频(qsv)转化了mp4,用JavaFX开发一个视频转码工具,算是JavaFX开发的第一个应用吧. 支持qsv转码mp4,理论上支持各种格式,仅测试了flv,qsv格式. ...

  4. yii 上传视频(ajax)

    实现一个功能:提交表单的时候,需要上传视频,把视频上传到oss上,然后把url作为表单值传到后端保存到数据库.需要ajax异步实现. 遇到了一个这样报错:Bad Request: 您提交的数据无法被验 ...

  5. 视频下载四大神器—如何下载优酷/爱奇艺/腾讯/B站超清无水印视频

      视频下载四大神器—如何下载优酷/爱奇艺/腾讯/B站超清无水印视频  2018-07-11 |  标签»下载, 下载工具, 视频 又是视频下载,老生常谈的话题.阿刚同学已在乐软博客多次与大家分享推荐 ...

  6. 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状

    本文由  网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...

  7. 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!

    众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...

  8. android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码

    Android精选源码 android实现银行卡匹配信息源码 android实现可以展开查看详情的卡片 下拉刷新,上拉加载,侧滑显示菜单等效果RefreshSwipeRecyclerview andr ...

  9. 破解爱奇艺优酷等Vip视频

    现在网络上兴起卖低价Vip会员的,博主在这里介绍一个破解软件,不需要登录,找到视频播放页就可以观看! 软件下载地址:http://zyzpp.cn/ 1.下载软件安装后打开: 2.比如我们要看爱奇艺的 ...

随机推荐

  1. MySQL和PostgreSQL 导入数据对照

    在虚拟机上測评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 由于是虚拟机上的測评,所以时间仅仅做參考,不要太较真, 看看就好了.MySQL 工具:    1. 自带 ...

  2. iOS开发——UI篇OC篇&不规则排列的图片布局

    不规则排列的图片布局 一直在500px上看照片,发照片.以前看它的首页图片展示就只是觉得好看,洋气,也没想过自己在iOS上实现一下.昨天不知怎么的就开始想其中的算法了,现在我把思考的过程在这里贴出来分 ...

  3. JavaScript(20)jQuery HTML 加入和删除元素

    jQuery - 加入元素 通过 jQuery,能够非常easy地加入新元素/内容. 加入新的 HTML 内容的四个 jQuery 方法: append() - 在被选元素的结尾插入内容 prepen ...

  4. js上传文件获取客户端地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. flash builder 4.7 debug via usb device iPhone 4s - device not found

    http://forums.adobe.com/message/4865192 Please provide more info on the above issue: 1.What is the m ...

  6. 读取XML帮助类

    using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; us ...

  7. Java设计模式07:常用设计模式之装饰器模式(结构型模式)

    1. Java之装饰器模式(Decorator Pattern) (1)概述:     装饰模式在Java种使用也很广泛,比如我们在重新定义按钮.对话框等时候,实际上已经在使用装饰模式了.在不必改变原 ...

  8. 几本关于PHP安全的书

    几本关于PHP安全的书: Essential PHP Security php architect‘s Guide to PHP Security Pro PHP Security Securing ...

  9. Jquery选择器,操作DOM

    刚接触jQuery,她真的是个好东西,操作DOM,修改样式,都很方便,主要获取DOM树的类和子代很方便. 今天用jq做了tab面包屑,不过用的是别人的代码,自己修改的,不错也做出来了,原理也有些明白, ...

  10. map 树木品种

    树木品种 TimeLimit: 1 Second   MemoryLimit: 32 Megabyte Totalsubmit: 517   Accepted: 120 Description 硬木是 ...