1

我在 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>

流.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(无图片)

PS mp4,flv,mov 作品

你能帮助我吗?

卢博

4

4 回答 4

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);
于 2011-08-17T07:23:13.753 回答
0

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

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

于 2011-08-18T13:56:34.200 回答
0

尝试设置位置标题:

$path='/path/to/file/my.avi';
header("location: $path");
于 2011-08-17T09:06:22.780 回答
-1

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

于 2015-02-02T23:13:48.093 回答