我目前正在研究一个Django项目,希望通过网络对videofiles进行一些转换。为了对视频进行转换,我使用了opencv的python API,并且我还正在使用Dajax来执行ajax请求。Django在请求之间共享不可取消的对象
在AJAX请求文件I有以下代码:
@dajaxice_register
def transform_and_show(request, filename, folder, frame_count, img_number):
detector = Detector(filename) //Object which uses opencv API
dajax = Dajax()
generated_file = detector.detect_people_by_frame(folder, str(img_number))
dajax.assign('#video', 'src', '/media/generated'+folder+generated_file)
return dajax.json()
想法是通过帧变换分析视频帧和一个IMG标记显示在浏览器中的每个变换的帧给予感觉给用户他/她正在观看转换后的视频,因此此方法在JavaScript循环中调用。
问题是,在这种方法中,对象“检测器”在每次迭代中都会重新初始化,因此它只会生成与视频的第一帧相对应的图像。我的想法是通过在请求之间使“检测器”持久化来解决此问题,以便在每个请求上指向视频的下一帧的指针不会设置为0。 问题是Dectector对象不可用,这意味着它不能被缓存或保存到会话对象。
有什么我可以做的,使它在请求之间持久?
注意:我已经考虑过使用HTTP推送方法,如APE或Orbit,但由于这只是一个调查项目,所以对性能没有真正的关注。
有人回答了你? – sureshvv
不,你是第一个 –