Transkodieren mit Nvidia Kepler Graka unter Linux mit ffmpeg... Es geht

  • Hallo,


    ich bin letztens auf Building ffmpeg with nvidia hardware encoding gestossen und was soll ich sagen... Es funktioniert. Meine GT630 (GK208 ) hat soeben in 1 Stunde Gladiator (2,5 Stunden) mit 2000K Bitrate transkodiert. Meine GTX750TI schafft mit der selben Aufnahme locker 200FPS :)


    Kompiliert habe ich ffmpeg nach der offiziellen Anleitung


    Geht übrigens auch mit Externremux...

    Grüße


    Hannemann

  • Laufen Transkodieren und eine weitere Ausgabe (SoftHDDevice oder Kodi) parallel auf der GT 630?


    Grüße

    VDR1: ASRock P67 Pro3, Core i3-2100T, 2*4GB DDR3, ASUS GT630 2GB, TBS-6981 Dual DVB-S2, 128GB SSD, 2TB HDD, vdr4arch
    VDR2: FSC Esprimo E5720, Celeron 440, 2*1GB DDR2, ASUS GT520 1GB, L4M-Twin CT v6.1, 2TB HDD, X10 FB, yaVDR 0.5

  • Das habe ich noch nicht ausprobiert.

    Grüße


    Hannemann

  • Hi hannemann,


    Klingt interessant - nur eine Stunde für Gladiator in HD.
    wie is da die Bildquali im Vergleich wenn man mittels CPU recodiert ?



    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • Funktioniert auch mit GT 710


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • wie is da die Bildquali im Vergleich wenn man mittels CPU recodiert ?


    Ich habe wie gesagt noch nicht so ausgiebig getestet. Dauert ja alles immer ewig. Mit 2000K Bitrate ist es jedenfalls verbesserungswürdig.

    Grüße


    Hannemann

  • ok - Danke.


    Ja klar für nen langen Film wie Gladiator würd ich schon mindestens 4000K veranschlagen - besser etwas mehr noch vielleicht 4300K.
    MIr selbst kommts sehr auf die Bildquali an deshalb haben meine movies meist um die 5000K (mach alles was HD betrifft mit Handbrake)
    aber das dauert eben.
    Und grade bei nem langen Film wie Gladiator dauert das schon ganz schön hier mit ner Core Duo 2,93GHz.
    Bei so nem überlangen movie geh ich dann aber meist etwas runter zu den 4000K hin aber nie darunter.



    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • Ich hab gerade mal mit 4300k einen Speedtest angeworfen. HD Aufnahme 70fps... wie es aussieht kann ich aber nicht sagen. Ich bin nicht zu Hause. Was ich mir bisher angesehen habe wie gesagt mit 2000k sah aber auch nicht komplett unbrauchbar aus.


    Beeindruckend fand ich meine GTX750 im Desktop: SD Big Bang Folge nach h264 in ca. 20 Sekunden :D

    Grüße


    Hannemann

  • Folge Big Bang in SD auf GT630 ca 1,5 Minuten

    Grüße


    Hannemann

  • Wie wäre denn das Zusammenspiel mit Plex fürs "on the fly" transcoding für z.B. mobile Geräte im WAN/WLAN?

  • Wie wäre denn das Zusammenspiel mit Plex fürs "on the fly" transcoding für z.B. mobile Geräte im WAN/WLAN?


    Plex unterstützt beim Transcoden keine Grafikkarten, und selbst wenn, dann würden die Pausen in denen der Prozessor nichts zu tun hat eben länger werden. Früher fertig wird er dadurch nicht.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470


  • Plex unterstützt beim Transcoden keine Grafikkarten, und selbst wenn, dann würden die Pausen in denen der Prozessor nichts zu tun hat eben länger werden. Früher fertig wird er dadurch nicht.


    Gerald

    Die Frage ist ja, wie es aussieht. Wenn ich einen 1080i/50 Stream on the fly runterrechne, sodass er unterwegs auf dem Tablet noch besser aussieht als SD und trotzdem mit akzeptabler Bandbreite daherkommt, dabei aber CPU schont, wäre das ja schon eine nette Geschichte. Ich denke da an die externremux.sh

    VDR 2.2.0, PMS mit PlexVDR, XML-API+VDR Client
    Ubuntu 16.04 64bit
    alles 'headless' auf Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz, 8GB RAM, 5 x 3TB im RAID5 (12TB)
    zzgl. diverse SH4 Sat-Boxen mit NeutrinoMP

  • Gentoo bietet ffmpeg 3-0 mit USE-Flag nvenc an, ich bekam aber nach Installation Probleme mit softhddevice, daher gehe ich jetzt zurück zu ffmpeg 2.8.6


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Gentoo bietet ffmpeg 3-0 mit USE-Flag nvenc an, ich bekam aber nach Installation Probleme mit softhddevice, daher gehe ich jetzt zurück zu ffmpeg 2.8.6

    Ja, mußte ich auch feststellen gestern, ich hatte die live-Version (9999) ausprobieren wollen, kodi konnte danach auch nicht mehr gebaut werden, offensichtlich gibt es da größere Änderungen an Schnittstellen, vermutlich sind noch mehr Pakete betroffen.

  • Ich teste gerade ein gebasteltes ebuild für 2.8.6


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich teste gerade ein gebasteltes ebuild für 2.8.6

    Das heisst, Du hast nvenc da aktiviert? Wusste gar nicht daß es auch in der Version verfügbar ist. Na dann, toi toi und bitte mit uns teilen falls es geht ;D, ich würde es in meinem Overlay aufnehmen.

  • compiliert und wird als verfügbar angezeigt.

  • Ich teste gerade ein gebasteltes ebuild für 2.8.6


    Wozu "basteln"??


    Das ist doch schon im Portage:


    Code
    vdr01_64 ~ # eix media-video/ffmpeg
    [I] media-video/ffmpeg
         Available versions:  2.6.3(0/54.56.56)^d (~)2.6.4(0/54.56.56)^d 2.8.5(0/54.56.56)^d 2.8.6(0/54.56.56)^d [M](~)3.0(0/55.57.57)^d [M]**9999(0/55.57.57)^d {X aac aacplus alsa altivec amr amrenc armv5te armv6 armv6t2 armvfp bluray bs2b +bzip2 cdio celt chromaprint cpudetection dcadec debug doc +encode examples faac fdk flite fontconfig frei0r fribidi gcrypt gme gmp gnutls +gpl gsm +hardcoded-tables +iconv iec61883 ieee1394 jack jpeg2k kvazaar ladspa libass libcaca libilbc libressl librtmp libsoxr libv4l lzma mipsdspr1 mipsdspr2 mipsfpu mmal modplug mp3 neon +network nvenc openal opengl openh264 openssl opus oss pic +postproc pulseaudio quvi rubberband samba schroedinger sdl snappy speex ssh static-libs test theora +threads truetype twolame v4l vaapi vdpau vorbis vpx wavpack webp x264 x265 xcb xvid zimg +zlib zvbi ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" CPU_FLAGS_X86="3dnow 3dnowext aes avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 xop" FFTOOLS="+aviocat +cws2fws +ffescape +ffeval +ffhash +fourcc2pixfmt +graph2dot +ismindex +pktdumper +qt-faststart +sidxindex +trasher"}
         Installed versions:  2.8.6^d(18:57:30 16.02.2016)(X aac alsa amr bluray bzip2 cpudetection encode faac fontconfig gnutls gpl hardcoded-tables iconv ieee1394 jack libcaca modplug mp3 network opengl oss pic postproc samba schroedinger sdl theora threads truetype v4l vaapi vdpau vorbis x264 xvid zlib -aacplus -altivec -amrenc -armv5te -armv6 -armv6t2 -armvfp -bs2b -cdio -celt -debug -doc -examples -fdk -flite -frei0r -fribidi -gme -gsm -iec61883 -jpeg2k -ladspa -libass -libressl -librtmp -libsoxr -libv4l -lzma -mipsdspr1 -mipsdspr2 -mipsfpu -neon -openal -openssl -opus -pulseaudio -quvi -snappy -speex -ssh -static-libs -test -twolame -vpx -wavpack -webp -x265 -xcb -zvbi ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32" CPU_FLAGS_X86="avx avx2 fma3 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 -3dnow -3dnowext -fma4 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher")
         Homepage:            http://ffmpeg.org/
         Description:         Complete solution to record, convert and stream audio and video. Includes libavcodec
  • Wozu "basteln"??


    Das ist doch schon im Portage:


    Siehst Du das schon irgendwo in Portage bei einer Version 2* ?

    Code
    Gen2Dev gentoo # grep -R nvenc media-video/ffmpeg
    media-video/ffmpeg/ffmpeg-3.0.ebuild:   faac:libfaac kvazaar:libkvazaar nvenc:nvenc
    media-video/ffmpeg/ffmpeg-3.0.ebuild:       	nvenc? ( media-video/nvidia_video_sdk )
    media-video/ffmpeg/ffmpeg-3.0.ebuild:   encode? ( faac? ( bindist ) nvenc? ( bindist ) )
    media-video/ffmpeg/ffmpeg-3.0.ebuild:       	if use faac || use nvenc ; then
    media-video/ffmpeg/ffmpeg-9999.ebuild:  faac:libfaac kvazaar:libkvazaar nvenc:nvenc
    media-video/ffmpeg/ffmpeg-9999.ebuild:      	nvenc? ( media-video/nvidia_video_sdk )
    media-video/ffmpeg/ffmpeg-9999.ebuild:  encode? ( faac? ( bindist ) nvenc? ( bindist ) )
    media-video/ffmpeg/ffmpeg-9999.ebuild:      	if use faac || use nvenc ; then
    media-video/ffmpeg/metadata.xml:    	<flag name="nvenc">Adds support for NVIDIA Encoder (NVENC) API for hardware accelerated encoding on NVIDIA cards.</flag>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!