2017-07-30 108 views
0

我有一個代碼,導致我的服務器播放視頻給用戶,沒有HTTP/1.1頭206部分內容速度可笑地低(200/300kbps之間),並用這個頭部跳轉到最大速度。我不知道這個原因。有了這個標題,視頻就可以下載,但不能通過流媒體播放。流媒體的語法與標籤中的普通視頻類似,區別在於src指向stream.php頁面?鏈接= mysite.com/link.mp4。我可以下載視頻,但不播放流媒體文件

,因爲影片是來自外部服務器

 

     $link = $_GET['link']; 
     $path = $link; 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $path); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_HEADER, true); 
     curl_setopt($ch, CURLOPT_NOBODY, true); 
     curl_exec($ch); 
     $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); 






     header("Content-Type: video/mp4"); 
     header("Content-Length: ".$size); 
     header('Accept-Ranges: bytes'); 

     $handle = fopen($path, "rb"); 
     while (!feof($handle)) { 
      header('HTTP/1.1 206 Partial Content'); 
      header('Content-Range: bytes 0-'.$size); 
      echo fread($handle, 100 * 1024); 
     } 
     fclose($handle); 

+0

爲什麼你通過PHP返回文件開始?爲什麼不在播放器中放置原始URL(來自$ _GET-變量)? –

+0

我正在使用API​​,但它不允許我請求下載不同的IP,所以我必須讓服務器讀取文件以便能夠爲任何用戶播放它 –

+0

它是一個流媒體平臺,所以它是在使用它之前不可行的下載文件 –

回答

0

你嘗試從HTML 5名的標籤嵌入視頻的網址,我不能使用FSEEK?這可能無法下載您的視頻,但實際上它可能會在瀏覽器中加載預覽。

將「http://yoursite.com/generate_link/video.mp4」替換爲您的網址。

<video width="320" height="240" controls> 
    <source src="http://yoursite.com/generate_link/video.mp4" type="video/mp4"> 
Your browser does not support the video tag. 
</video> 
+0

我正在使用API​​,但它不允許我下載不同的IP請求,所以我必須讓服務器讀取文件以便能夠爲任何用戶播放。 –

+0

如果我使用

相關問題