Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 能不能?;MySQL提供动态ogg文件_Php_Mysql_Ogg - Fatal编程技术网

Php 能不能?;MySQL提供动态ogg文件

Php 能不能?;MySQL提供动态ogg文件,php,mysql,ogg,Php,Mysql,Ogg,前言 我一直在阅读ogg文档,尤其是部分 我当然不太明白。但据我所知,ogg文件由一系列ogg页面组成(最大64kB)。“绝对颗粒位置”确定每个页眉中ogg视频的帧数 实际问题 假设我有一些大型视频文件,例如本地存储的安全足迹。将视频文件拆分为ogg页面,并使用每个页面对应的时间戳将其存储在web服务器的MySQL表中。(最大Blob大小为64kB) 当请求从时间A到时间B查看视频时,php脚本将查询该表,并获取该时间跨度之间的ogg页面。并将帧编号从0增加到x,并使用适当的mime类型将其回显

前言

我一直在阅读ogg文档,尤其是部分

我当然不太明白。但据我所知,ogg文件由一系列ogg页面组成(最大64kB)。“绝对颗粒位置”确定每个页眉中ogg视频的帧数

实际问题

假设我有一些大型视频文件,例如本地存储的安全足迹。将视频文件拆分为ogg页面,并使用每个页面对应的时间戳将其存储在web服务器的MySQL表中。(最大Blob大小为64kB)

当请求从时间A到时间B查看视频时,php脚本将查询该表,并获取该时间跨度之间的ogg页面。并将帧编号从0增加到x,并使用适当的mime类型将其回显


这可能吗?

我绝对不是ogg文件方面的专家,但根据你所说,视频流实际上是一系列ogg页面

将每个页面作为blob存储在数据库中,并根据请求动态地重新组合这些页面,这似乎很有趣。正如DevZerO在一篇评论中所建议的,您可能还需要根据请求重新构造文件头

从客户机的角度来看,这一切就像下载一个文件(我认为PHP不适合流媒体?)


事实上,我认为这是一个很好的想法,如果你在这方面取得了一些初步进展,我很高兴能得到一些反馈;)

不要将大型视频文件存储在数据库中。它不是为它而设计的,而且根本不起作用。将视频数据作为常规文件存储在文件系统中,并从那里提供服务。将元数据保存在数据库中,并使用它查找视频文件。在数据库中存储大型数据集没有问题。您的解决方案听起来合乎逻辑,文件开头可能还有一些头文件,您可能需要动态构造这些头文件。请记住PHP的内存和执行时间限制。