Add liveview only, fix ffmpeg QT export, default config
This commit is contained in:
parent
ea41eb22bf
commit
5ab96d1123
|
@ -12,10 +12,10 @@ framerate = 16
|
||||||
ffmpeg_path = '/usr/bin/ffmpeg'
|
ffmpeg_path = '/usr/bin/ffmpeg'
|
||||||
export_options = 'scale=1920:-1,crop=1920:1080'
|
export_options = 'scale=1920:-1,crop=1920:1080'
|
||||||
[CAMERA]
|
[CAMERA]
|
||||||
cam_w = 1920
|
cam_w = 1600
|
||||||
cam_h = 1080
|
cam_h = 900
|
||||||
vflip = 1
|
vflip = 1
|
||||||
hflip = 1
|
hflip = 1
|
||||||
auto_exposure = 0
|
auto_exposure = 1
|
||||||
white_balance_auto_preset = 0
|
white_balance_auto_preset = 2
|
||||||
video_bitrate=25000000
|
video_bitrate=25000000
|
||||||
|
|
|
@ -423,6 +423,9 @@ def export_animation(input_filename, export_filename):
|
||||||
'-r', framerate,
|
'-r', framerate,
|
||||||
'-i', input_filename,
|
'-i', input_filename,
|
||||||
'-vf', output_options,
|
'-vf', output_options,
|
||||||
|
# Fix for Quicktime
|
||||||
|
'-pix_fmt', 'yuv420p',
|
||||||
|
'-vcodec', 'libx264',
|
||||||
export_filename,
|
export_filename,
|
||||||
])
|
])
|
||||||
return ffmpeg_process
|
return ffmpeg_process
|
||||||
|
@ -430,7 +433,7 @@ def export_animation(input_filename, export_filename):
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
|
|
||||||
global onionskin, playback, loop_playback, playhead, index, img_list, first_playback, camera_current_settings
|
global onionskin, liveview_only, playback, loop_playback, playhead, index, img_list, first_playback, camera_current_settings
|
||||||
|
|
||||||
if not testDevice(0):
|
if not testDevice(0):
|
||||||
print(_("No camera device found. Exiting..."))
|
print(_("No camera device found. Exiting..."))
|
||||||
|
@ -474,7 +477,17 @@ def main(args):
|
||||||
if 'onionskin_was_on' in locals():
|
if 'onionskin_was_on' in locals():
|
||||||
onionskin = True
|
onionskin = True
|
||||||
loop_playback = False
|
loop_playback = False
|
||||||
|
|
||||||
|
if liveview_only:
|
||||||
|
# ~ onionskin = False
|
||||||
|
ret, overlay = cam.read()
|
||||||
|
if not ret:
|
||||||
|
print(_("Failed to grab frame."))
|
||||||
|
break
|
||||||
|
cv2.imshow("StopiCV", overlay)
|
||||||
|
# ~ else:
|
||||||
|
# ~ onionskin = True
|
||||||
|
|
||||||
if onionskin:
|
if onionskin:
|
||||||
ret, overlay = cam.read()
|
ret, overlay = cam.read()
|
||||||
og_frame = overlay.copy()
|
og_frame = overlay.copy()
|
||||||
|
@ -490,14 +503,21 @@ def main(args):
|
||||||
break
|
break
|
||||||
cv2.imshow("StopiCV", overlay)
|
cv2.imshow("StopiCV", overlay)
|
||||||
|
|
||||||
if not playback and not onionskin:
|
if not playback and not onionskin and not liveview_only:
|
||||||
cv2.imshow("StopiCV", frame)
|
cv2.imshow("StopiCV", frame)
|
||||||
|
|
||||||
k = cv2.waitKey(1)
|
k = cv2.waitKey(1)
|
||||||
|
# TODO : Show liveview only
|
||||||
|
# Key l / 5
|
||||||
|
if (k%256 == 108) or (k%256 == 53):
|
||||||
|
# Toggle liveview
|
||||||
|
liveview_only = not liveview_only
|
||||||
|
onionskin = not onionskin
|
||||||
# Key o / 9
|
# Key o / 9
|
||||||
if (k%256 == 111) or (k%256 == 47):
|
if (k%256 == 111) or (k%256 == 47):
|
||||||
# Toggle onionskin
|
# Toggle onionskin
|
||||||
onionskin = not onionskin
|
onionskin = not onionskin
|
||||||
|
liveview_only = False
|
||||||
# Key w / 7 - cycle wb
|
# Key w / 7 - cycle wb
|
||||||
if (k%256 == 119) or (k%256 == 55):
|
if (k%256 == 119) or (k%256 == 55):
|
||||||
camera_current_settings = apply_cam_setting(camera_current_settings, ['white_balance_auto_preset'])
|
camera_current_settings = apply_cam_setting(camera_current_settings, ['white_balance_auto_preset'])
|
||||||
|
@ -611,6 +631,7 @@ next_letter = 'Z'
|
||||||
img_list = []
|
img_list = []
|
||||||
savepath = get_session_folder()
|
savepath = get_session_folder()
|
||||||
onionskin = project_settings['onion_skin_onstartup']
|
onionskin = project_settings['onion_skin_onstartup']
|
||||||
|
liveview_only = False
|
||||||
playback = False
|
playback = False
|
||||||
first_playback = True
|
first_playback = True
|
||||||
playhead = 0
|
playhead = 0
|
||||||
|
|
Loading…
Reference in New Issue