用PHP readfile播放AVI()

时间:2011-08-17 07:03:08

标签: php video-streaming avi

我在HTML中嵌入了播放器:

<OBJECT id=WindowsMediaPlayer1 width=320 height=264 hspace=5
vspace=5 classid=clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6 border="5" align="middle" >
<param name="URL" value="http://www.my.domain/stream.php">

<EMBED type='application/x-mplayer2'
pluginspage='http://microsoft.com/windows/mediaplayer/en/download/'
id='mediaPlayer' name='mediaPlayer' displaysize='4' autosize='-1'
bgcolor='darkblue' showcontrols="true" showtracker='-1'
showdisplay='0' showstatusbar='-1' videoborder3d='-1' width="320" height="264"
src="http://www.my.domain/stream.php" autostart="0" designtimesp='5311'>
</EMBED>
</OBJECT>

stream.php

<?php
$path='/path/to/file/my.avi';
header('Content-type: video/x-msvideo');
header('Content-Length: '.filesize($path));
readfile($path);
?>

正在播放视频:src =“http://www.my.domain/my.avi 视频无法播放时:src =“http://www.my.domain/stream.php(无图片)

P.S。 mp4,flv,mov工作

你可以帮帮我吗?

录播

4 个答案:

答案 0 :(得分:2)

我认为这些都在标题中......在线发现了一个教程.. http://www.devshed.com/c/a/PHP/Video-Streaming-PHP-Script-Tutorial/3/

在那个人使用的教程中:

header('Content-type: video/mpeg');    
header('Content-Length: '.filesize($path)); // provide file size    
header("Expires: -1");    
header("Cache-Control: no-store, no-cache, must-revalidate");    
header("Cache-Control: post-check=0, pre-check=0", false);    
readfile($path);

答案 1 :(得分:0)

尝试设置位置标题:

$path='/path/to/file/my.avi';
header("location: $path");

答案 2 :(得分:0)

我怀疑你发送了错误的内容类型标题。如果您希望客户端知道它是什么类型的内容,通常需要正确获取该标头。

您可以使用Fiddler验证这一点,并比较直接访问文件时的标题,以及通过脚本访问时的标题。

答案 3 :(得分:0)

简单的解决方案...制作mp4,mov或flv文件,在您的网站中使用

相关问题