HTML5视频-来自数据库的数据
客户很有趣——总是提出新的要求 好的,我有一个ASP.NET 4.0 Webforms应用程序,客户可以在其中上载PDF或Excel文档等文件,这些文件存储在SQL Server的VARBINARYMAX列中。工作起来很有魅力 现在他们想出了一个新的要求:他们希望能够上传像*.wmv、*.mp4等视频。。与客户请求时刚下载到硬盘的文档不同,对于视频,他们希望在我的Webforms应用程序上播放 经过一点研究,HTML5标签似乎是最有效的方法。但我看到的所有示例都使用基于文件的URL来获取视频,但我似乎找不到任何关于如何从流中提供视频数据的内容HTML5视频-来自数据库的数据,html,sql-server-2008,webforms,html5-video,asp.net-4.0,Html,Sql Server 2008,Webforms,Html5 Video,Asp.net 4.0,客户很有趣——总是提出新的要求 好的,我有一个ASP.NET 4.0 Webforms应用程序,客户可以在其中上载PDF或Excel文档等文件,这些文件存储在SQL Server的VARBINARYMAX列中。工作起来很有魅力 现在他们想出了一个新的要求:他们希望能够上传像*.wmv、*.mp4等视频。。与客户请求时刚下载到硬盘的文档不同,对于视频,他们希望在我的Webforms应用程序上播放 经过一点研究,HTML5标签似乎是最有效的方法。但我看到的所有示例都使用基于文件的URL来获取视频,但
我真的需要将SQL Server数据库中的视频存储到磁盘上的临时文件中,以便在Webforms应用程序中播放它们吗?或者有没有一种巧妙的方法将.NET stream MemoryStream连接到HTML5元素以在屏幕上播放视频?只需通过您制作的特殊页面缓冲数据,例如:getvideo.aspx?videoid=nnn,使用该页面作为流代理 在页面中,将数据作为任何文件流式传输到客户端,将头mime类型设置为video/mp4,并确保其为8位二进制格式 然后,只需将页面设置为元素的视频源: HTML:
请注意,并非所有浏览器都支持MP4文件格式。您可能需要考虑允许回退格式,如OGG和WebM。< P>简单地通过一个特殊的页面缓冲数据,例如:GETVIEST.ASPX .VIEIDOL= NNN,使用页面作为流代理。< /P> 在页面中,将数据作为任何文件流式传输到客户端,将头mime类型设置为video/mp4,并确保其为8位二进制格式 然后,只需将页面设置为元素的视频源: HTML:
请注意,并非所有浏览器都支持MP4文件格式。您可能需要考虑允许回退格式,如OGG和WebM。谢谢-你能在前两段详细阐述一下吗?对我来说,它们完全是希腊语:-你有没有一个页面/博客帖子/文章在代码中显示如何实际做到这一点?我见过使用.ashx处理程序的方法,这些处理程序可能会流式返回数据-不幸的是,到目前为止我发现的所有示例最终都不起作用-页面上没有显示任何视频…@marc_s我很遗憾博客和.net页面都很短:很抱歉。我会看看我是否能绕过这一点或找到一些例子。原则上,当您查询SQL server时,您只需将从该页面内部直接返回的数据推送到输出流,当然,在运行查询之前,只需先发送标题。对于提供来自任意源(如DB blob)的视频字节流的示例:。很高兴他展示了如何告诉Chrome视频播放器视频可以搜索。谢谢-你能详细说明前两段吗?对我来说,它们完全是希腊语:-你有没有一个页面/博客帖子/文章在代码中显示如何实际做到这一点?我见过使用.ashx处理程序的方法,这些处理程序可能会流式返回数据-不幸的是,到目前为止我发现的所有示例最终都不起作用-页面上没有显示任何视频…@marc_s我很遗憾博客和.net页面都很短:很抱歉。我会看看我是否能绕过这一点或找到一些例子。原则上,当您查询SQL server时,您只需将从该页面内部直接返回的数据推送到输出流,当然,在运行查询之前,只需先发送标题。对于提供来自任意源(如DB blob)的视频字节流的示例:。很高兴他展示了如何告诉Chrome视频播放器视频可以搜索。
<video width=640 height=320 autoplay controls>
<source src="getvideo.aspx?videoid=123&type=mp4" type="video/mp4">
<source src="getvideo.aspx?videoid=123&type=ogg" type="video/ogg">
Sorry, no video support in the browser you're using.
</video>