scholium.video_generator.VideoGenerator#

class VideoGenerator(resolution=(1920, 1080), fps=30)[source]#

Bases: object

Generates videos from slides and audio using ffmpeg.

Initialize video generator.

Parameters:
  • resolution (tuple) – Video resolution as (width, height)

  • fps (int) – Frames per second

Methods

create_video

Create video from slides and audio segments.

create_video(slides, segments, output_path, temp_dir=None)[source]#

Create video from slides and audio segments.

Parameters:
  • slides (List[str]) – List of slide image paths

  • segments (List[Dict[str, Any]]) – List of segments with timing info: - audio_path: Path to audio file (None for silent) - audio_duration: Duration of audio - duration: Total duration (includes pre/post delays, respects min_duration) - pre_delay: Seconds to pause before audio - post_delay: Seconds to pause after audio - slide_number: Slide index (1-based) - fixed_duration: If set, overrides calculated duration

  • output_path (str) – Path for output video

  • temp_dir (str) – Directory for temporary files

Return type:

str

Returns:

Path to generated video

Raises:

RuntimeError – If video generation fails