.. Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. NVIDIA CORPORATION and its licensors retain all intellectual property and proprietary rights in and to this software, related documentation and any modifications thereto. Any use, reproduction, disclosure or distribution of this software and related documentation without an express license agreement from NVIDIA CORPORATION is strictly prohibited. .. _VideoEncoderExtension: VideoEncoderExtension --------------------- NVIDIA GXF component for H.264 video encode. The video encoder GXF extension is based on V4L2 APIs. It uses the hardware video encode engine on the platform by interfacing with V4L2 APIs. It gives out elimetary H.264 bit stream. The extension has dependency on nvidia v4l2 driver package (nvv4l2.deb) for x86 platform. Please install v4l2 driver package on x86 system before running pipelines. The nvv4l2 packages are stored in artifactory at https://urm.nvidia.com/ui/native/sw-isaac-gxf-generic-local/dependencies/internal/multimedia/ We can select package depending on the platform config. .. list-table:: nvv4l2 Package :widths: 25 25 :header-rows: 1 * - Package Name - Config * - nvv4l2_x86_ds-6.1.deb - x86_64_cuda_11_6 * - nvv4l2_x86_ds-6.1.deb - x86_64_cuda_11_7 * - nvv4l2_x86_ds-6.2.deb - x86_64_cuda_11_8 * - NA - Other * UUID: ea5c44e4-15db-4448-a3a6-f32004303338 * Version: 0.0.1 * Author: NVIDIA * License: Proprietary Components ~~~~~~~~~~~~ nvidia::gxf::VideoEncoder ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Encode ``H.264`` video streams using ``V4l2`` APIs. * Component ID: b0661bf2-7ef2-47f5-a271-0b0931339ba6 * Base Type: nvidia::gxf::VideoEncoder Parameters ++++++++++++ **input_frame** Receiver to get the input video Buffer(input frame data) * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_HANDLE * Handle Type: nvidia::gxf::Receiver | **output_transmitter** Transmitter to publish the compressed data(output tensor) * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_HANDLE * Handle Type: nvidia::gxf::Transmitter | **pool** Memory pool for allocating output data(tensor). * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_HANDLE * Handle Type: nvidia::gxf::Allocator | **inbuf_storage_type** Input buffer storage type Valid values: 0: Host memory 1: Device memory * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 | **outbuf_storage_type** Output buffer storage type Valid values: 0: Host memory 1: Device memory * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 | **Device** Path to the V4L2 device, * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_STRING * Default: "/dev/nvidia0" | **codec** Video codec to be used Valid values: 0: H.264 codec * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 * Default: 0 | **input_height** Input frame height * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_UINT32 | **input_width** Input frame width * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_UINT32 | **input_format** Input frame color format * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_STRING Valid values: nv12pl: NV12(YUV420) pitch linear format | **profile** Encode profile Valid values: 0: Baseline Profile 1: MainProfile 2: High Profile * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 | **bitrate** Bitrate of the encoded stream, in bits per second * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 * Default: 20000000 | **framerate** Frame rate (frames per second) * Flags: GXF_PARAMETER_FLAGS_NONE * Type: GXF_PARAMETER_TYPE_INT32 * Default: 30