tenente As an alternative to recompiling TVHeadend and using stream profiles, you may be able to use ffmpeg in a "pipe://" command as described here:
Custom MPEG-TS Input
I don't have a TBS or NVIDIA card, but when I set up a channel for transcoding, I actually set up two channels for it. The first channel was just the regular passthrough stream (no transcoding) directly from my TV adapter; I granted access to this first channel to my LAN user and to an anonymous local user (see How configure users to access playlist in local network without authentification for example).
The second channel was an IPTV stream using ffmpeg in a "pipe://" command, using the first channel's TVHeadend stream URL (via the anonymous local user) as its ffmpeg input. Then it used ffmpeg's hardware-accelerated transcode options before returning its output to TVHeadend as a MPEG-TS pipe. I granted access to this second transcoded channel to any remote TVHeadend user accounts.
That way, I didn't have to worry about recompiling TVHeadend or changing stream profiles.