• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Tvheadend Transcoding GPU
#1
Transcoding pomocí GPU

Projel jsem snad všechno na googlu a strávil jsem pár týdnu, než se mi podařilo dát tak nějak dohromady transcodování pomocí GPU na mé NVIDIA M4000 8GB co se mi válela v šuplíku.
Předem podotýkám, že vše prováděno na UBUNTU 18.!
Základ: měl jsem nainstalovanou verzy unstable 4.3.....
        udelal jsem novou kompilaci TVH s podporou cuda nvenc a atd..... -dá se najít přímo na stránkach TVH jak na to.
        a nainstaloval jsem na stávající verzy TVH - nestratil jsem přitom žádné data , jako user pass a atd.Vše zůstalo.
        Jen přibylo v nastavení Stream-CODEC Profiles možnost přidat profil hevc_nvenc: NVIDIA NVENC hevc encoder a h264_nvenc: NVIDIA NVENC H.264 encoder
 
Super, ale po té velké zklamání  

Pokud si totiž budete hrát s nastavením, zjistíte jako já, že veškerou práci dělá NVIDIA.
To by nebylo nic špatného,,,,ale,,,, některé parametry v nastavení jakoby ignorovala, nebo se zasekávala a nebo nejdou nastavit.
Pokud třeba zapnete dva nebo vice kanalu dojde ke krachu.... :-( Přitom jak se zdá, tak třeba pomocí přikazu nvidia-smi se grafárna fláká jako blázen.
CPU dělá taky jako by nic :-) jen malinkej narůst, který je naprosto zanedbatelný.
Potom sem si všiml, že pokud pustím tři kanály, tak NVIDIA má pouze jeden požadavek -ffmpegu- ve které jedou tři streamy.
A zase GOOGL :-)
 Naštestí je ještě v TVH -Streams-Stream Profile- možnost přidat MPEG-TS Spawn/built-in  a oto jde :-)
Je to super profil pro nás, ale má i jednu nevíhodu.
Ta nevýhoda je že tento profil nevrací transcodované video zpět do TVH.. pro pochopení pokud se budete koukat pomoci KODI, tak se ten profil neaktivuje !!!!
Museli by jste v kodi použit simple iptv player. VLC s tím nemá problém a atd...

Výhoda?? Užasná--------

můžete si vlastně hrát jak se Vám zlíbí :-)))))
V tomto profilu najdete políčko Command line:  kde můžete zadat FFMPEG parametry, nebo odkaz třeba na nějaký /.sh 
Můžete třeba rozdělit jestli při transc. budete částečně zatežovat CPU a GPU součastně.
Každý proces jede samostatně na GPU a tím Vám nežuchnou všechny kanály na jednou :-))))
Pokud se stane, ze se vám napoprvé nerozjede transc. tak se nebojte, je to docela náchylná věcička na příkazy,jak jsem si mohl sám vyzkoušet :-)
Malý vzor pro začátek:

1:/usr/bin/ffmpeg -i pipe:0 -vf scale=1280:720 -c:a aac -c:v hevc_nvenc -cConfused copy -crf 48 -f mpegts pipe:1 -nostdin -hide_banner -loglevel info

2:/usr/bin/ffmpeg -y -vsync 0 -hwaccel_output_format cuda -i pipe:0 -vf scale=1280:720 -c:a copy -c:v h264_nvenc -cConfused copy -f mpegts pipe:1 -nostdin -hide_banner -loglevel info

POZOR: nutné si zkompilovat svůj FFMPEG s podporou cuda nvenc !!!!! jinak to nejde :-) jasná věc :-)
Doufám . že to někomu pomůže....

Moje Grafika NVQ M4000 není nějak blokovaná na počet využití GPU pro transcodováni :-) A ty co jsou..... tak se dají -né všechny- soft patch a odblokovat. Stačí do google napsat nvidia patch aje tam všechno :-)

Pokud se někdo vydáte touto cestou rád se podělím a pomůžu.
:-))))
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)