操作系統: | 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具體步驟如下:
- 登錄RAM管理控制檯,選擇用戶管理。
- 單擊目標用戶,進入用戶詳情頁面。
- 單擊創建AccessKey。
- 單擊AccessKey詳情下拉箭頭,查看AccessKeyId和AccessKeySecret。
- 單擊保存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