Curl视频搜索栏不工作


curl video seekbar not working

我有代码,其中我使用curl获取视频地址和视频运行,但代码不允许我转发视频

我的视图代码如下:

<video id="videos" width='300px' height='200px' controls>
    <source src="video.php" type='video/mp4'/>
</video>

这里我可以播放上面的视频,但是搜索栏(转发视频)不能正常工作

如果有人能帮助我,我很高兴。

Thanks in advance

为视频服务的PHP脚本需要设置HTTP Accept-Ranges标头,并且需要尊重请求的HTTP_RANGE。这应该足够了。

你还没有发布任何PHP代码的video.php(或image.php,你包括在你的例子),所以我不能100%肯定这将做什么你正在寻找。

这是我认为你想做的一个很好的例子:http://codesamplez.com/programming/php-html5-video-streaming-tutorial

这是重要的部分:

$this->start = 0;
$this->size  = filesize($this->path);
$this->end   = $this->size - 1;
header("Accept-Ranges: 0-".$this->end);
if (isset($_SERVER['HTTP_RANGE'])) {
    $c_start = $this->start;
    $c_end = $this->end;
    list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
    if (strpos($range, ',') !== false) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $this->start-$this->end/$this->size");
        exit;
    }
    if ($range == '-') {
        $c_start = $this->size - substr($range, 1);
    }else{
        $range = explode('-', $range);
        $c_start = $range[0];
        $c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $c_end;
    }
    $c_end = ($c_end > $this->end) ? $this->end : $c_end;
    if ($c_start > $c_end || $c_start > $this->size - 1 || $c_end >= $this->size) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $this->start-$this->end/$this->size");
        exit;
    }
    $this->start = $c_start;
    $this->end = $c_end;
    $length = $this->end - $this->start + 1;
    fseek($this->stream, $this->start);
    header('HTTP/1.1 206 Partial Content');
    header("Content-Length: ".$length);
    header("Content-Range: bytes $this->start-$this->end/".$this->size);
}
else
{
    header("Content-Length: ".$this->size);
}