动态获取爱奇艺上传视频mp4格式url地址
有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的。那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方案。
今天主要和大家聊下如果使用爱奇艺开放平台中来动态获取自己上传视频的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地址的更多相关文章
- 原生的ajax请求----(播放托管到爱奇艺上的视频)
播放视频 $(function(){ //视频播放 $('.play-icon').click(function () { $.ajax({ type:"get", url: &q ...
- Python爬虫实战案例:爬取爱奇艺VIP视频
一.实战背景 爱奇艺的VIP视频只有会员能看,普通用户只能看前6分钟.比如加勒比海盗5的URL:http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1 ...
- JavaFX桌面应用-视频转码工具(支持爱奇艺qsv转mp4)
最近由于需要将在爱奇艺下载的视频(qsv)转化了mp4,用JavaFX开发一个视频转码工具,算是JavaFX开发的第一个应用吧. 支持qsv转码mp4,理论上支持各种格式,仅测试了flv,qsv格式. ...
- yii 上传视频(ajax)
实现一个功能:提交表单的时候,需要上传视频,把视频上传到oss上,然后把url作为表单值传到后端保存到数据库.需要ajax异步实现. 遇到了一个这样报错:Bad Request: 您提交的数据无法被验 ...
- 视频下载四大神器—如何下载优酷/爱奇艺/腾讯/B站超清无水印视频
视频下载四大神器—如何下载优酷/爱奇艺/腾讯/B站超清无水印视频 2018-07-11 | 标签»下载, 下载工具, 视频 又是视频下载,老生常谈的话题.阿刚同学已在乐软博客多次与大家分享推荐 ...
- 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状
本文由 网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...
- 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!
众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...
- android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码
Android精选源码 android实现银行卡匹配信息源码 android实现可以展开查看详情的卡片 下拉刷新,上拉加载,侧滑显示菜单等效果RefreshSwipeRecyclerview andr ...
- 破解爱奇艺优酷等Vip视频
现在网络上兴起卖低价Vip会员的,博主在这里介绍一个破解软件,不需要登录,找到视频播放页就可以观看! 软件下载地址:http://zyzpp.cn/ 1.下载软件安装后打开: 2.比如我们要看爱奇艺的 ...
随机推荐
- USB移动硬盘WinPE启动盘的制作方法
USB移动硬盘WinPE启动盘的制作方法 软件:老九WinPE 老毛桃终于撒手无论版 发行时间:2007年9月11日 制作发行:老毛桃 作用:当系统坏了,无法进入时,用来做系统维护,备份文件.轻巧稳定 ...
- 使用air进行移动app开发常见功能和问题(二)
1. Air如何判断android.ios 平台网络连接状态? Android,使用as3原生api: if(NetworkInfo.isSupported)//只有android支持 Networ ...
- debian 系统备份
tar -zcvpf /home/full-backup.tar.gz / --exclude=/mnt/* --exclude=/proc/* --exclude=/sys/* 这个命令是把根目录下 ...
- php 获取远程图片
一 function gethttpimage($url){ set_time_limit(0); if(!empty($url)){ $imgUrl=date('Y ...
- A+B Problem III
描述 求A+B是否与C相等. 输入 T组测试数据. 每组数据中有三个实数A,B,C(-10000.0<=A,B<=10000.0,-20000.0<=C<=20000.0) 数 ...
- [置顶] operator overloading(操作符重载,运算符重载)运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy)
operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重 ...
- Linux上在同一端口上共享SSH与HTTPS的工具:SSLH
添加EPEL源 CentOS 6 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rp ...
- vsftpd给root设置访问权限
1:Linux下安装vsftpd之后,默认的配置是匿名用户可以登录,匿名帐户有两个:用户名:anonymous密码:空 用户名:ftp密码:ftp 2:如果要用匿名进行上传删除等操作需要配置其它参数. ...
- 怎样在CentOS 7.0上安装和配置VNC服务器
VNC轻松连接远程Linux桌面 http://jingyan.baidu.com/article/6c67b1d6f1bac92786bb1e6d.html 这是一个关于怎样在你的 CentOS 7 ...
- Tinymce4 中Ajax多次加载时,会出现菜单在第二次进入时,显示的下拉菜单在左上角
在项目中,ajax多次导入tinymce的js包 参考了: Having issues with Multiple AJAX refresh and TinyMCE load page with ti ...