要做一个企业培训的需求,需要用到视频点播,我知道有这么回事儿但是从来没有上手过。于是买了个体验包做了一把。在此记录。

必备条件:阿里云视频点播 存储包+流量包

一定要做的:加速域名的绑定,不然你买的流量包就用不上

关于转码包:可以不用 转码包是为了将你的视频转码成高清 标清之类的这个功能,还有别的

要用到阿里云的鉴权 最好是STS的鉴权 这里我搞了半小时

就是添加用户,然后添加角色得到 accessKeyId,accessKeySecret 和 RoleArn 这个RoleArn就是角色里面拿到

配置信息如下 放在thinkphp 的配置文件里面

'aliVodConfig'=>[    'accessKeyId' => 'LTAI5t8rx************',    'accessKeySecret' => 'Yr4ETdiLckCs*********l2HD',    'RoleArn' => 'acs:ram::111************74:role/vo***e',    'regionId' => 'cn-shanghai'],

剩下的composer一下(我用的是composer 感觉这个好像有点儿大材小用了 好多东西用不上)

composer require alibabacloud/sdk

接下来就是初始化放代码:这个 VOD_CLIENT_NAME 要在index里面 define 一下

public function initialize()
    {
        parent::initialize(); // TODO: Change the autogenerated stub
        $accessKeyId = config("app.aliVodConfig.accessKeyId");
        $accessKeySecret = config("app.aliVodConfig.accessKeySecret");
        $RoleArn = config("app.aliVodConfig.RoleArn");
        $regionId = config("app.aliVodConfig.regionId");
        $RoleSessionName = 'RoleSessionName';

        AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
            ->regionId('cn-shanghai')
            ->asDefaultClient();
        $result = AlibabaCloud::rpc()
            ->product('Sts')
            ->scheme('https')// https | http
            ->version('2015-04-01')
            ->action('AssumeRole')
            ->method('POST')
            ->host('sts.aliyuncs.com')
            ->options([
                'query' => [
                    'RegionId' => "cn-shanghai",
                    'RoleArn' => $RoleArn,
                    'RoleSessionName' => $RoleSessionName,
                ],
            ])
            ->request();
        $resultArray = $result->toArray();

        //填入STS信息
        AlibabaCloud::stsClient($resultArray['Credentials']['AccessKeyId'], $resultArray['Credentials']['AccessKeySecret'], $resultArray['Credentials']['SecurityToken'])
            ->regionId($regionId)
            ->connectTimeout(1)
            ->timeout(3)
            ->name(VOD_CLIENT_NAME);
    }

剩下的就是写点播的代码了

获取视频信息 获取playauth 这些东西看文档吧 人家都写好了 https://help.aliyun.com/document_detail/123461.html

弄到这里应该能够播放出来了,然后上面的关于转码的“别的”部分说一下,因为是企业培训的视频最好是不要让用户下载下来看。防止转发。这里不知道有没有什么好的解决办法。阿里云的播放器是可以加密播放的,这样就可以防止下载下来了,但是作为最简单的加密播放模式肯定是web里面的加密播放了,请注意这个里面有一句话。【用户可以在自己的Web页面中嵌入Web播放器并实现播放(暂不支持在iOS系统的Web播放器中播放)】,苹果的没戏,苹果的程序需要更复杂的加密手段。我看了一遍HLS标准加密是需要转码的。‘转码’就需要用到转码包了。这个很贵的。于是我放弃了。

然后做了一个阿里云点播计费方法excel

视频点播服务计费.xlsx