Our company is looking for a developer to make a change to libvlc to support passing GPU selection options to avcodec.
Here's what I understand about the problem.
ffmpeg can use two options to select the GPU that it wants to use for decode and encode. -hwaccel_device -gpu
Here's an example I tried with ffmpeg that I could control the encode but not the decode (the -hwaccel_device didn't do anything but the -gpu option after the nvenc... command did work.
Code: Select all
ffmpeg -hwaccel_device 1 -c:v h264_cuvid -i rtsp://admin:admin@192.168.0.87:554/stream0 -threads 1 -c:v h264_nvenc -gpu 1 -f mpegts udp://238.1.1.1:10101
Code: Select all
ffmpeg -gpu 1 -c:v h264_cuvid -i rtsp://admin:admin@192.168.0.87:554/stream0 -threads 1 -c:v h264_nvenc -gpu 1 -f mpegts udp://238.1.1.1:10101
I was hoping to use the --avcodec-options command line options along with the -gpu i option for ffmpeg. However according to this topic:
How to load balance decoding on multiple GPUs? located here [url]https://forum.videolan.org/viewtopic.php?f=32&t=145015[/url]
VLC doesn't currently support passing these types of parameters to the ffmpeg avcodec library. I can confirm this from experience.
Code: Select all
vlc --avcodec_options="{gpu=0}" rtsp://admin:admin@192.168.0.87:554/stream0
Please contact me if you are interested in doing the work. This is a development job for money - if the result is suitable for use in the VLC project then great otherwise we will use the version we get and not redistribute it. Also the time is pretty tight - we are using this application to preview loads on various hardware configurations for use with a production system that is still under development and isn't finished so we can't use it to determine the size of the hardware systems. We have to commit to a hardware configuration soon that is why we are building this test tool.