2013-11-23 68 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

相关问题