2013-11-23 69 views
0

我需要我的腳本幫助,我花了很多時間研究它有什麼問題,但我找不到任何東西。通過另一個服務器流式傳輸視頻

基本上在我的第一臺服務器上,我包含視頻文件,在我的第二臺服務器上流式傳輸這些文件。要從第一臺服務器獲取文件,必須使用服務器上的兩臺IP(基本上我只允許我的服務器連接到第一臺服務器)

因此,要使用cURL功能,因爲所有視頻都會通過服務器二。

我這樣做:

$url = "111.111.111.111/example.flv"; 

            $ch = curl_init(); 
            $timeout = 0; 
            curl_setopt ($ch, CURLOPT_URL, $url); 
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 

            $video = curl_exec($ch); 
            curl_close($ch); 
            // output to browser 
            header("Content-type: video/x-flv"); 

            echo ' <a href="'.$video.'" style="display:block;width:920px;height:600px" id="player"> 
    </a> 
    <script> 
     flowplayer("player", "flowplayer-3.2.16.swf"); 
    </script>'; 

因此,我所做的是:1。 我有一個鏈接到$網址視頻 2.我用捲曲打開新的連接 3.我把數據從鏈接。 4.然後我保持這個視頻在$視頻 5.我試圖打開它。

不過,但它不工作...當我打開這個網站是給我這樣的:

FLV��� �����ÖY�������� 
onMetaData����metadatacreator�3Yet Another Metadata Injector for FLV - Version 1.8�hasKeyframes�hasVideo�hasAudio�hasMetadata�canSeekToEnd�duration�@Ļj◊ 
=p§�datasize�AĽ≥i���� videosize�A∂ąęZ���� framerate�@9�70Ō'� 
videodatarate�@|<GłÕŰĢ�videocodecid�@�������width�@Ą�������height�@[email protected]������ audiosize�AĒ8»,���� 
audiodatarate�@Xsöł¶@ű�audiocodecid�@$�������audiosamplerate�@�������audiosamplesize�?ū�������stereo�filesize�AĽ≥Óv���� 
lasttimestamp�@Ļj◊ 
=p§�lastkeyframetimestamp�@Ļj◊ 
=p§�lastkeyframelocation�AĽ≥Ób���� keyframes� 
filepositions 

所以我得到的字符串數據...

你知道我有什麼要做什麼,要流這個文件?

+0

請張貼的完整代碼輸出的FLV。 – AlliterativeAlice

+0

這一切......最後一行,它只是一個Web播放器「回聲‘ ’;代碼 – user3023802

回答

0

您無法同時輸出HTML和FLV數據。我建議創建一個單獨的PHP文件與下面的代碼:

$url = "111.111.111.111/example.flv"; 

header("Content-type: video/x-flv"); 
$ch = curl_init(); 
$timeout = 0; 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
curl_exec($ch); 
curl_close($ch); 

然後你就可以把你的播放器代碼其他地方,如:

<a href="/path/to/first/file.php" style="display:block;width:920px;height:600px" id="player"> 
+0

謝謝你,現在是工作,但我有另一個問題...當我播放視頻時,它從一開始就播放,你不能改變時間軸上的時間,你不能從3:10開始,你必須從開始,你有什麼想法,我必須做的,以在播放器中啓用此功能?例如開始觀看視頻從中間不是從開始? – user3023802

+0

可能與播放器有關。它是否工作如果你指向一個「真正的」FLV而不是一個讀取一個的PHP腳本? – AlliterativeAlice

+0

如果我複製視頻表單服務器一個服務兩個,是的,它確實像我想要的那樣工作。是否有任何方式從服務器輸出視頻格式的視頻?我添加了「header(」Content-Disposition:attachment; filename = video.flv「);」到我的腳本,但它只是改變格式,然後我嘗試去腳本頁面。 – user3023802

相關問題