Skip to main content

Encoding Profiles

Encoding profiles define how streams are transcoded.

Creating a Profile

Go to Admin > Encoding Profiles and click Add Profile.

Basic Settings

SettingDescription
NameProfile identifier
Video CodecOutput video codec (h264, hevc, vp9, av1)
Audio CodecOutput audio codec (aac, opus, ac3)
ResolutionOutput resolution (1920x1080, 1280x720, etc.)

Video Settings

SettingDescriptionExample
BitrateTarget video bitrate4000k, 8000k
Max BitrateMaximum bitrate (VBR)6000k
CRF/CQQuality target (lower = better)23
PresetEncoding speed/quality tradeoffmedium, fast
ProfileH.264/HEVC profilemain, high

Audio Settings

SettingDescriptionExample
BitrateAudio bitrate128k, 192k
Sample RateAudio sample rate48000
ChannelsChannel count2 (stereo)

Common Profiles

High Quality (1080p)

Video: h264 @ 8000kbps, 1920x1080
Audio: aac @ 192kbps, stereo

Mobile (720p)

Video: h264 @ 2500kbps, 1280x720
Audio: aac @ 128kbps, stereo

Low Bandwidth (480p)

Video: h264 @ 1000kbps, 854x480
Audio: aac @ 96kbps, stereo

Passthrough

A "passthrough" profile copies streams without re-encoding:

Video: copy (no transcode)
Audio: copy (no transcode)

Hardware Encoder Selection

When hardware acceleration is available, tvarr can use hardware encoders:

CodecSoftwareNVENCVAAPIQSV
H.264libx264h264_nvench264_vaapih264_qsv
HEVClibx265hevc_nvenchevc_vaapihevc_qsv
VP9libvpx-vp9-vp9_vaapivp9_qsv
AV1libaom-av1av1_nvencav1_vaapiav1_qsv

tvarr automatically selects the best available encoder based on detected hardware.

Linking to Clients

Profiles are used by:

  1. Default - Set a default profile for all streams
  2. Client Detection - Assign profiles based on device type
  3. Manual - Players can request specific profiles via query parameters