Transcoding with FFMPEG and NVIDIA GPU - Bottleneck

Useful and helpful Windows specific command line samples and examples.
Post Reply
lsonzogni
Posts: 1
Joined: Fri May 31, 2019 12:21 pm

Transcoding with FFMPEG and NVIDIA GPU - Bottleneck

Post by lsonzogni » Fri May 31, 2019 12:37 pm

Hello people,

I'm using a NVIDIA P2000 and FFMPEG for transcoding .
I whant to reach 20 TV Channels (live) transcoded to 3 ABR profiles each (360p,480p,720p)
I PULL video from Digital TV HeadEnd (mpegts over UDP).
Actually i have 14 Channels working OK and when i try to start transcoding #15 some channels begins to broken his video quallity
I have doubts about what is considered "GPU Bootleneck"

I read some DOCS, like this: http://on-demand.gputechconf.com/gtc/20 ... logies.pdf
, in page 35 (ANALYZING PERFORMANCE BOTTLENECKS) i understand that 90%, 99% is considered GPU Botelneck

So, in my scenary i have 65% for Encoding and %70 for Decoding (mesured with "nvidia-smi dmon")

This is what i have in my transcoder box:

- GPU Nvidia P2000
  • - Main CPU Intel i7-8700 CPU @ 3.20GHz
    - O.S. Linux Ubuntu 18.04.1 LTS (bionic)
    - Kernel:
    Linux wiltel 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
- FFMPEG downloaded and compiled from NVIDIA
ffmpeg version N-93005-gd92f06eb66 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)

- Drivers downloaded and compiled from NVIDIA
filename: /lib/modules/4.15.0-43-generic/updates/dkms/nvidia.ko
alias: char-major-195-*
version: 410.79
supported: external
license: NVIDIA
srcversion: 1283EC37DF82D5A8A902589

filename: /lib/modules/4.15.0-43-generic/updates/dkms/nvidia-drm.ko
version: 410.79
supported: external
license: MIT
srcversion: 68386DCC84A5B791B6EEC80

This is my FFMPEG command:

/nvidia/ffmpeg/ffmpeg -re -vsync 0 -hwaccel cuvid -c:v h264_cuvid -deint 2 -drop_second_field 1 -i rtmp://localhost:1935/wtl/fc8an-glhik-j2poa-133i3 \
-vf scale_npp=1280:720 -c:a aac -c:v h264_nvenc -profile:v baseline -preset fast -level 4.1 -b:v 2500k -g 118.000 -f flv rtmp://10.1.10.30:1935/wtl-hd-dvr/fc8an-glhik-j2poa-133i3_720p \
-vf scale_npp=854:480 -c:a aac -c:v h264_nvenc -profile:v baseline -preset fast -level 4.1 -b:v 1500k -g 118.000 -f flv rtmp://10.1.10.30:1935/wtl-hd-dvr/fc8an-glhik-j2poa-133i3_480p \
-vf scale_npp=640:360 -c:a aac -c:v h264_nvenc -profile:v baseline -preset fast -level 4.1 -b:v 750k -g 118.000 -f flv rtmp://10.1.10.30:1935/wtl-hd-dvr/fc8an-glhik-j2poa-133i3_360p \
-nostats -loglevel 0&
  • - If i use preset "hp" the video quality suffers
    - If i dont deinterlace....the video quality suffers
    - If i use level 4.0.....the video quality suffers

I missed something???.....must i agregate some filter for best GPU performance???

Thanks to all !!!

Post Reply