🎬 Execute ffmpeg command [video]
Execute raw FFmpeg commands for advanced video/audio processing operations not covered by template functions.
CRITICAL RULES:
- Command MUST start with 'ffmpeg' (lowercase)
- NO command chaining: prohibited patterns include &&, ||, `, $(), >, >>, <, 2>, eval, exec
- NO dangerous commands: rm, wget, curl are blocked
- NO system paths: /etc/, /bin/bash are forbidden
- Width limit: 2048px maximum (2K resolution)
- Bitrate limit: 200M maximum for video/audio
- Duration limit: 1200 seconds (20 minutes) maximum with -t flag
- Output format: STRONGLY prefer .mp4 format for compatibility
WHEN TO USE:
Use this tool when template functions (create_video_from_assets, trim_video, add_subtitles_to_video, etc.) cannot achieve the desired effect. Common advanced use cases:
- Custom filter chains (complex filtergraphs, color grading, advanced transitions)
- Precise codec control (specific encoders, bitrate modes, pixel formats)
- Multi-stream operations (multiple audio tracks, video overlays with timing)
- Format conversions requiring specific parameters
EXAMPLES:
1. Apply color correction and resize:
ffmpeg -i input.mp4 -vf eq=brightness=0.1:saturation=1.2,scale=1280:720 output.mp4
2. Extract audio and convert format:
ffmpeg -i video.mp4 -vn -acodec libmp3lame -ab 192k audio.mp3
3. Create fade in/out effect:
ffmpeg -i input.mp4 -vf fade=t=in:st=0:d=2,fade=t=out:st=8:d=2 output.mp4
4. To grab the last frame of a video, use this:
ffmpeg -sseof -3 -i "https://res.cloudinary.com/..." -vsync 0 -update 1 output.png
RETURNS:
Cloudinary URL of the processed video/audio file (automatically uploaded after processing).
ERROR HANDLING:
- Validates command structure before execution
- Returns detailed FFmpeg error messages on failure
- Verifies output file exists and has content
Public
5.4k