使用twisted.web框架中使用HTML 5扭曲的多个并发或异步流
的视频在服务器的视频流通过static.File('pathtovideo').render_GET()
我写了一个Python应用程序的问题是,只有一段视频一次完成整个流程。
无论如何,要使流异步或非阻塞,无论哪个术语在这里适合。
我试过使用deferToThread,但仍然束缚了这个过程。
这是Im当前正在使用的类,其中Movie是一个ORM表,而mid仅仅是一个任意行的id。
class MovieStream(Resource):
isLeaf=True
def __init__(self, mid):
Resource.__init__(self)
self.mid = mid
def render_GET(self, request):
movie = Movie.get(Movie.id == self.mid)
if movie:
defered = deferToThread(self._start_stream, path=movie.source), request=request)
defered.addCallback(self._finish_stream, request)
return NOT_DONE_YET
else:
return NoResource()
`
def _start_stream(self, path, request):
stream = File(path)
return stream.render_GET(request)
def _finish_stream(self, ret, request):
request.finish()
这个问题的前提是不正确的。试试http://sscce.org/ –