Desktop GPU encoding using gstreamer in WINDOWS

I have developed the gstreamer GPU encoding on Nvidia Jetson Tx2. but now i am trying for Desktop Nvidia GPU encoding using gstreamer.

I am not able get “omxh264enc” / "nvenc"in the listed supported elements using “gst-inspect-1.0.exe”.

so, i want to do hardware encoding on* desktop GPU* using Gstreamer. similar like ffmpegs (nvenc_h264)

Kindly guide me in right direction, or any sample command line or program for desktop gpu supported encoding. Note: i am trying on laptop gpu + visual studio 2015

Regards,
adi

NVENC isn’t included in the compiled gstreamer available on freedesktop, I believe due to some license issues. You’ll need to compile the NVENC plugin yourself, which can be found at: https://github.com/GStreamer/gst-plugins-bad/tree/master/sys/nvenc

I have compiled gstreamer from source and created the .exe but in gst-plugins-bad I am not able to enable the cuda,cuvid, nvenc and nvdec.
Actually , How to set the path of nvidia SDK and cuda toolkit while build gst-plugins-bad ?

This is the compilation log file

configure: *** checking feature: NVIDIA CUDA API ***
checking for CUDA… no
checking for CUDA… no
checking for CUDA… no
checking for CUDA… no
checking for CUDA… no
checking for CUDA… no
checking for CUDA… no
configure: WARNING: Could not find cuda headers/libraries
checking dynlink_cuda.h usability… no
checking dynlink_cuda.h presence… no
checking for dynlink_cuda.h… no
configure: WARNING: Could not find dynlink_cuda.h
checking cuda.h usability… no
checking cuda.h presence… no
checking for cuda.h… no
configure: WARNING: Could not find cuda.h
checking cuda_runtime_api.h usability… no
checking cuda_runtime_api.h presence… no
checking for cuda_runtime_api.h… no
configure: WARNING: Could not find cuda_runtime_api.h
checking for cudaGetErrorString in -lcudart… no
configure: WARNING: Could not find cudart library
checking for cuInit in -lcuda… no
configure: WARNING: Could not find cuda library

configure: *** checking feature: nvdec ***
configure: *** for plug-ins: nvdec ***
checking nvcuvid.h usability… no
checking nvcuvid.h presence… no
checking for nvcuvid.h… no
configure: WARNING: Could not find nvcuvid.h
checking dynlink_nvcuvid.h usability… no
checking dynlink_nvcuvid.h presence… no
checking for dynlink_nvcuvid.h… no
configure: WARNING: Could not find dynlink_nvcuvid.h
checking for cuvidCtxLock in -lnvcuvid… no
configure: WARNING: Could not find library nvcuvid
configure: *** These plugins will not be built: nvdec

configure: *** checking feature: NVIDIA Encode API ***
configure: *** for plug-ins: nvenc ***
checking nvEncodeAPI.h usability… no
checking nvEncodeAPI.h presence… no
checking for nvEncodeAPI.h… no
configure: WARNING: Could not find nvEncodeAPI.h
checking for NvEncodeAPICreateInstance in -lnvidia-encode… no
configure: WARNING: Could not find library nvidia-encode
configure: *** These plugins will not be built: nvenc

Honestly, I’m not sure. Usually I just open the plugin I’m interested in with VS directly, and set the include / linker dirs myself. You may have better luck asking this on the Gstreamer developers mailing list, or in the IRC.

Anyone with a how-to for compiling the nvenc plugin on Ubuntu 18.04LTS and gstreamer 1.14.1

The github readme kinda says how, but for relative noobs it doesn’t go the whole way to explaining how to do it.