2016-11-09 3 views
0

ich den Code haben, in dem ich die Locke verwendet für als auch Videosprechanlage und Video laufen bekommen, aber Code tut mir erlauben, den Videocodecurl Video seekbar nicht funktioniert

Mein Blick auf die Weiterleitung ist wie:

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

Hier kann ich das obige Video spielen, aber seekbar (Weiterleiten der Video) funktioniert nicht richtig

ich bin sehr froh, wenn mir jemand helfen?

Vielen Dank im Voraus

+0

Können Sie mehr Informationen über Ihre PHP-Code enthalten? Dies gibt uns nicht genügend Informationen. – yakatz

+0

Hallo Ich habe ein paar Videos, aber ich möchte nicht zeigen, Video-Namen, warum ich Video.php Datei aufrufen, in denen wir Curl verwenden und wir zeigen diese Datei. Sie können folgende temporäre URL für die Anzeige verwenden: http://rsoftsystem.in/permission2/view.php –

Antwort

0

Ihr PHP-Skript das Video den HTTP-Header Accept-Ranges einstellen muss dienen und benötigt die HTTP_RANGE zu ehren, die angefordert wird. Das sollte genug sein.

Sie haben noch keinen der PHP-Code für video.php (oder image.php, die Sie in Ihrem Beispiel enthalten) geschrieben, so kann ich nicht 100% sicher sein, dies genau das tun, was Sie suchen.

Dies ist ein gutes Beispiel dafür, was ich glaube, Sie versuchen zu tun: http://codesamplez.com/programming/php-html5-video-streaming-tutorial

Dies ist der wichtige Teil:

$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); 
}