【发布时间】:2010-10-25 05:23:20
【问题描述】:
我需要流式传输一个 flv 文件。
流媒体应该看起来像直播,
我应该有办法更改目标文件。
对不起我的英语不好。
【问题讨论】:
-
我认为这更像是一个 Flash 问题而不是 PHP 问题
我需要流式传输一个 flv 文件。
流媒体应该看起来像直播,
我应该有办法更改目标文件。
对不起我的英语不好。
【问题讨论】:
如果“流式传输”是指“显示 flash 视频剪辑”,则 flv-streaming 并不是真正的流式传输,而是正常的文件传输,即使文件没有完全下载,flv 播放器也会开始播放给客户。时间搜索以标准 HTTP 方式实现,带有文件下载偏移量 - 如果您在时间轴上滚动视频一半但尚未下载,则当前下载(通常)中止,并以偏移量 文件大小/2 个字节。
因此,您可以只使用普通的旧 readfile() 并使用 header() 适当地修复 HTTP mime 类型的标头。但是,由于您需要寻找,因此您需要解析 HTTP 请求,而不是 readfile(),而是使用 fpassthru(),寻找正确的位置。
tl;dr:避免在 PHP 端处理此问题,而让 Apache(或您选择的 httpd)处理此问题。
【讨论】:
我不太确定您在问什么,但如果您有一堆媒体文件并想在您的网站上使用类似 Youtube 的媒体播放器播放它们,我建议您查看Flowplayer - 它有一个很棒的 Javascript API,可以让你对播放器做各种很酷的事情,包括处理播放列表和以编程方式更改当前视频。
我最近在一个项目中使用它,效果很好。
【讨论】: