Which nvidia card for transcoding nvenc/265? (ts-877)

DLNA, AirPlay, Chromecast, PS3, XBOX, iTunes, & other media players
User avatar
peelos
Been there, done that
Posts: 580
Joined: Sun Jun 26, 2016 9:28 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by peelos »

Plex forums are your best option..
NAS: TVS-1282-i7-7700-40G / 4 x 500GB SSD 2.5" RAID 10 / 2 x 500GB M.2 SSD / 8 x 12TB WD Whites 3.5" RAID 6 / Noctua L9x65 / 3 x 80mm PWM Noctua fans / Corsair 600W PSU / Asus Turbo GTX 1060 6GB GPU
Software: Plex Media Server / Transmission / Sonarr / Radarr / Bazarr / Jackett / Tautulli / Home Assistant / Resilio Sync / Python / NetData / SortMyQPKGs
pfSense Firewall / OpenVPN Server: QOTOM Fanless Mini PC / Core i5 / 8GB RAM / 128GB SSD / 4 Gigabit NICs / AES-NI
Wireless Routers: 2 x Netgear AC1900 R7000 Nighthawk / 1 x Netgear AC3200 R8000 Nighthawk / FreshTomato Firmware
User avatar
spikemixture
Been there, done that
Posts: 890
Joined: Wed Mar 07, 2018 11:04 pm
Location: 3rd World

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by spikemixture »

peelos wrote: Tue Feb 16, 2021 2:52 pm Plex forums are your best option..
My question is not exclusively Plex as I can't get the card to do ANYTHING ..
I run a lot of apps that you have listed so I am assuming we have similar interests.

Do YOU have your card doing anything ?
What? How? When? :DD
Qnap TS-1277 1700 (48gb RAM) 8x10TB WD White,- Raid5, 2x M.2 Crucial 1TB (Raid 1 VM),
2x SSD 860 EVO 500gb (Raid1 QTS), 2x SSD 860 EVO 250GB (Cache), 2x M.2 PCIe 970 500gb NVME (Raid1 Plex and Emby server)
GTX 1050 TI
Qnap TVS-1282 i7 (32GB RAM) 6x8TB WD White - JBOD, 2x M.2 Crucial 500gb (Raid1 VM),
2x SSD EVO 500gb (Raid1 QTS), 2x SSD EVO 250gb (Raid1 Cache), 2x M.2 PCIe Intel 512GB NVME (Raid1-Servers)
Synology -1817+ - DOA
Drobo 5n - 5x4TB Seagate, - Drobo Raid = 15TB
ProBox 8 Bay USB3 - 49TB mixed drives - JBOD
All software is updated asap.
I give my opinion from my experience i.e. I have (or had) that piece of equipment/software and used it! :roll:
mrbuckwheet
New here
Posts: 6
Joined: Mon Nov 22, 2021 1:26 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by mrbuckwheet »

peelos wrote: Sat Jul 04, 2020 6:11 am
lalaw wrote:
spikemixture wrote: Sat Apr 25, 2020 1:08 pm Looks like wmadoss has no answer - or anyone else..

Yes I know it can be done on a win10 machine but this is a QNAP Forum.....
So, big YMMV on this, but I actually just hacked the script from https://github.com/keylase/nvidia-patch and it seems to work on my TS-1277.

Here's the modified version:

Code: Select all

#!/bin/bash
# halt on any error for safety and proper pipe handling
set -euo pipefail ; # <- this semicolon and comment make options apply
# even when script is corrupt by CRLF line terminators (issue #75)
# empty line must follow this comment for immediate fail with CRLF newlines

backup_path="/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia/libnvidia-encode-backup"
silent_flag=''

print_usage() { printf '
SYNOPSIS
       patch.sh [-s] [-r|-h|-c VERSION|-l]

DESCRIPTION
       The patch for Nvidia drivers to remove NVENC session limit

       -s             Silent mode (No output)
       -r             Rollback to original (Restore lib from backup)
       -h             Print this help message
       -c VERSION     Check if version VERSION supported by this patch.
                      Returns true exit code (0) if version is supported.
       -l             List supported driver versions

'
}

# shellcheck disable=SC2209
opmode="patch"

while getopts 'rshc:l' flag; do
    case "${flag}" in
        r) opmode="${opmode}rollback" ;;
        s) silent_flag='true' ;;
        h) opmode="${opmode}help" ;;
        c) opmode="${opmode}checkversion" ; checked_version="$OPTARG" ;;
        l) opmode="${opmode}listversions" ;;
        *) echo "Incorrect option specified in command line" ; exit 2 ;;
    esac
done

if [[ $silent_flag ]]; then
    exec 1> /dev/null
fi

patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

object='libnvcuvid.so'

check_version_supported () {
    local ver="$1"
    [[ 1 ]]
}

get_supported_versions () {
    return 0
}

patch_common () {
    NVIDIA_SMI="$(command -v /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/bin/nvidia-smi || true)"
    if [[ ! "$NVIDIA_SMI" ]] ; then
        echo 'nvidia-smi utility not found. Probably driver is not installed.'
        exit 1
    fi

    ret_code=$?
    driver_version="418.56"
    if [[ $ret_code -ne 0 ]] ; then
        echo "Can not detect nvidia driver version."
        echo "CMD: \"$cmd\""
        echo "Result: \"$driver_versions_list\""
        echo "nvidia-smi retcode: $ret_code"
        exit 1
    fi

    echo "Detected nvidia driver version: $driver_version"

    if ! check_version_supported "$driver_version" ; then
        echo "Patch for this ($driver_version) nvidia driver not found."
        echo "Patch is available for versions: "
        get_supported_versions
        exit 1
    fi

    patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

    object='libnvcuvid.so'

    declare -a driver_locations=(
        '/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib'
	'/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia'
	'/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia.u18.04'
        "/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib/nvidia-${driver_version%%.*}"
    )

    dir_found=''
    for driver_dir in "${driver_locations[@]}" ; do
        if [[ -e "$driver_dir/$object.$driver_version" ]]; then
            dir_found='true'
            break
        fi
    done

    [[ "$dir_found" ]] || { echo "ERROR: cannot detect driver directory"; exit 1; }

}

rollback () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        cp -p "$backup_path/$object.$driver_version" \
           "$driver_dir/$object.$driver_version"
        echo "Restore from backup $object.$driver_version"
    else
        echo "Backup not found. Try to patch first."
        exit 1
    fi
}

patch () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        bkp_hash="$(sha1sum "$backup_path/$object.$driver_version" | cut -f1 -d\ )"
        drv_hash="$(sha1sum "$driver_dir/$object.$driver_version" | cut -f1 -d\ )"
        if [[ "$bkp_hash" != "$drv_hash" ]] ; then
            echo "Backup exists and driver file differ from backup. Skipping patch."
            return 0
        fi
    else
        echo "Attention! Backup not found. Copying current $object to backup."
        mkdir -p "$backup_path"
        cp -p "$driver_dir/$object.$driver_version" \
           "$backup_path/$object.$driver_version"
    fi
    sha1sum "$backup_path/$object.$driver_version"
    sed "$patch" "$backup_path/$object.$driver_version" > \
      "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    sha1sum "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    ldconfig
    echo "Patched!"
}

query_version_support () {
    if check_version_supported "$checked_version" ; then
        echo "SUPPORTED"
        exit 0
    else
        echo "NOT SUPPORTED"
        exit 1
    fi
}

list_supported_versions () {
    get_supported_versions
}

case "${opmode}" in

    patch) patch ;;
    patchrollback) rollback ;;
    patchhelp) print_usage ; exit 2 ;;
    patchcheckversion) query_version_support ;;
    patchlistversions) list_supported_versions ;;
    *) echo "Incorrect combination of flags. Use option -h to get help."
       exit 2 ;;
esac

Summary of changes:
1. Changed some paths around to support the weird location of the Nvidia GPU driver.
2. bash was throwing errors with the default Hash table, so I ended up having to hard-code the driver version.
3. Had to update references to the above hash tables to instead use my hard coded patch and object.

Anyway, big hack, but it seems to work for me. It will probably work for you if your drivers are installed in a similar location and are at the same level.
Many thanks, is this still working? Presume it will need running again or adapting if new nvidia drivers are released in future?
Do you have the updated version of this script for current drivers? Tried modding your file and running this script but coding skills are subpar. Pointing the lib directories are only give me errors. Any help is appreciated
diabloss
Starting out
Posts: 16
Joined: Fri Oct 02, 2015 3:30 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by diabloss »

@mrbuckwheet
1) download the keylase package
2) edit patch.sh remove everything and add script code bellow then save
3) run the script with this command bash ./patch.sh
4) enjoy.
Side Note , pay attention to the driver version (sadly when the drivers changes the whole process need to be remade with changing the driver version inside the script)
Run couple of plex instances with transcode on then:
For testing run these 2 commands:
cd /opt/NVIDIA_GPU_DRV/usr/bin
Then run this command:
LD_PRELOAD=/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib/libnvidia-ml.so ./nvidia-smi

Script patch.sh

Code: Select all

#!/bin/bash
# halt on any error for safety and proper pipe handling
set -euo pipefail ; # <- this semicolon and comment make options apply
# even when script is corrupt by CRLF line terminators (issue #75)
# empty line must follow this comment for immediate fail with CRLF newlines

backup_path="/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia/libnvidia-encode-backup"
silent_flag=''

print_usage() { printf '
SYNOPSIS
       patch.sh [-s] [-r|-h|-c VERSION|-l]

DESCRIPTION
       The patch for Nvidia drivers to remove NVENC session limit

       -s             Silent mode (No output)
       -r             Rollback to original (Restore lib from backup)
       -h             Print this help message
       -c VERSION     Check if version VERSION supported by this patch.
                      Returns true exit code (0) if version is supported.
       -l             List supported driver versions

'
}

# shellcheck disable=SC2209
opmode="patch"

while getopts 'rshc:l' flag; do
    case "${flag}" in
        r) opmode="${opmode}rollback" ;;
        s) silent_flag='true' ;;
        h) opmode="${opmode}help" ;;
        c) opmode="${opmode}checkversion" ; checked_version="$OPTARG" ;;
        l) opmode="${opmode}listversions" ;;
        *) echo "Incorrect option specified in command line" ; exit 2 ;;
    esac
done

if [[ $silent_flag ]]; then
    exec 1> /dev/null
fi

patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

object='libnvcuvid.so'

check_version_supported () {
    local ver="$1"
    [[ 1 ]]
}

get_supported_versions () {
    return 0
}

patch_common () {
    NVIDIA_SMI="$(command -v /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/bin/nvidia-smi || true)"
    if [[ ! "$NVIDIA_SMI" ]] ; then
        echo 'nvidia-smi utility not found. Probably driver is not installed.'
        exit 1
    fi

    ret_code=$?
    driver_version="460.39"
    if [[ $ret_code -ne 0 ]] ; then
        echo "Can not detect nvidia driver version."
        echo "CMD: \"$cmd\""
        echo "Result: \"$driver_versions_list\""
        echo "nvidia-smi retcode: $ret_code"
        exit 1
    fi

    echo "Detected nvidia driver version: $driver_version"

    if ! check_version_supported "$driver_version" ; then
        echo "Patch for this ($driver_version) nvidia driver not found."
        echo "Patch is available for versions: "
        get_supported_versions
        exit 1
    fi

    patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

    object='libnvcuvid.so'

    declare -a driver_locations=(
        '/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib'
	'/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia'
	'/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia.u18.04'
        "/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib/nvidia-${driver_version%%.*}"
    )

    dir_found=''
    for driver_dir in "${driver_locations[@]}" ; do
        if [[ -e "$driver_dir/$object.$driver_version" ]]; then
            dir_found='true'
            break
        fi
    done

    [[ "$dir_found" ]] || { echo "ERROR: cannot detect driver directory"; exit 1; }

}

rollback () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        cp -p "$backup_path/$object.$driver_version" \
           "$driver_dir/$object.$driver_version"
        echo "Restore from backup $object.$driver_version"
    else
        echo "Backup not found. Try to patch first."
        exit 1
    fi
}

patch () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        bkp_hash="$(sha1sum "$backup_path/$object.$driver_version" | cut -f1 -d\ )"
        drv_hash="$(sha1sum "$driver_dir/$object.$driver_version" | cut -f1 -d\ )"
        if [[ "$bkp_hash" != "$drv_hash" ]] ; then
            echo "Backup exists and driver file differ from backup. Skipping patch."
            return 0
        fi
    else
        echo "Attention! Backup not found. Copying current $object to backup."
        mkdir -p "$backup_path"
        cp -p "$driver_dir/$object.$driver_version" \
           "$backup_path/$object.$driver_version"
    fi
    sha1sum "$backup_path/$object.$driver_version"
    sed "$patch" "$backup_path/$object.$driver_version" > \
      "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    sha1sum "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    ldconfig
    echo "Patched!"
}

query_version_support () {
    if check_version_supported "$checked_version" ; then
        echo "SUPPORTED"
        exit 0
    else
        echo "NOT SUPPORTED"
        exit 1
    fi
}

list_supported_versions () {
    get_supported_versions
}

case "${opmode}" in

    patch) patch ;;
    patchrollback) rollback ;;
    patchhelp) print_usage ; exit 2 ;;
    patchcheckversion) query_version_support ;;
    patchlistversions) list_supported_versions ;;
    *) echo "Incorrect combination of flags. Use option -h to get help."
       exit 2 ;;
esac
gekko44
Starting out
Posts: 15
Joined: Mon Feb 22, 2016 4:11 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by gekko44 »

Apologies for digging this old thread (and might be an offtopic but still...) trying to follow @diabloss guise and I'm stuck on 3) while running it (putty, admin acc, changed path to match mine) got

Code: Select all

: command not found
and I'm stuck...any ideas?

TVS-872X and QuTS hero

EDIT:
apparently some text coding isues - fixed with https://dos2unix.sourceforge.io/
Last edited by gekko44 on Sun Jul 31, 2022 12:06 am, edited 1 time in total.
User avatar
dolbyman
Guru
Posts: 35231
Joined: Sat Feb 12, 2011 2:11 am
Location: Vancouver BC , Canada

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by dolbyman »

what editor did you try?..no command was given(neither by him nor by you) ..he only said "edit"
gekko44
Starting out
Posts: 15
Joined: Mon Feb 22, 2016 4:11 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by gekko44 »

Apparently windows/dos vs unix coding - fixed with https://dos2unix.sourceforge.io/

Thanks!
TD316
New here
Posts: 3
Joined: Sat Sep 16, 2023 6:41 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by TD316 »

Unfortunately I'm not really getting anywhere with the script. I had to adjust the paths because of QuTS hero, unfortunately my driver is not recognized.


"ERROR: cannot detect driver directory"

In the folder /share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/bin folder I can run the nvidia-smi and get the following message:

NVIDIA-SMI 515.48.07
Driver Version: 515.48.07
CUDA Version: 11.7




Script:

Code: Select all

#!/bin/bash
# halt on any error for safety and proper pipe handling
set -euo pipefail ; # <- this semicolon and comment make options apply
# even when script is corrupt by CRLF line terminators (issue #75)
# empty line must follow this comment for immediate fail with CRLF newlines

backup_path="/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia/libnvidia-encode-backup"
silent_flag=''

print_usage() { printf '
SYNOPSIS
       patch.sh [-s] [-r|-h|-c VERSION|-l]

DESCRIPTION
       The patch for Nvidia drivers to remove NVENC session limit

       -s             Silent mode (No output)
       -r             Rollback to original (Restore lib from backup)
       -h             Print this help message
       -c VERSION     Check if version VERSION supported by this patch.
                      Returns true exit code (0) if version is supported.
       -l             List supported driver versions

'
}

# shellcheck disable=SC2209
opmode="patch"

while getopts 'rshc:l' flag; do
    case "${flag}" in
        r) opmode="${opmode}rollback" ;;
        s) silent_flag='true' ;;
        h) opmode="${opmode}help" ;;
        c) opmode="${opmode}checkversion" ; checked_version="$OPTARG" ;;
        l) opmode="${opmode}listversions" ;;
        *) echo "Incorrect option specified in command line" ; exit 2 ;;
    esac
done

if [[ $silent_flag ]]; then
    exec 1> /dev/null
fi

patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

object='libnvcuvid.so'

check_version_supported () {
    local ver="$1"
    [[ 1 ]]
}

get_supported_versions () {
    return 0
}

patch_common () {
    NVIDIA_SMI="$(command -v /share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/bin/nvidia-smi || true)"
    if [[ ! "$NVIDIA_SMI" ]] ; then
        echo 'nvidia-smi utility not found. Probably driver is not installed.'
        exit 1
    fi

    ret_code=$?
    driver_version="460.39"
    if [[ $ret_code -ne 0 ]] ; then
        echo "Can not detect nvidia driver version."
        echo "CMD: \"$cmd\""
        echo "Result: \"$driver_versions_list\""
        echo "nvidia-smi retcode: $ret_code"
        exit 1
    fi

    echo "Detected nvidia driver version: $driver_version"

    if ! check_version_supported "$driver_version" ; then
        echo "Patch for this ($driver_version) nvidia driver not found."
        echo "Patch is available for versions: "
        get_supported_versions
        exit 1
    fi

    patch='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'

    object='libnvcuvid.so'

    declare -a driver_locations=(
        '/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib'
	'/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia'
	'/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/nvidia.u18.04'
        "/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr/lib/nvidia-${driver_version%%.*}"
    )

    dir_found=''
    for driver_dir in "${driver_locations[@]}" ; do
        if [[ -e "$driver_dir/$object.$driver_version" ]]; then
            dir_found='true'
            break
        fi
    done

    [[ "$dir_found" ]] || { echo "ERROR: cannot detect driver directory"; exit 1; }

}

rollback () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        cp -p "$backup_path/$object.$driver_version" \
           "$driver_dir/$object.$driver_version"
        echo "Restore from backup $object.$driver_version"
    else
        echo "Backup not found. Try to patch first."
        exit 1
    fi
}

patch () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version" ]]; then
        bkp_hash="$(sha1sum "$backup_path/$object.$driver_version" | cut -f1 -d\ )"
        drv_hash="$(sha1sum "$driver_dir/$object.$driver_version" | cut -f1 -d\ )"
        if [[ "$bkp_hash" != "$drv_hash" ]] ; then
            echo "Backup exists and driver file differ from backup. Skipping patch."
            return 0
        fi
    else
        echo "Attention! Backup not found. Copying current $object to backup."
        mkdir -p "$backup_path"
        cp -p "$driver_dir/$object.$driver_version" \
           "$backup_path/$object.$driver_version"
    fi
    sha1sum "$backup_path/$object.$driver_version"
    sed "$patch" "$backup_path/$object.$driver_version" > \
      "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    sha1sum "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    ldconfig
    echo "Patched!"
}

query_version_support () {
    if check_version_supported "$checked_version" ; then
        echo "SUPPORTED"
        exit 0
    else
        echo "NOT SUPPORTED"
        exit 1
    fi
}

list_supported_versions () {
    get_supported_versions
}

case "${opmode}" in

    patch) patch ;;
    patchrollback) rollback ;;
    patchhelp) print_usage ; exit 2 ;;
    patchcheckversion) query_version_support ;;
    patchlistversions) list_supported_versions ;;
    *) echo "Incorrect combination of flags. Use option -h to get help."
       exit 2 ;;
esac
TD316
New here
Posts: 3
Joined: Sat Sep 16, 2023 6:41 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by TD316 »

Any news here?
User avatar
dolbyman
Guru
Posts: 35231
Joined: Sat Feb 12, 2011 2:11 am
Location: Vancouver BC , Canada

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by dolbyman »

Best to check with QNAP support via ticket
TD316
New here
Posts: 3
Joined: Sat Sep 16, 2023 6:41 pm

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by TD316 »

Hello dolbyman, why should QNAP help me here? Sorry, I do not understand.

It's about script adaptation for QUTS. Unfortunately I don't know which paths I should set here. The script seems to be only for QTS.

Maybe @diabloss could help here. It would be really great if I could use that too. Thank you
User avatar
dolbyman
Guru
Posts: 35231
Joined: Sat Feb 12, 2011 2:11 am
Location: Vancouver BC , Canada

Re: Which nvidia card for transcoding nvenc/265? (ts-877)

Post by dolbyman »

Why wouldn't QNAP help?
It's their product and they support it.

Banking on the help of a forum member that hasn't posted in 12 month, might be a stretch (still possible though)
Post Reply

Return to “Media Streaming”