Hi,
Thanks I am really liking ETV so far.
I am finding that I can only get hardware encoding functioning when my channel is configed to use HLS direct, this sometimes means when the channel changes program there is a hand over problem.
I get better playback using MPEG-TS, but would prefer to leverage GPU encoding for a few reasons.

Here are the Nvidia capabilities:
ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --disable-debug --disable-doc --disable-ffplay --enable-ffprobe --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-fontconfig --enable-gpl --enable-libaom --enable-libdav1d --enable-libass --enable-libfdk_aac --enable-libfreetype --enable-libkvazaar --enable-libmp3lame --enable-libnpp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libsrt --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-nonfree --enable-nvdec --enable-nvenc --enable-opencl --enable-openssl --enable-small --enable-stripping --enable-vaapi --enable-vdpau --enable-version3 --extra-cflags='-I/tmp/ffnvcodec/include/ffnvcodec -I/usr/local/cuda/include/' --extra-ldflags='-L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/' --extra-libs=-ldl --extra-libs=-lpthread
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, lavfi, from 'nullsrc':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: wrapped_avframe, yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (h264_nvenc))
Press [q] to stop, [?] for help
[h264_nvenc @ 0x55ae19bd4f00] [ GPU #0 - < NVIDIA RTX A2000 > has Compute SM 8.6 ]
[vost#0:0/h264_nvenc @ 0x55ae19bd4ac0] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
Error while filtering: Immediate exit requested
[out#0/null @ 0x55ae19bd3940] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=N/A bitrate=N/A speed=N/A

Let me know if I can provide more info

I figured this out.

I had to create a new ffmpeg profile that uses nvenc and apply that to mpeg-ts

10 days later

To clarify - HLS Direct will never use hardware acceleration; the FFmpeg Profile is ignored. To use the settings from the FFmpeg Profile, a different streaming mode must be configured on the channel.

    jason
    That's not quite accurate, or at least that is not how ETV is reporting it.

    If I set a channel to HLS-Direct the etv health check shows that the channel assigned with HLS-Direct is utilizing hardware encoding, but that channel then has issues with switching from one program to the next and it does not display the currently playing info.

    Whereas when I had channels set to MPEG-TS and hadn't set a profile to leverage NVENC I would see those channels in the health check as showing not being hardware accelerated.

    This is why I posted about only HLS-Direct utilizing NVENC initially.

    Are you using Plex as a client? Plex does not support HLS Direct and ETV ignores the channel setting and forces it to use MPEG-TS streaming mode, which is the only compatible mode, because Plex only supports HDHomeRun tuners, so ETV needs to act exactly like one for Plex.

      a month later

      jason

      NO, I am using Emby with M3U and XML Tuner plugins.

      I got distracted trying out another plugin, and almost forgot about this.
      My libraries are streaming direct from disc, I thought that doing the emby to ETV back to emby was not as efficient ¯_(ツ)_/¯

      I Like the HLS-Direct as it lets the client handle the transcoding etc, as/if needed, but the handover between programs isn't great.
      MPEG-TS is the most reliable, but you get less info
      I am using the updated HLS-Segment and it's been good. You get the now playing info and apart from some transcoding stuff i am still tweaking it seems pretty solid

      Is there a way to do tonemapping?
      or should I just keep HDR things separate?