我是龙卷风的新手,我想建立一个观看电影的简单网站。 当然,你好世界网站是成功的,我想在空网站上添加一部电影。因此我在html 5中使用视频标签写了一个html。
fiboNum
龙卷风中的代码也很简单。
<html>
<body>
<video autoplay=true>
<source src="aa.mp4" type="video/mp4"></source>
</video>
</body>
</html>
图片没问题,但是当我使用500MB的视频时。出现MemoryError。
class IndexHandler(tornado.web.RequestHandler):
def get(self):
self.render('index.html')
我觉得问题是浏览器下载整个视频,所以函数无法返回并抛出异常。这样对吗?以及如何解决它,非常感谢。
感谢您的帮助,我写了一个代码来提供视频文件。 但是我发现它仍然是错误的。 当文件是图片时,它是可以的,当我提供更大的视频文件时,它会出错。
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
答案 0 :(得分:1)
StaticFileHandler
应该能够处理大文件。
此处理程序主要用于开发和轻量级文件服务;对于繁重的流量,使用专用的静态文件服务器(如nginx或Apache)会更有效。 我们支持HTTP Accept-Ranges机制来返回部分内容(因为某些浏览器需要使用此功能来搜索HTML5音频或视频)。
如果您使用较旧版本的Tornado,则应更新至最新版本 或者正如文档所说,使用专用的静态文件服务器(例如nginx或Apache)。
答案 1 :(得分:0)
您使用的是哪种版本的龙卷风?堆栈跟踪看起来很旧。 StaticFileHandler
获得了提供大型文件的能力,而无需在4.0版本中将它们全部加载到内存中。