JW Player从php读取

时间:2013-06-07 23:12:02

标签: php jwplayer

我是PHP和JW播放器的新手。

我有以下代码在php中读取视频文件并在浏览器中将其作为视频文件播放:

loadfile.php

<?php
    header("pragma : no-cache");
    header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Content-Description: File Transfer");
    header("Content-Type: video/mp4");
    header("Content-Location: videos/testvid.mp4");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize("videos/testvid.mp4"));
    readfile("videos/testvid.mp4");
?>

JW播放器可以通过直接路径播放视频文件,如下所示:

<div id="mediaplayer"></div>
        <script type="text/javascript">
            jwplayer('mediaplayer').setup({
                'flashplayer': 'jwplayer/jwplayer.swf',
                'file': 'videos/testvid.mp4',
                'id': 'playerID',
                'width': '480',
                'height': '320'
            });
        </script>

但是,我需要jw播放器在loadfile.php中播放视频而不是直接路径。换句话说,我需要在流式传输后将视频传递给JW播放器并在php中读取。我怎样才能做到这一点?

更新

我正在使用JW 6

2 个答案:

答案 0 :(得分:5)

由于您使用的是JW6,因此在此代码行下:

'id': 'playerID',

添加以下内容:

'type': 'mp4',

现在,php文件应该作为播放器的“文件”变量,就好了。

答案 1 :(得分:3)

尝试:

clearstatcache();

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: video/mp4");
header("Accept-Ranges: bytes");
header("Content-Length: ".filesize("videos/testvid.mp4"));
readfile("videos/testvid.mp4");

我有相同的场景(从php读取视频并使用jwplayer播放)并且此配置有效。

<强> JS

在客户端,我将jwPlayer嵌入为SWFObject。检查它是否对您有用:

<script type="text/javascript">
$(document).ready(function(){
  var so = new SWFObject('path/to/jplayer.swf','mpl',640,480,'9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('controlbar','over');
  so.addVariable('provider','video');
  so.addVariable('autostart','true');
  so.addVariable('file','loadfile.php');
  so.write('videoPlayer');  
});
</script>
<body>
    <div id='videoPlayer'></div>
</body>

还尝试使用绝对路径(以防万一)......