From d2811891a530d9af4ec6d1fe7f05fc5f4d724b1b Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Mon, 6 Jun 2016 20:23:17 +0100 Subject: [PATCH] - Initial version of movie playback via HTML5 video tags. --- motioneye/handlers.py | 76 ++++++++++++++++++++++++++++------- motioneye/remote.py | 15 +++++-- motioneye/static/css/main.css | 17 +++++++- motioneye/static/js/main.js | 42 ++++++++++++++++--- 4 files changed, 125 insertions(+), 25 deletions(-) diff --git a/motioneye/handlers.py b/motioneye/handlers.py index 7a3ea78..1d6d17e 100644 --- a/motioneye/handlers.py +++ b/motioneye/handlers.py @@ -18,13 +18,15 @@ import datetime import json import logging +import mimetypes import os import re import socket import subprocess +from tornado import httputil from tornado.ioloop import IOLoop -from tornado.web import RequestHandler, HTTPError, asynchronous +from tornado.web import RequestHandler, StaticFileHandler, HTTPError, asynchronous import config import mediafiles @@ -977,7 +979,7 @@ class PictureHandler(BaseHandler): self.set_header('Content-Type', 'image/jpeg') self.set_header('Content-Disposition', 'attachment; filename=' + pretty_filename + ';') - self.finish(response) + self.finish(response.body) remote.get_media_content(camera_config, filename=filename, media_type='picture', callback=on_response) @@ -1338,28 +1340,74 @@ class MovieHandler(BaseHandler): 'filename': filename, 'id': camera_id}) camera_config = config.get_camera(camera_id) + + # To facilitiate cross-browser HTML5