-threads 0 | Sets the number of threads for processing. 0 lets FFmpeg decide the number of threads based on the available CPU cores. |
-re | Makes FFmpeg read input in real time rather than as fast as possible. This makes the generated input match playback speed. |
-f lavfi | Specifies the lavfi input format so FFmpeg generates input with a filter instead of reading an external file or stream. |
-i testsrc=rate=30:size=1920x1080,format=yuv420p | Generates a test pattern at 30 frames per second with a resolution of 1920x1080 and a YUV 4:2:0 pixel format. |
-f lavfi -i "sine=frequency=150:sample_rate=48000:beep_factor=2" | Generates a 150 Hz audio tone at a 48 kHz sample rate. beep_factor=2 adds breaks instead of producing a continuous tone. |
-c:a aac | Sets the audio codec to AAC, a widely used audio compression format. |
-ab 48k | Sets the audio bitrate to 48 kbps. |
-ac 2 | Sets the number of audio channels to 2 (stereo). |
-ar 48000 | Sets the audio sample rate to 48 kHz. |
-c:v libx264 | Sets the video codec to H.264 using libx264, which is efficient and compatible with most streaming platforms. |
-preset:v fast | Uses the fast libx264 encoding preset. |
-b:v 500k | Sets the target video bitrate to 500 kbps. |
-minrate 500k -maxrate 500k -bufsize 500k | Sets the minimum rate, maximum rate, and buffer size to 500 kbps for constant-bitrate output. |
-r 30 | Sets the output frame rate to 30 fps, matching the input video frame rate. |
-g 60 -keyint_min 60 | Sets the group of pictures (GOP) length and minimum keyframe interval to 60 frames. This produces a keyframe every two seconds at 30 fps. Match this value to the Input key frame interval in MK.IO. |
-sc_threshold 0 | Sets the scene change threshold to 0 so FFmpeg does not add keyframes for scene changes. This keeps the GOP structure stable. |
-f flv | Specifies the output format as flv, which is commonly used for streaming to RTMP servers. |
rtmp://... | Specifies the RTMP server URL. Paste the Input URL provided after you start the live event. |