如何使用wowza流引擎创建像saavn或gaana(音频流)的网站

时间:2016-05-03 06:13:53

标签: wowza

我想创建带有音频流的网站。为此,我使用的是Wowza流媒体引擎。

我已经寻找解决方案,但没有找到正确的方向。 我有整合: -       * jw球员       *流播放器       *频闪播放器  没有安全性但我想要安全流媒体,对于这些我已经阅读了https://streamtoolbox.com/wowza-security-and-stream-protection但没有得到解决方案。

我使用了secureToken机制来保护RTMP流,并且我有用户jw7.3.6 player.below我提到了代码。

    <?php

    function base64url_encode($data) {
        return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    }

    $hash = base64url_encode('Shared Secret');//created from WOWZA streaming engine brower based panel Application -> vod -> playback sercurity ->edit
    ?>
    Simple RTMP example
    <br>
    <div id="player"></div>

    <script>
        jwplayer("player").setup({
            sources: [{
                    file: "rtmp://[my wowza ip]:1935/vod/sample.mp4?wowzatokenhash=<?php echo $hash; ?>"
                }],
            height: 360,
            width: 640
        });
    </script>

但视频未播放。

对于流播放器中的安全流媒体,我使用了http://flash.flowplayer.org/demos/plugins/streaming/secure-wowza.html#html 但它需要在插件中编译令牌,但我没有找到任何办法。

请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

您必须以特定方式准备基于secure token的网址,以便能够利用其功能。对于RTMP,您可以尝试以下内容:

<?php
// Configure your parameters
$clientIP = null; // provide client IP optionally
$host = "127.0.0.1"; // your ip 
$url= "rtmp://".$host."/";
$stream = "vod/mp4:sample.mp4"; // your stream
$start = time();
$end = strtotime("+30 minutes");  
$secret = "mySharedSecret";  
$tokenName = "wowzatoken";

然后您可以在此处定义请求网址:

$hash = "";
if(is_null($clientIP)){
    $hash = hash('sha256', $stream."?".$secret."&{$tokenName}endtime=".$end."&{$tokenName}starttime=".$start, true); // generate the hash string
}
else{
    $hash = hash('sha256', $stream."?".$clientIP."&".$secret."&{$tokenName}endtime=".$end."&{$tokenName}starttime=".$start, true); // generate the hash string
}

$base64Hash = strtr(base64_encode($hash), '+/', '-_'); 

$params = array("{$tokenName}starttime=".$start, "{$tokenName}endtime=".$end, "{$tokenName}hash=".$base64Hash);
if(!is_null($clientIP)){
    $params[] = $clientIP;
}
sort($params);

$playbackURL = $url.$stream."?";    

foreach($params as $entry){
    $playbackURL.= $entry."&";
}
$playbackURL = preg_replace("/(\&)$/","", $playbackURL);

然后将playerURL嵌入播放器:

<div id="myElement">
</div>

<script type="text/javascript">
   jwplayer("myElement").setup({
       file: "<?php echo $playbackURL; ?>"
});
</script>