我目前正在研究一個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
不,你是第一個 –