本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
さて、前回まででsecure linkを利用して一時的なURLを作成して映像配信ができるようになりました。これをvideoJSを利用してハッシュキーはPHPで動的に作成しながら再生できるようにします。
セキュアリンクで映像配信できるようにするためにはこちら
https://www.techlive.tokyo/archives/1351
最後はこのハッシュキーをPHPで作成して、配信できるようにします。
<html>
<head>
<link href="http://vjs.zencdn.net/5.11.6/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/5.11.6/video.js"></script>
</head>
<body>
<video id="rtmp_test" class="video-js vjs-default-skin" autoplay="autoplay" controls="controls" width="800" height="450" data-setup="{}">
<?php
// 秘密鍵 になります。なんでもOKですので、ここでは日本語(UTF-8)で設定してみます。
$secret = 'mysecretkey';
// セキュアなリンク からでないとアクセスできないURIを設定します。
$path = 'live/test';
// 公開鍵として、有効期限を time() + 秒 で設定します。
// -- この有効期限の設定の仕方は、Nginxではこの方法でしか認識できません。
$timestamp = time() + 3600; // 60(秒) x 60(分) = 3600(秒) = 1(時)
// "秘密鍵 + パス + 公開鍵" を Nginxで扱うことができる md5 で暗号化します。
$hash = base64_encode(md5($secret . $path . $timestamp, true));
// +,/,= は、URLパラメータとして扱えないので、置換します。
$hash = strtr($hash, '+/', '-_');
$hash = str_replace('=', '', $hash);
// セキュアなリンクを出力します。
$url = "{$path}?e={$timestamp}&st={$hash}";
echo '<source src="rtmp://video.hanako.or.jp/'.$url.'" type="rtmp/mp4" />'
?>
</video>
</body>
</html>