vstack

Vertically Stack Two Videos

Description

Stack two videos vertically (top over bottom) using FFmpeg’s vstack filter. Useful for YouTube Shorts layout (e.g. SadTalker top + slideshow bottom).

Usage

vstack(top, bottom, output, height_top = NULL, height_bottom = NULL,
       width = 1080, overwrite = TRUE, dry_run = FALSE)

Arguments

  • top: Path to top video.
  • bottom: Path to bottom video.
  • output: Path for output video file.
  • height_top: Height in pixels for top video (default: auto from width).
  • height_bottom: Height in pixels for bottom video (default: auto from width).
  • width: Output width in pixels (default 1080).
  • overwrite: If TRUE (default), overwrite output file.
  • dry_run: If TRUE, return the FFmpeg command without executing.

Details

Both inputs are scaled to the target width. Heights can be specified individually; by default each gets half the frame.

Value

Invisibly returns the output path. If dry_run, returns command string.

Examples

vstack("talking_head.mp4", "slideshow.mp4", "shorts.mp4")
vstack("top.mp4", "bottom.mp4", "out.mp4", height_top = 960, height_bottom = 960)