Private
Public Access
17 lines
1.3 KiB
Python
17 lines
1.3 KiB
Python
"""Decode selected video frames and save the editable scene with MP4 settings."""
|
|
import bpy, os
|
|
ROOT=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
OUT=os.path.join(ROOT,'preview','v4')
|
|
os.makedirs(os.path.join(OUT,'frames'),exist_ok=True)
|
|
bpy.ops.wm.read_factory_settings(use_empty=True)
|
|
s=bpy.context.scene;s.render.resolution_x=1280;s.render.resolution_y=720;s.render.resolution_percentage=100;s.render.fps=24
|
|
s.sequence_editor_create();strip=s.sequence_editor.sequences.new_movie('Finished video',os.path.join(OUT,'halloween_dark.mp4'),channel=1,frame_start=1)
|
|
print('DECODED MOVIE',strip.frame_duration,strip.elements[0].orig_width,strip.elements[0].orig_height)
|
|
s.render.image_settings.file_format='PNG'
|
|
for frame in [1,120,128,136,144,152,185,310,322,334,440,480]:
|
|
s.frame_set(frame);s.render.filepath=os.path.join(OUT,'frames','review_%03d.png'%frame);bpy.ops.render.render(write_still=True)
|
|
bpy.ops.wm.open_mainfile(filepath=os.path.join(OUT,'halloween_dark.blend'))
|
|
s=bpy.context.scene;s.frame_set(1)
|
|
s.render.image_settings.file_format='FFMPEG';s.render.ffmpeg.format='MPEG4';s.render.ffmpeg.codec='H264';s.render.ffmpeg.constant_rate_factor='MEDIUM';s.render.ffmpeg.audio_codec='AAC';s.render.ffmpeg.audio_bitrate=192;s.render.filepath='//halloween_dark.mp4'
|
|
bpy.ops.wm.save_as_mainfile(filepath=os.path.join(OUT,'halloween_dark.blend'))
|