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具體步驟如下:
上傳流程
?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對接阿里云視頻有什么問題的話可以聯系我 盡量可以幫到大家處理這問題?
?
總結
以上是生活随笔為你收集整理的Edusoho网校对接阿里云视频vod实现CDN云视频加速播放OSS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下软件更新,Linux安装软件
- 下一篇: 华为软件下载方法(不限权限任意下载)