From: Calin Crisan Date: Sun, 15 Feb 2015 15:15:10 +0000 (+0200) Subject: timelapse: use -qscale:v instead of -q:v ffmpeg argument which breaks X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=753c3968391d702338f16d483cee2af8a4849150;p=motioneye-debian timelapse: use -qscale:v instead of -q:v ffmpeg argument which breaks compatibility with older versions --- diff --git a/src/mediafiles.py b/src/mediafiles.py index f80051b..6a412de 100644 --- a/src/mediafiles.py +++ b/src/mediafiles.py @@ -522,7 +522,7 @@ def make_timelapse_movie(camera_config, framerate, interval, group): global _timelapse_process cmd = 'rm -f %(tmp_filename)s;' - cmd += 'cat %(jpegs)s | ffmpeg -framerate %(framerate)s -f image2pipe -vcodec mjpeg -i - -vcodec mpeg4 -b:v %(bitrate)s -q:v 0 -f avi %(tmp_filename)s' + cmd += 'cat %(jpegs)s | ffmpeg -framerate %(framerate)s -f image2pipe -vcodec mjpeg -i - -vcodec mpeg4 -b:v %(bitrate)s -qscale:v 0.1 -f avi %(tmp_filename)s' bitrate = 9999999 @@ -575,21 +575,37 @@ def make_timelapse_movie(camera_config, framerate, interval, group): logging.debug('timelapse progress: %s' % int(100 * _timelapse_process.progress)) else: # finished + exit_code = _timelapse_process.poll() _timelapse_process = None + + if exit_code != 0: + logging.error('ffmpeg process failed') + _timelapse_data = None - logging.debug('reading timelapse movie file "%s" into memory' % tmp_filename) - - try: - with open(tmp_filename, mode='r') as f: - _timelapse_data = f.read() + try: + os.remove(tmp_filename) - logging.debug('timelapse movie process has returned %d bytes' % len(_timelapse_data)) + except: + pass - except Exception as e: - logging.error('failed to read timelapse movie file "%s": %s' % (tmp_filename, e)) + else: + logging.debug('reading timelapse movie file "%s" into memory' % tmp_filename) + + try: + with open(tmp_filename, mode='r') as f: + _timelapse_data = f.read() + + logging.debug('timelapse movie process has returned %d bytes' % len(_timelapse_data)) + + except Exception as e: + logging.error('failed to read timelapse movie file "%s": %s' % (tmp_filename, e)) + + finally: + try: + os.remove(tmp_filename) - finally: - os.remove(tmp_filename) + except: + pass poll_media_list_process()