Edusoho网校对接阿里云视频vod实现CDN云视频加速播放OSS

操作系统: Linux 推荐使用Ubuntu,CentOS
Web服务器: 推荐Nginx或Apache2
MYSQL数据库: 推荐5.5及以上版本

主要文件目录结构说明

目录 说明
App 应用程序核心目录
App/cache 缓存目录
App/DoctrineMigrations 数据库更新脚本目录
App/config 配置文件目录
App/data 该目录下存放的是私有的文件课时的视频、音频等
App/logs 程序日志
doc 文档目录,包含apache和nginx的配置文件
plugins 插件目录
src 源代码目录
Src/Topxia/WebBundle 前台界面代码目录
Src/Topxia/AdminBundle 管理后台界面代码目录
Src/Topxia/Service 核心业务代码目录
Src/Topxia/DataTag 模板标签目录
Src/Topxia/Common 程序通用类目录
Vendor 程序依赖的第三方库
Vendor_user 程序依赖的第三方应用中心类库
web web资源根目录
Web/app_dev.php 开发环镜下程序主入口文件
Web/bundles 程序前后台资源文件
Web/themes 程序主题目录

系统主要业务逻辑模块说明

模块文件地址 说明
Src/Topxia/Service/Course/CourseService 课程核心服务
Src/Topxia/Service/Course/MaterialService 课程资料服务
Src/Topxia/Service/Course/NoteService 课程笔记服务
Src/Topxia/Service/Course/ReviewService 课程评价
Src/Topxia/Service/Course/ThreadService 课程讨论区服务,含话题及问答
Src/Topxia/Service/User/UserService 用户服务
Src/Topxia/Service/User/MessageService 私信服务
Src/Topxia/Service/User/NotificationService 系统通知服务
Src/Topxia/Service/Taxonomy/CategoryService 分类服务
Src/Topxia/Service/Taxonomy/TagService 标签服务
Src/Topxia/Service/System/LogService 日志服务
Src/Topxia/Service/System/SettingService 系统设置服务
Src/Topxia/Service/Testpaper/TestpaperService 题库服务

需要引入阿里视频点播的包,官方api里提供的有;

AccessKey(访问密钥)

AccessKey,简称 AK,指的是访问身份验证中用到的 AccessKeyId 和AccessKeySecret。VOD 通过使用 AccessKeyId 和 AccessKeySecret 对称加密的方法来验证某个请求的发送者身份。AccessKeyId 用于标识用户,AccessKeySecret 是用户用于加密签名字符串和 VOD 用来验证签名字符串的密钥,其中 AccessKeySecret 必须保密。

创建AccessKey具体步骤如下:

  1. 登录RAM管理控制台,选择用户管理
  2. 单击目标用户,进入用户详情页面
  3. 单击创建AccessKey
  4. 单击AccessKey详情下拉箭头,查看AccessKeyId和AccessKeySecret。
  5. 单击保存AK信息,下载AccessKey信息。

上传流程

 aliyun-php-sdk-core这个文件包是公共类包

<?php
require_once VENDOR_PATH.'/aliyun-php-sdk/aliyun-php-sdk-core/Config.php';   // 我的源码文件和aliyun-php-sdk不处于同一目录
use vod\Request\V20170321 as vod;
/*
 * 的登录页模板
 */
class LoginAction extends Action {  
    public function init_vod_client($accessKeyId, $accessKeySecret) {
         $regionId = 'cn-shanghai';  // 点播服务所在的Region,国内请填cn-shanghai,不要填写别的区域
         $profile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret);
         return new DefaultAcsClient($profile);
    }
    //获取播放地址
    public function get_play_info($client, $videoId) {
         $request = new vod\GetPlayInfoRequest();
         $request->setVideoId($videoId);
         $request->setAuthTimeout(3600*24);    // 播放地址过期时间(只有开启了URL鉴权才生效),默认为3600秒,支持设置最小值为3600秒
         $request->setAcceptFormat('JSON');
         return $client->getAcsResponse($request);
         // 注意捕获异常
//       try {
//           $client = init_vod_client('<您的AccessKeyId>', '<您的AccessKeySecret>');
//           $playInfo = get_play_info($client, '您的videoId');
//           var_dump($playInfo);
//       } catch (Exception $e) {
//           print $e->getMessage()."\n";
//       }
    }
    public function login()                                  //登录页
    {
         $client = $this->init_vod_client('<您的AccessKeyId> ', '<您的AccessKeySecret ');
         $playInfo = $this->get_play_info($client, '您的videoId ');
         $re = json_decode(json_encode($playInfo),true);
         $this->vodurl = $re['PlayInfoList']['PlayInfo'][1]['PlayURL'];
         $this->display();
    }

1、在后台上传好课程后,可以在您购买的阿里云空间里面看到你刚上传的视频,

2、在网站上点击播放一个视频。可以看到视频的链接是阿里云 alicdn.com 可以看到视频已经实现阿里云CDN加速播放了 

 

3、完美支持手机播放对接

 

如果大家的edusoho对接阿里云视频有什么问题的话可以联系我Q 尽量可以帮到大家处理这问题 978312440

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章