Python 基于onTornado的视频网站服务
我是新来的龙卷风,我想建立一个简单的网站看电影。 当然,hello world网站是成功的,我想在空的网站中添加一部电影。因此,我用HTML5编写了一个使用视频标签的htmlPython 基于onTornado的视频网站服务,python,html,web,tornado,Python,Html,Web,Tornado,我是新来的龙卷风,我想建立一个简单的网站看电影。 当然,hello world网站是成功的,我想在空的网站中添加一部电影。因此,我用HTML5编写了一个使用视频标签的html <html> <body> <video autoplay=true> <source src="aa.mp4" type="video/mp4"></source> </video> </body> </html> 图
<html>
<body>
<video autoplay=true>
<source src="aa.mp4" type="video/mp4"></source>
</video>
</body>
</html>
图片是可以的,但是当我使用500MB的视频时。记忆错误出现
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 1141, in _when_complete
callback()
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 1167, in _execute_finish
self.finish()
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 760, in finish
self.flush(include_footers=True)
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 703, in flush
chunk = b"".join(self._write_buffer)
MemoryError
我觉得问题在于浏览器下载了整个视频,所以该函数无法返回并引发异常。是这样吗?以及如何修复它,非常感谢
谢谢你的帮助,我写了一行代码来提供视频文件。
然而,我发现这仍然是错误的。
当文件是图片时是可以的,当我提供一个更大的视频文件时会出错
(r"/(.*)",tornado.web.StaticFileHandler,{"path":"/home/alex/one/static"})
您使用的是哪种版本的Tornado?堆栈跟踪看起来很旧
StaticFileHandler
在4.0版中获得了服务大文件的能力,而无需将它们全部加载到内存中。StaticFileHandler
应该能够处理大文件
发件人:
此处理程序主要用于开发和轻型文件服务;对于高流量,使用专用的静态文件服务器(如nginx或Apache)将更有效我们支持HTTP接受范围机制来返回部分内容(因为有些浏览器要求在HTML5音频或视频中提供此功能)。
如果您使用旧版本的Tornado,则应更新至最新版本。或者像文档所说的那样,使用专用的静态文件服务器(比如NGIX或Apache)。< /P>你的代码> RequestHandler < /代码>处理你的视频文件吗?这只提供你的索引文件。对不起,我不知道需要视频文件。为什么?当我使用Nginx时,除了索引文件配置外,什么都没有。你不应该无缘无故地代理视频文件。Nginx可能会做得更好,因此只需将其配置为服务于这些文件(甚至所有静态文件),即可删除StaticHandler。
(r"/(.*)",tornado.web.StaticFileHandler,{"path":"/home/alex/one/static"})