Convert extracted clip buffers into compressed media files suitable for storage and training workflows using encoders. NeMo Curator provides both CPU and GPU-based encoders.
If you only need embeddings or analysis and do not require saved media files, you can skip encoding. When writing clips, NeMo Curator produces .mp4 by default.
Use the pipeline stage or the example script flags to encode clips with CPU or GPU encoders.
On systems with supported NVIDIA GPU hardware and an ffmpeg build with NVENC, h264_nvenc can significantly increase throughput. Refer to the verification steps below to confirm NVENC availability. On GPUs without an NVENC encoder block (such as A100 and H100), use libvpx-vp9 instead — it runs entirely on CPU and has no proprietary licensing constraints.
Need software H.264 (libopenh264 / libx264)? Curator’s default FFmpeg build excludes them for licensing reasons. The fastest path inside the container is the bundled installer:
For other paths (system FFmpeg, custom image rebuild) see Software H.264/HEVC/AV1 Codec Support.
Got SoftwareCodecMissingError on an h264 input? Curator’s CPU-only VideoReader and ClipWriter stages call ffprobe, which needs a software h264 decoder — not available in the default NVDEC-only build. Install software decoder support with bash /opt/Curator/docker/common/install_h264_support.sh, or pick a transcode encoder whose output codec the system FFmpeg can software-decode (e.g., --transcode-encoder libvpx-vp9). See Software H.264/HEVC/AV1 Codec Support.
ffmpeg/NVENC SupportTo use h264_nvenc, confirm that your ffmpeg build includes NVENC support and install the GPU drivers:
Expected output includes entries like V..... h264_nvenc and cuda in the hardware accelerators list. If not present, install an ffmpeg build with NVENC and ensure NVIDIA drivers and CUDA are available.
Use ClipTranscodingStage to control encoder choice, batching, and acceleration:
Refer to the quickstart options in Get Started with Video Curation for command-line flags --transcode-encoder and --transcode-use-hwaccel.
ffmpeg build may lack the encoder; verify with ffmpeg -encoders.nvidia-smi.use_input_bit_rate.