Supported Dynamic Patterns
| Pattern | Type | Description |
|---|---|---|
%0d / %03d | Input/Output | Sequence patterns for numbered files (e.g., frame_%03d.png) |
tee | Output | Write to multiple outputs simultaneously |
segment | Output | Split output into multiple segment files |
image2 | Input | Read image sequences with glob patterns |
concat | Input | Concatenate multiple files from a list |
HLS/DASH | Input/Output | Streaming manifests with multiple segments |
Dynamic Inputs
Rendi supports using a compressed .zip folder as an FFmpeg input source. This enables commands that require multiple input files, such as image sequences (%0d patterns), HLS playlists, or concat demuxer lists.
Use the field input_compressed_folder to supply a URL pointing to a .zip file. Rendi automatically downloads and decompresses the archive before running your FFmpeg command.
Important: Command run time includes the time required to decompress the .zip file.
Using custom fonts
To use custom fonts or auxiliary files (e.g., subtitles, watermarks), bundle everything together in a.zip and use input_compressed_folder.
Important: When usingFor example, to add subtitles with a custom font to a video, create a ZIP containing:input_compressed_folder, all input files must be inside the ZIP — do not use theinput_filesfield alongside it.
sample_popeye_meets_sinbad.mp4- your video filesample_popeye_meets_sinbad.srt- your subtitle filePoppins-Regular.ttf- a font that supports your target script
-i sample_popeye_meets_sinbad.mp4- Reads the video file from the decompressed ZIPsubtitles=sample_popeye_meets_sinbad.srt- References the subtitle file from the same decompressed ZIPfontsdir=.- Tells FFmpeg to look for fonts in the current (decompressed) directoryforce_style='FontName=Poppins,...'- Applies the custom font and styling. Use the font’s FontName (found by opening the font file), not the filename
Tip: For text overlays with custom fonts, use drawtext=fontfile=MyFont.ttf:text='Hello':fontcolor=white:fontsize=60. See the FFmpeg Cheatsheet for more details.
Using HLS recording as input stored in a ZIP folder
This example demonstrates processing an HLS recording stored in a ZIP archive. The sample ZIP at playlist_sample.zip contains:playlist.m3u8- the HLS playlist fileoutput0.ts,output1.ts,output2.ts- the video segments
Tip: For faster processing without re-encoding, use -c copy -bsf:a aac_adtstoasc instead.
Using indexed image frames to create a video
This example demonstrates creating a video from a sequence of numbered image frames stored in a ZIP archive. The ZIP should contain files likeframe_001.png, frame_002.png, etc.
-framerate 30- Sets the input frame rate to 30 FPS-i frame_%03d.png- Reads sequentially numbered frames (frame_001.png, frame_002.png, …)-c:v libx264- Encodes output as H.264 video-pix_fmt yuv420p- Ensures compatibility with most video players
Tip: Adjust the pattern to match your file naming (e.g., img_%04d.jpg for img_0001.jpg, img_0002.jpg, etc.).
Dynamic Outputs
Rendi also supports compressed output folders. To enable this, set theoutput_files field to the special flag:
.zip archive containing only the output files produced by your FFmpeg command.
Important: Command runtime includes the time required to compress the output folder.
Extracting frames from an input video and storing them in a zip
This example extracts individual frames from a video and packages them into a ZIP archive. The output can be used as input for the “Using indexed image frames to create a video” example above.-i {{in_1}}- Reads the input video file-vf fps=30- Extracts frames at 30 frames per secondframe_%03d.png- Outputs frames asframe_001.png,frame_002.png, etc.
input_compressed_folder for video reconstruction or other processing.
Tip: Adjust thefpsvalue to control frame extraction density. Usefps=1for 1 frame per second, or omit-vf fps=30entirely to extract every frame at the video’s native framerate.
Generating an HLS output folder and storing it as a ZIP
Response Format for Compressed Output Folders
In addition to the usual fields, the response includes extra metadata describing the generated.zip archive:
Field Descriptions
- file_count - Number of files contained inside the output
.zipfolder. - size_mbytes - Total size (MB) of all files before compression.
- size_compressed_mbytes - Final compressed
.zipsize stored in Rendi. - file_format - Always
zip. - storage_url - The download URL of the compressed output folder.
The compressed output file name is: <command_id>.zip
Processing & Storage Quota
- Processing quota for inputs is calculated based on the size of the files after decompression.
- Processing quota for OUTPUT_FOLDER uses the size of files before compression.
- Storage usage is based on the size of the compressed .zip file.