Operations Module
This module contains various video operations.
Basic Operations
Basic video operations for FMUS-VID.
This module provides fundamental video manipulation functions.
- fmusvid.operations.basic.video_to_images(video, output_dir, start=None, end=None, interval=None, frame_count=None, with_timestamp=False, with_frame_number=False, format='png', prefix='frame_', **kwargs)[source]
Extract frames from a video to image files.
- Parameters:
video (
Union[str,Path,Video]) – Video object or path to video fileoutput_dir (
Union[str,Path]) – Directory to save the imagesstart (
Optional[float]) – Start time in seconds (None for beginning)end (
Optional[float]) – End time in seconds (None for end of video)interval (
Optional[float]) – Time interval between frames in secondsframe_count (
Optional[int]) – Number of frames to extract (evenly distributed)with_timestamp (
bool) – Add timestamp text overlay to imageswith_frame_number (
bool) – Add frame number text overlay to imagesformat (
str) – Image format (‘png’, ‘jpg’, etc.)prefix (
str) – Filename prefix for the saved images**kwargs – Additional options
- Return type:
- Returns:
List of paths to the saved images
Example
>>> # Extract all frames >>> frames = fmusvid.video_to_images("input.mp4", "frames_dir") >>> # Extract 10 evenly distributed frames >>> frames = fmusvid.video_to_images("input.mp4", "frames_dir", frame_count=10) >>> # Extract frames at 1-second intervals with timestamps >>> frames = fmusvid.video_to_images("input.mp4", "frames_dir", interval=1.0, with_timestamp=True)
- fmusvid.operations.basic.reverse_video(video, output=None, **kwargs)[source]
Create a reversed version of a video.
- Parameters:
- Return type:
- Returns:
Video object for the reversed video
Example
>>> # Create reversed video >>> reversed_video = fmusvid.reverse_video("input.mp4", "reversed.mp4")
- fmusvid.operations.basic.create_thumbnails(video, count=9, output_path=None, grid=True, scale=0.25, with_timestamp=True, **kwargs)[source]
Generate thumbnail images from a video.
- Parameters:
video (
Union[str,Path,Video]) – Video object or path to video filecount (
int) – Number of thumbnails to generateoutput_path (
Union[str,Path,None]) – Path to save the grid image or directory for individual thumbnailsgrid (
bool) – Whether to combine thumbnails into a grid imagescale (
float) – Scale factor for the thumbnailswith_timestamp (
bool) – Add timestamp to the thumbnails**kwargs – Additional options
- Return type:
- Returns:
Path to grid image if grid=True, otherwise list of paths to individual thumbnails
Example
>>> # Create a 3x3 grid of thumbnails >>> grid_path = fmusvid.create_thumbnails("input.mp4", count=9, output_path="thumbs.jpg") >>> # Create individual thumbnails >>> thumb_paths = fmusvid.create_thumbnails("input.mp4", count=5, grid=False, output_path="thumbs_dir")
Composition Operations
Composition operations for FMUS-VID.
This module provides functions for combining multiple videos or images.
- fmusvid.operations.composition.images_to_video(images, output, fps=30.0, **kwargs)[source]
Convert a sequence of images to a video.
- Parameters:
- Return type:
- Returns:
Video object for the created video
Example
>>> # From list of images >>> video = fmusvid.images_to_video(['frame1.png', 'frame2.png', 'frame3.png'], 'output.mp4') >>> # From directory >>> video = fmusvid.images_to_video('frames_directory', 'output.mp4', fps=24)
- fmusvid.operations.composition.side_by_side(videos, output=None, **kwargs)[source]
Arrange videos horizontally side by side.
- Parameters:
- Return type:
- Returns:
New Video object with side-by-side arrangement
Example
>>> comparison = fmusvid.side_by_side([video1, video2, video3]) >>> comparison.save("comparison.mp4")
Transition Effects
Transition effects for FMUS-VID.
This module provides various transition effects for videos, including fades, dissolves, wipes, and other common transitions.
- class fmusvid.operations.transitions.Transition(duration=1.0)[source]
Base class for video transitions.
- class fmusvid.operations.transitions.FadeTransition(duration=1.0, fade_to_black=True)[source]
Fade transition (fade out/in).
- class fmusvid.operations.transitions.DissolveTransition(duration=1.0, mode='simple')[source]
Dissolve transition (crossfade with optional effects).
- class fmusvid.operations.transitions.WipeTransition(duration=1.0, direction='left-to-right')[source]
Wipe transition (one frame wipes over the other).
- class fmusvid.operations.transitions.SlideTransition(duration=1.0, direction='left-to-right')[source]
Slide transition (frames slide in/out).
- class fmusvid.operations.transitions.PixelateTransition(duration=1.0, max_pixel_size=50)[source]
Pixelate transition (image pixelates and forms new image).
- class fmusvid.operations.transitions.ZoomTransition(duration=1.0, zoom_factor=2.0)[source]
Zoom transition (zoom in on first frame, zoom out on second).
- class fmusvid.operations.transitions.RotateTransition(duration=1.0, direction='horizontal')[source]
Rotate transition (3D flip effect).
Text and Subtitles
Subtitle support for FMUS-VID.
This module provides functionality for adding and manipulating subtitles.
- class fmusvid.operations.subtitle.SubtitleEntry(start_time, end_time, text, position=None)[source]
Represents a single subtitle entry.
- __init__(start_time, end_time, text, position=None)
- class fmusvid.operations.subtitle.SubtitleRenderer(entries, font='Arial', size=24, color='white', stroke_width=2, stroke_color='black', position=None, fade_in=0.25, fade_out=0.25)[source]
Renders subtitles on video frames.
- __init__(entries, font='Arial', size=24, color='white', stroke_width=2, stroke_color='black', position=None, fade_in=0.25, fade_out=0.25)[source]
Initialize subtitle renderer.
- Parameters:
entries (
List[SubtitleEntry]) – List of subtitle entriesfont (
str) – Font name or pathsize (
int) – Font size in pixelsstroke_width (
int) – Outline width (0 for no outline)stroke_color (
Union[str,Tuple[int,int,int]]) – Outline colorposition (
Optional[Tuple[int,int]]) – Default (x, y) position (None for bottom center)fade_in (
float) – Fade-in duration in secondsfade_out (
float) – Fade-out duration in seconds