easyVDR Kopie des easyVDR-Forums zum Nachschlagen
Transcodieren mit Nvidia(nvenc)!

easyVDR - >VARforumsname - >Transcodieren mit Nvidia(nvenc)!

mango  26.Dec.2016 23:26:25
Hallo,

FFmpeg local gebaut -> /home/easyvdr um mit GPU-Unterstützung Filme zu transcodieren.
Warum "/home/easyvdr" softhddevice ist gegen ffmpeg-2.8.6 gebaut und ist dem System als ffmpeg bekannt.
Wird nun FFmpeg mit nvenc gebraucht muss auch der Pfad zu dieser Version angegeben werden.
Da die GT 630 nur h264_nvenc kann gibt es auch keinen Test mit hevc_nvenc.
Wer eine "GTX750TI" im System hat, kann auch mit hevc_nvenc transcodieren.
Anleitung gibt es hier -> https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
*-dev habe ich nicht installiert sondern alle Pakete neu aus Sources compiled ...FFmpeg wurde
nicht aus git geholt hier wurde Version 3.2.2 verwendet.
https://ffmpeg.org/releases/ffmpeg-3.2.2.tar.bz2
tar xjvf  ffmpeg-3.2.2.tar.bz2
Mehr zum Thema findet man im [url=http://www.vdr-portal.de/board19-verschiedenes/board10-verschiedenes/128687-transkodieren-mit-nvidia-kepler-graka-unter-linux-mit-ffmpeg-es-geht/?highlight=transcodieren]VDR-Portal

Serie Big Bang - SD (nur CPU) - fps -> 52 - speed -> 2.07x - dauer convert 9m15.951s
Input #0, mpegts, from '/media/easyvdr01/video0/%The_Big_Bang_Theory/2016-12-24.10.23.64-0.rec/00001.ts':
 Duration: 00:19:11.40, start: 71712.500411, bitrate: 4084 kb/s
 Program 132
   Stream #0:0: Video: mpeg2video (Main) ( / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
   Stream #0:1(deu): Audio: mp2 ( / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
   Stream #0:2(deu): Audio: ac3 ( / 0x0006), 48000 Hz, stereo, fltp, 384 kb/s
   Stream #0:3(deu): Subtitle: dvb_teletext ( / 0x0006)
[libx264 @ 0x44be740] using SAR=64/45
[libx264 @ 0x44be740] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowShuffle
[libx264 @ 0x44be740] profile High, level 3.0
[libx264 @ 0x44be740] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=abr mbtree=1 bitrate=1000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/media/easyvdr01/convert/divx/big-bang_2.mp4':
 Metadata:
   encoder         : Lavf57.60.100
   Stream #0:0: Video: h264 (libx264) ( / 0x0021), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=-1--1, 1000 kb/s, 25 fps, 12800 tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.68.100 libx264
   Side data:
     cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: -1
   Stream #0:1(deu): Audio: mp3 (libmp3lame) (i / 0x0069), 48000 Hz, stereo, s16p, 128 kb/s
   Metadata:
     encoder         : Lavc57.68.100 libmp3lame
Stream mapping:
 Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (mp2 (native) -> mp3 (libmp3lame))
Press to stop, [?] for help
[mpegts @ 0x4470c20] PES packet size mismatchme=00:19:09.11 bitrate=1126.5kbits/s speed=2.07x
[mpeg2video @ 0x44938c0] ac-tex damaged at 14 6
[mpeg2video @ 0x44938c0] Warning MVs not available
[mpeg2video @ 0x44938c0] concealing 1350 DC, 1350 AC, 1350 MV errors in I frame
frame=28785 fps= 52 q=-1.0 Lsize=  158834kB time=00:19:11.28 bitrate=1130.2kbits/s speed=2.07x
video:140095kB audio:17973kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.484603%
[libx264 @ 0x44be740] frame I:427   Avg QP:19.90  size: 40587
[libx264 @ 0x44be740] frame P:8499  Avg QP:21.62  size:  9945
[libx264 @ 0x44be740] frame B:19859 Avg QP:24.11  size:  2095
[libx264 @ 0x44be740] consecutive B-frames:  3.1%  5.8% 26.4% 64.6%
[libx264 @ 0x44be740] mb I  I16..4:  9.4% 42.6% 48.0%
[libx264 @ 0x44be740] mb P  I16..4:  3.6% 14.2%  2.7%  P16..4: 33.8% 14.3%  6.1%  0.0%  0.0%    skip:25.5%
[libx264 @ 0x44be740] mb B  I16..4:  0.8%  2.4%  0.2%  B16..8: 20.0%  3.7%  0.3%  direct: 9.7%  skip:63.0%  L0:38.0% L1:46.1% BI:16.0%
[libx264 @ 0x44be740] final ratefactor: 21.34
[libx264 @ 0x44be740] 8x8 transform intra:65.7% inter:68.6%
[libx264 @ 0x44be740] coded y,uvDC,uvAC intra: 63.9% 67.6% 23.2% inter: 13.5% 16.4% 0.7%
[libx264 @ 0x44be740] i16 v,h,dc,p: 58% 18% 15%  9%
[libx264 @ 0x44be740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 40% 16% 28%  2%  2%  4%  2%  4%  3%
[libx264 @ 0x44be740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 16% 11%  6%  7%  9%  6%  8%  6%
[libx264 @ 0x44be740] i8c dc,h,v,p: 45% 17% 33%  5%
[libx264 @ 0x44be740] Weighted P-Frames: Y:0.6% UV:0.3%
[libx264 @ 0x44be740] ref P L0: 68.3% 31.7%
[libx264 @ 0x44be740] ref B L0: 83.3% 16.7%
[libx264 @ 0x44be740] ref B L1: 95.3%  4.7%
[libx264 @ 0x44be740] kb/s:996.75

real    9m15.951s
user    16m3.764s
sys     0m17.804s

Nun wirds interesant "GT 630/nvidia-370" mit Big Bang liefert dieses Ergebnis!
Serie Big Bang - SD (CPU & GPU) - fps -> 277 - speed -> 11.1x - dauer convert -> 1m56.056s :D
Input #0, mpegts, from '/media/easyvdr01/video0/%The_Big_Bang_Theory/2016-12-24.10.23.64-0.rec/00001.ts':
 Duration: 00:19:11.40, start: 71712.500411, bitrate: 4084 kb/s
 Program 132
   Stream #0:0: Video: mpeg2video (Main) ( / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
   Stream #0:1(deu): Audio: mp2 ( / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
   Stream #0:2(deu): Audio: ac3 ( / 0x0006), 48000 Hz, stereo, fltp, 384 kb/s
   Stream #0:3(deu): Subtitle: dvb_teletext ( / 0x0006)
Output #0, mp4, to '/media/easyvdr01/convert/divx/big-bang_1.mp4':
 Metadata:
   encoder         : Lavf57.60.100
   Stream #0:0: Video: h264 (h264_nvenc) (Main) ( / 0x0021), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=1-50, 1000 kb/s, 25 fps, 12800 tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.68.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 1200000/0/1000000 buffer size: 4000000 vbv_delay: -1
   Stream #0:1(deu): Audio: mp3 (libmp3lame) (i / 0x0069), 48000 Hz, stereo, s16p, 128 kb/s
   Metadata:
     encoder         : Lavc57.68.100 libmp3lame
Stream mapping:
 Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_nvenc))
 Stream #0:1 -> #0:1 (mp2 (native) -> mp3 (libmp3lame))
Press to stop, [?] for help
[mpegts @ 0x35b6020] PES packet size mismatchme=00:19:07.83 bitrate=1122.4kbits/s speed=11.1x
[mpeg2video @ 0x35d8de0] ac-tex damaged at 14 6dauer
[mpeg2video @ 0x35d8de0] Warning MVs not available
[mpeg2video @ 0x35d8de0] concealing 1350 DC, 1350 AC, 1350 MV errors in I frame
frame=28785 fps=277 q=19.0 Lsize=  158317kB time=00:19:11.32 bitrate=1126.5kbits/s speed=11.1x
video:139629kB audio:17973kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.453862%

real    1m56.056sdauer
user    1m48.824s
sys     0m6.272s

Hier noch die Daten zu James-Bond_Spectre der in 75min von 1920x1080/7.6GB auf 1280x720/2.5gb eingedampft wurde.
Input #0, mpegts, from '/media/easyvdr01/video0/%James_Bond_007_-_Spectre/2016-10-04.21.15.138-0.rec/00001.ts':
 Duration: 02:21:53.32, start: 287.004300, bitrate: 7644 kb/s
 Program 132
   Stream #0:0: Video: h264 (High) ( / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
   Stream #0:1(deu): Audio: ac3 ( / 0x0006), 48000 Hz, 5.1(side), fltp, 384 kb/s
   Stream #0:2(eng): Audio: ac3 ( / 0x0006), 48000 Hz, stereo, fltp, 192 kb/s
   Stream #0:3: Data: bin_data ( / 0x0006)
Output #0, matroska, to '/media/easyvdr01/convert/divx/Spectre.mkv':
 Metadata:
   encoder         : Lavf57.60.100
   Stream #0:0: Video: h264 (h264_nvenc) (Main) (H264 / 0x34363248), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=1-50, 2000 kb/s, 25 fps, 1k tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.68.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 2500000/0/2000000 buffer size: 9000000 vbv_delay: -1
   Stream #0:1(deu): Audio: aac (libfdk_aac) ( / 0x00FF), 48000 Hz, 5.1, s16, 384 kb/s
   Metadata:
     encoder         : Lavc57.68.100 libfdk_aac
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc))
 Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac))
Press to stop, [?] for help
[h264 @ 0x45b8c60] mmco: unref short failure
   Last message repeated 1 times
[h264 @ 0x45b8c60] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
frame=212833 fps= 47 q=14.0 Lsize= 2505832kB time=02:21:53.26 bitrate=2411.3kbits/s speed= 1.9x
video:2102446kB audio:399055kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.173149%

real    74m49.596s
user    99m49.392s
sys     2m26.552s

Temp CPU Core(convert & TV HD)
root@easy3:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +47.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +49.0°C  (high = +78.0°C, crit = +100.0°C)

Temp CPU Core(nur TV HD)
root@easy3:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +27.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +29.0°C  (high = +78.0°C, crit = +100.0°C)

Temp Nvidia GT 630(convert & TV HD)
root@easy3:~# echo "$(nvidia-settings -c :0.0 -tq GPUCoreTemp)°C"
47°C

Temp Nvidia GT 630(nur TV HD)
root@easy3:~# echo "$(nvidia-settings -c :0.0 -tq GPUCoreTemp)°C"
37°C

Gruss
Wolfgang
[spoiler="My VDR Stuff"]DVB-S/S2: Silverstone LC17 mit 8,4" TFT Display, ASUS P5KPL SE, E6300, 2GB, NT-Fanlees, System SSD 40GB, Media 2TB, GT630, DVD-LG, SkyStar S2, Nova-T, FB X10 Medion-Scroll, "Arch-Linux - VDR 2.3.8"
Test-VDR: ASRock ALiveNF6G, AMD X2 3800+ (35W),4GB, GT 630 - nvidia-384, SSD 64GB, SkyStar S2, Cinergy T RC USB, easyVDR 3.5(Kernel-4.4.0) - VDR-2.3.8 - KODI-18.0 - FB X10 Medion-Scroll
Client: Evo N600c, Puppy-Slacko 6.3 - VDR-2.2.0 - FB X10 Medion_OR25V
Spielwiese: RPI2 als Client mit LibreELEC-9.80-Milhouse(Kodi-19.0) - MLD-5.4 VDR2VDR
Martin  27.Dec.2016 12:59:02
Coole Sache. Danke für die Doku!
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
[url=http://wiki.easy-vdr.de/index.php/Hilfe]Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 
VDR1: ASROCK Q1900M, 4GB, SSDs als Bootplatte, Bild+Ton aus Geforce 720, easyVDR3.x als Streamdev- und SatIP Client
VDR2: Esprimo, 2GB, NVIDIA Ausgabe per HDMI, kein GraphTFT am VGA Anschluss, easyVDR3.x als Streamdev-Client
VDR3: Activy350; SW: Gen2VDR Activy-Edition
SERVER: Asrock Q170M vPro, Core i5-6600K, Cine S2 V4 mit 4 S2-Tunern, 16GB Corsair, 4*4TB WD-RED, 240 GB SSD,  19" Gehäuse

Clients: Motorola VIP 19xx, Handys und Tablets