从一台服务器到另一台服务器的视频流
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一台服务器到另一台服务器的视频流相关的知识,希望对你有一定的参考价值。
我需要一个关于我的脚本的帮助,我花了很多时间来研究它有什么问题,但我找不到任何东西。
基本上,在我的第一台服务器上,我包含视频文件,在我的第二台服务器上,我流这些文件。要从第一台服务器获取文件,你必须使用第二台服务器的IP(基本上我只允许我的服务器与第一台服务器连接)。
因此,为了获得这些文件,我使用cURL函数,因为所有的视频将通过服务器2。
我做了这个。
$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.我在$url2中有一个视频链接。我使用cURL打开新的连接3. 我从链接中获取数据.4.然后我把这个视频保存在$video5.我试图打开它。然后我试着打开它。
但是却无法打开。当我打开这个网站的时候,显示的是这个。
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�@v@������ audiosize�AĒ8»,����
audiodatarate�@Xsöł¶@ű�audiocodecid�@$�������audiosamplerate�@�������audiosamplesize�?ū�������stereo�filesize�AĽ≥Óv����
lasttimestamp�@Ļj◊
=p§�lastkeyframetimestamp�@Ļj◊
=p§�lastkeyframelocation�AĽ≥Ób���� keyframes�
filepositions
所以我得到的数据是字符串...
你知道我必须做什么,以流这个文件?
答案
你不能同时输出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">
以上是关于从一台服务器到另一台服务器的视频流的主要内容,如果未能解决你的问题,请参考以下文章