【发布时间】:2010-09-24 07:55:43
【问题描述】:
我正在尝试构建一个应用程序,我必须在其中将媒体文件(音频和视频)流式传输到浏览器。我正在通过 php 读取文件并将数据发送到浏览器。我正在使用以下代码。
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Content-Type: {$file->getMimetype()}");
header("Content-Disposition: inline; filename=".$filename.";");
header("Content-Length: ".strlen($file_content));
echo $file_content;
一切正常,除了当我尝试转发视频或音频时(我的意思是假设当前播放位置是 0:15,它直接转到 1:25),媒体停止并且当我按下播放按钮时再次,它从头开始。
我认为问题出在缓冲上,但无法弄清楚。我在标题中做错了什么还是需要其他东西。
谢谢。
【问题讨论】:
-
我更喜欢 Flash-streaming ;) ,更小的文件大小 = 更快的加载速度。也更容易集成到网站中。
-
@Jordy AFAIK Flash 不执行服务器执行的流式传输。您仍然需要一个服务器端脚本来流式传输 flv,否则您必须等待整个文件加载才能查看它。