Development seq2vid

seq2vid 0.2 released

After 10 months of development, my command-line video composer seq2vid has a new release! This new version 0.2 has several new features and improvements.seq2vid

What is seq2vid?

seq2vid is a command-line video composer for GNU/Linux. It reads a sequence of texts, images, and videos defined in a text file and renders them all into a video. seq2vid can compose videos much faster than conventional (GUI-based) video editing software. It can also be deployed in batch processes and for automatically generating videos out of dynamic content. It is a free software project (GPLv3+ licensed) hosted on GitLab.

What’s new in seq2vid 0.2?

New features for users
  • A new textblock segment type: Now you can have segments with long, left-justified text blocks (commit, segment reference in the wiki).
  • A new fade transition style: You have the option between morph (the default transition effect) and fade to switch between your segments (commit). With fade, segments fade to/appear from the background.
  • New controls for extracting portions of a video: In video segments, you can now specify start_time and end_time parameters to include only a part of the video between two time points (commit).
  • New option for transition times: With the new parameter time_transition_pre, you can override the transition time for the previously defined segment (commit). This is especially useful for the POST segments of templates.
  • New and refined examples: Now you can get a better idea of what seq2vid is capable of, by reading the examples page of the wiki, or by looking at the examples directory in the code.
Fixes and enhancements
  • Better I/O management: Input/output files are now read/written where the seq file resides, not where the seq2vid scripts do. Several paths are also searched automatically to find assets mentioned in the input sequence files (commit).
  • Better temp file organization: All temporary files are now stored in a system-provided directory, usually inside /tmp (commit).
  • Default output video size: Dimensions of the output video now match those of the input video by default. A reasonable chain of priority is added for overriding the default video dimensions in the sequence and/or template file (commit).
Internal changes for developers and large deployers
  • There is a new page in the wiki that explains how seq2vid works.
  • seq2vid now defaults to ffmpeg (instead of libav-tools) for handling most video processing tasks (thank you hnrzi ?). The dependency on mencoder still exists though, since it produces higher-quality videos in some cases (commit).
  • A new unit test system has been added—currently containing 6 tests—for a fast and reliable development process. Tests are based on output file checksums, and the system provides an option to easily calibrate the tests for each development environment.
Known issues
  • In Fedora 26, fonts defined in the default template cannot be found. This is due to mismatch in the font naming conventions between Ubuntu and Fedora. This causes warning messages when building segments. Nevertheless, fonts are replaced by available system fonts as fallback.
  • In openSUSE Leap 42.3, the fallback mechanism for non-existing fonts does not work. This causes the text to not show up in the video output. A temporary workaround is to make sure that fonts are defined with exactly the same names as installed in the system.


It’s easy to use seq2vid. All you need is a GNU/Linux box with a few multimedia libraries installed. Grab the the code, uncompress it, and start playing. I will appreciate your comments, suggestions, and especially feature requests!