Transcoder description on 2017.01.14.0019

The new (or new to me anyway) transcoder field on the settings page says Software for me but it appears to be using the hardware just fine (G3220).

Am I misreading what that line means? I had that trouble adding to the ‘video’ group so thought I’d make sure.

If it says software it likely isn’t using the hardware transcoder.

Run “ls -alh /dev/dri” and “id” and post the output.

~$ ls -alh /dev/dri
total 0
drwxr-xr-x 2 root root 100 Jan 2 17:20 .
drwxr-xr-x 20 root root 4.5K Jan 2 17:20 …
crw-rw---- 1 root video 226, 0 Jan 2 17:20 card0
crw-rw---- 1 root video 226, 64 Jan 2 17:20 controlD64
crw-rw---- 1 root video 226, 128 Jan 2 17:20 renderD128

~$ id
uid=1000(mediaserver) gid=1000(mediaserver) groups=1000(mediaserver),4(adm),24(cdrom),27(sudo),30(dip),44(video),46(plugdev),111(lxd),116(sambashare),117(lpadmin),118(plex)

Looks right.

Can you paste what the web ui says on Settings tab for CPU and OS

OS Linux Ubuntu
16.10 (kernel: 4.8.0-32-generic)
CPU 2 cores / Intel® Pentium® CPU G3220 @ 3.00GHz
load averages: 0.00 0.00 0.00
RAM 8.24 GB
91.6% free

Run this command and post output:

./channels-dvr/latest/ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -f null -y /dev/null

~$ ./channels-dvr/latest/ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -f null -y /dev/null
ffmpeg version 151ad4d Copyright © 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/home/vagrant/channels-server-x86_64/ext/dst --disable-doc --enable-pic --disable-shared --enable-static --enable-debug --disable-sdl --disable-sdl2 --disable-stripping --disable-lzma --disable-xlib --disable-libvpx --disable-nvenc --disable-ffserver --extra-libs=-static --extra-cflags=–static --extra-cflags=-I/home/vagrant/channels-server-x86_64/ext/dst/include --disable-encoders --disable-decoders --disable-muxers --disable-demuxers --disable-protocols --disable-filters --disable-parsers --enable-encoder=aac --enable-encoder=aac_at --enable-encoder=ac3 --enable-encoder=ac3_fixed --enable-encoder=apng --enable-encoder=h261 --enable-encoder=h263 --enable-encoder=h263p --enable-encoder=h264_nvenc --enable-encoder=h264_omx --enable-encoder=h264_qsv --enable-encoder=h264_vaapi --enable-encoder=h264_videotoolbox --enable-encoder=hevc_nvenc --enable-encoder=hevc_qsv --enable-encoder=hevc_vaapi --enable-encoder=jpeg2000 --enable-encoder=libmp3lame --enable-encoder=libopencore_amrnb --enable-encoder=libopenh264 --enable-encoder=libopenjpeg --enable-encoder=libx262 --enable-encoder=libx264 --enable-encoder=libx264rgb --enable-encoder=libx265 --enable-encoder=ljpeg --enable-encoder=mjpeg --enable-encoder=mpeg2_qsv --enable-encoder=mpeg2video --enable-encoder=mpeg4 --enable-encoder=pcm_alaw --enable-encoder=pcm_alaw_at --enable-encoder=pcm_f32be --enable-encoder=pcm_f32le --enable-encoder=pcm_f64be --enable-encoder=pcm_f64le --enable-encoder=pcm_mulaw --enable-encoder=pcm_mulaw_at --enable-encoder=pcm_s16be --enable-encoder=pcm_s16be_planar --enable-encoder=pcm_s16le --enable-encoder=pcm_s16le_planar --enable-encoder=pcm_s24be --enable-encoder=pcm_s24daud --enable-encoder=pcm_s24le --enable-encoder=pcm_s24le_planar --enable-encoder=pcm_s32be --enable-encoder=pcm_s32le --enable-encoder=pcm_s32le_planar --enable-encoder=pcm_s64be --enable-encoder=pcm_s64le --enable-encoder=pcm_s8 --enable-encoder=pcm_s8_planar --enable-encoder=pcm_u16be --enable-encoder=pcm_u16le --enable-encoder=pcm_u24be --enable-encoder=pcm_u24le --enable-encoder=pcm_u32be --enable-encoder=pcm_u32le --enable-encoder=pcm_u8 --enable-encoder=srt --enable-encoder=ssa --enable-encoder=subrip --enable-encoder=webvtt --enable-encoder=wrapped_avframe --enable-decoder=aac --enable-decoder=aac_at --enable-decoder=aac_fixed --enable-decoder=aac_latm --enable-decoder=ac3 --enable-decoder=ac3_at --enable-decoder=ac3_fixed --enable-decoder=apng --enable-decoder=ass --enable-decoder=ccaption --enable-decoder=dca --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=eac3 --enable-decoder=eac3_at --enable-decoder=h261 --enable-decoder=h263 --enable-decoder=h263_cuvid --enable-decoder=h263i --enable-decoder=h263p --enable-decoder=h264 --enable-decoder=h264_crystalhd --enable-decoder=h264_cuvid --enable-decoder=h264_mediacodec --enable-decoder=h264_mmal --enable-decoder=h264_qsv --enable-decoder=h264_vda --enable-decoder=h264_vdpau --enable-decoder=hevc --enable-decoder=hevc_cuvid --enable-decoder=hevc_mediacodec --enable-decoder=hevc_qsv --enable-decoder=jpeg2000 --enable-decoder=libopenh264 --enable-decoder=mp1 --enable-decoder=mp1_at --enable-decoder=mp1float --enable-decoder=mp2 --enable-decoder=mp2_at --enable-decoder=mp2float --enable-decoder=mp3 --enable-decoder=mp3_at --enable-decoder=mp3adu --enable-decoder=mp3adufloat --enable-decoder=mp3float --enable-decoder=mp3on4 --enable-decoder=mp3on4float --enable-decoder=mpeg1_cuvid --enable-decoder=mpeg1_vdpau --enable-decoder=mpeg1video --enable-decoder=mpeg2_crystalhd --enable-decoder=mpeg2_cuvid --enable-decoder=mpeg2_mmal --enable-decoder=mpeg2_qsv --enable-decoder=mpeg2video --enable-decoder=mpeg4 --enable-decoder=mpeg4_crystalhd --enable-decoder=mpeg4_cuvid --enable-decoder=mpeg4_mediacodec --enable-decoder=mpeg4_mmal --enable-decoder=mpeg4_vdpau --enable-decoder=mpeg_vdpau --enable-decoder=mpeg_xvmc --enable-decoder=mpegvideo --enable-decoder=pcm_alaw --enable-decoder=pcm_alaw_at --enable-decoder=pcm_bluray --enable-decoder=pcm_dvd --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_mulaw --enable-decoder=pcm_mulaw_at --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s64be --enable-decoder=pcm_s64le --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_zork --enable-decoder=rawvideo --enable-decoder=srt --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=webvtt --enable-muxer=ac3 --enable-muxer=adts --enable-muxer=ass --enable-muxer=ffmetadata --enable-muxer=h261 --enable-muxer=h263 --enable-muxer=h264 --enable-muxer=hevc --enable-muxer=hls --enable-muxer=image2 --enable-muxer=image2pipe --enable-muxer=m4v --enable-muxer=matroska --enable-muxer=matroska_audio --enable-muxer=mp3 --enable-muxer=mp4 --enable-muxer=mpeg1system --enable-muxer=mpeg1vcd --enable-muxer=mpeg1video --enable-muxer=mpeg2dvd --enable-muxer=mpeg2svcd --enable-muxer=mpeg2video --enable-muxer=mpeg2vob --enable-muxer=mpegts --enable-muxer=null --enable-muxer=pcm_alaw --enable-muxer=pcm_f32be --enable-muxer=pcm_f32le --enable-muxer=pcm_f64be --enable-muxer=pcm_f64le --enable-muxer=pcm_mulaw --enable-muxer=pcm_s16be --enable-muxer=pcm_s16le --enable-muxer=pcm_s24be --enable-muxer=pcm_s24le --enable-muxer=pcm_s32be --enable-muxer=pcm_s32le --enable-muxer=pcm_s8 --enable-muxer=pcm_u16be --enable-muxer=pcm_u16le --enable-muxer=pcm_u24be --enable-muxer=pcm_u24le --enable-muxer=pcm_u32be --enable-muxer=pcm_u32le --enable-muxer=pcm_u8 --enable-muxer=rtp --enable-muxer=rtp_mpegts --enable-muxer=rtsp --enable-muxer=segment --enable-muxer=singlejpeg --enable-muxer=smjpeg --enable-muxer=spdif --enable-muxer=srt --enable-muxer=stream_segment --enable-muxer=wav --enable-muxer=webvtt --enable-demuxer=aac --enable-demuxer=ac3 --enable-demuxer=asf --enable-demuxer=asf_o --enable-demuxer=ass --enable-demuxer=concat --enable-demuxer=dvbsub --enable-demuxer=dvbtxt --enable-demuxer=ffmetadata --enable-demuxer=gif --enable-demuxer=h261 --enable-demuxer=h263 --enable-demuxer=h264 --enable-demuxer=hls --enable-demuxer=image2 --enable-demuxer=image2_alias_pix --enable-demuxer=image2_brender_pix --enable-demuxer=image2pipe --enable-demuxer=image_bmp_pipe --enable-demuxer=image_dds_pipe --enable-demuxer=image_dpx_pipe --enable-demuxer=image_exr_pipe --enable-demuxer=image_j2k_pipe --enable-demuxer=image_jpeg_pipe --enable-demuxer=image_jpegls_pipe --enable-demuxer=image_pam_pipe --enable-demuxer=image_pbm_pipe --enable-demuxer=image_pcx_pipe --enable-demuxer=image_pgm_pipe --enable-demuxer=image_pgmyuv_pipe --enable-demuxer=image_pictor_pipe --enable-demuxer=image_png_pipe --enable-demuxer=image_ppm_pipe --enable-demuxer=image_qdraw_pipe --enable-demuxer=image_sgi_pipe --enable-demuxer=image_sunrast_pipe --enable-demuxer=image_tiff_pipe --enable-demuxer=image_webp_pipe --enable-demuxer=m4v --enable-demuxer=matroska --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=mpegps --enable-demuxer=mpegts --enable-demuxer=mpegtsraw --enable-demuxer=mpegvideo --enable-demuxer=pcm_alaw --enable-demuxer=pcm_f32be --enable-demuxer=pcm_f32le --enable-demuxer=pcm_f64be --enable-demuxer=pcm_f64le --enable-demuxer=pcm_mulaw --enable-demuxer=pcm_s16be --enable-demuxer=pcm_s16le --enable-demuxer=pcm_s24be --enable-demuxer=pcm_s24le --enable-demuxer=pcm_s32be --enable-demuxer=pcm_s32le --enable-demuxer=pcm_s8 --enable-demuxer=pcm_u16be --enable-demuxer=pcm_u16le --enable-demuxer=pcm_u24be --enable-demuxer=pcm_u24le --enable-demuxer=pcm_u32be --enable-demuxer=pcm_u32le --enable-demuxer=pcm_u8 --enable-demuxer=rtp --enable-demuxer=rtsp --enable-demuxer=spdif --enable-demuxer=srt --enable-protocol=cache --enable-protocol=concat --enable-protocol=file --enable-protocol=hls --enable-protocol=http --enable-protocol=httpproxy --enable-protocol=https --enable-protocol=icecast --enable-protocol=librtmp --enable-protocol=librtmpe --enable-protocol=librtmps --enable-protocol=librtmpt --enable-protocol=librtmpte --enable-protocol=libsmbclient --enable-protocol=libssh --enable-protocol=md5 --enable-protocol=mmsh --enable-protocol=mmst --enable-protocol=pipe --enable-protocol=rtmp --enable-protocol=rtmpe --enable-protocol=rtmps --enable-protocol=rtmpt --enable-protocol=rtmpte --enable-protocol=rtmpts --enable-protocol=rtp --enable-protocol=srtp --enable-protocol=subfile --enable-protocol=tcp --enable-protocol=tee --enable-protocol=tls_gnutls --enable-protocol=tls_openssl --enable-protocol=tls_schannel --enable-protocol=tls_securetransport --enable-protocol=udp --enable-protocol=udplite --enable-protocol=unix --enable-filter=afade --enable-filter=amovie --enable-filter=aresample --enable-filter=asetpts --enable-filter=bwdif --enable-filter=color --enable-filter=concat --enable-filter=copy --enable-filter=crop --enable-filter=cropdetect --enable-filter=deband --enable-filter=equalizer --enable-filter=fastdeint --enable-filter=format --enable-filter=fps --enable-filter=hwdownload --enable-filter=hwupload --enable-filter=movie --enable-filter=overlay --enable-filter=pan --enable-filter=resample --enable-filter=reverse --enable-filter=rotate --enable-filter=scale --enable-filter=scale2ref --enable-filter=scale_npp --enable-filter=scale_vaapi --enable-filter=select --enable-filter=setfield --enable-filter=setpts --enable-filter=silencedetect --enable-filter=trim --enable-filter=vflip --enable-filter=volume --enable-filter=volumedetect --enable-filter=w3fdif --enable-filter=yadif --enable-filter=zoompan --enable-filter=zscale --enable-parser=aac --enable-parser=aac_latm --enable-parser=ac3 --enable-parser=dvbsub --enable-parser=h261 --enable-parser=h263 --enable-parser=h264 --enable-parser=hevc --enable-parser=mpeg4video --enable-parser=mpegaudio --enable-parser=mpegvideo --enable-parser=png --enable-gpl --enable-libx264
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: va_openDriver() returns 0
Input #0, lavfi, from ‘color=black:640x480’:
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Output #0, null, to ‘/dev/null’:
Metadata:
encoder : Lavf57.56.100
Stream #0:0: Video: wrapped_avframe, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.64.100 wrapped_avframe
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
frame= 3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=10.7x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Looks like the hardware transcoder works, so I’m not sure why it refuses to use it…

What’s the output of http://localhost:8089/system

~$ curl http://localhost:8089/system
{“cpu”:[{“cpu”:0,“vendorId”:“GenuineIntel”,“family”:“6”,“model”:“60”,“stepping”:3,“physicalId”:“0”,“coreId”:“0”,“cores”:1,“modelName”:“Intel® Pentium® CPU G3220 @ 3.00GHz”,“mhz”:3000,“bogoMIPS”:0,“cacheSize”:3072,“flags”:[“fpu”,“vme”,“de”,“pse”,“tsc”,“msr”,“pae”,“mce”,“cx8”,“apic”,“sep”,“mtrr”,“pge”,“mca”,“cmov”,“pat”,“pse36”,“clflush”,“dts”,“acpi”,“mmx”,“fxsr”,“sse”,“sse2”,“ss”,“ht”,“tm”,“pbe”,“syscall”,“nx”,“pdpe1gb”,“rdtscp”,“lm”,“constant_tsc”,“arch_perfmon”,“pebs”,“bts”,“rep_good”,“nopl”,“xtopology”,“nonstop_tsc”,“aperfmperf”,“eagerfpu”,“pni”,“pclmulqdq”,“dtes64”,“monitor”,“ds_cpl”,“vmx”,“est”,“tm2”,“ssse3”,“sdbg”,“cx16”,“xtpr”,“pdcm”,“pcid”,“sse4_1”,“sse4_2”,“movbe”,“popcnt”,“tsc_deadline_timer”,“xsave”,“rdrand”,“lahf_lm”,“abm”,“tpr_shadow”,“vnmi”,“flexpriority”,“ept”,“vpid”,“fsgsbase”,“tsc_adjust”,“erms”,“invpcid”,“xsaveopt”,“dtherm”,“arat”,“pln”,“pts”]},{“cpu”:1,“vendorId”:“GenuineIntel”,“family”:“6”,“model”:“60”,“stepping”:3,“physicalId”:“0”,“coreId”:“1”,“cores”:1,“modelName”:“Intel® Pentium® CPU G3220 @ 3.00GHz”,“mhz”:3000,“bogoMIPS”:0,“cacheSize”:3072,“flags”:[“fpu”,“vme”,“de”,“pse”,“tsc”,“msr”,“pae”,“mce”,“cx8”,“apic”,“sep”,“mtrr”,“pge”,“mca”,“cmov”,“pat”,“pse36”,“clflush”,“dts”,“acpi”,“mmx”,“fxsr”,“sse”,“sse2”,“ss”,“ht”,“tm”,“pbe”,“syscall”,“nx”,“pdpe1gb”,“rdtscp”,“lm”,“constant_tsc”,“arch_perfmon”,“pebs”,“bts”,“rep_good”,“nopl”,“xtopology”,“nonstop_tsc”,“aperfmperf”,“eagerfpu”,“pni”,“pclmulqdq”,“dtes64”,“monitor”,“ds_cpl”,“vmx”,“est”,“tm2”,“ssse3”,“sdbg”,“cx16”,“xtpr”,“pdcm”,“pcid”,“sse4_1”,“sse4_2”,“movbe”,“popcnt”,“tsc_deadline_timer”,“xsave”,“rdrand”,“lahf_lm”,“abm”,“tpr_shadow”,“vnmi”,“flexpriority”,“ept”,“vpid”,“fsgsbase”,“tsc_adjust”,“erms”,“invpcid”,“xsaveopt”,“dtherm”,“arat”,“pln”,“pts”]}],“disk”:[{“device”:"/dev/mapper/MediaServer–vg-root",“mountpoint”:"/",“fstype”:“ext4”,“opts”:“rw,relatime,errors=remount-ro,data=ordered”},{“device”:"/dev/sdd1",“mountpoint”:"/media/mediaserver/Data",“fstype”:“ext4”,“opts”:“rw,relatime,data=ordered”},{“device”:"/dev/sda1",“mountpoint”:"/media/mediaserver/Movies",“fstype”:“ext4”,“opts”:“rw,relatime,data=ordered”},{“device”:"/dev/sdb1",“mountpoint”:"/media/mediaserver/Media",“fstype”:“ext4”,“opts”:“rw,relatime,data=ordered”},{“device”:"/dev/sdc",“mountpoint”:"/media/mediaserver/TV",“fstype”:“ext4”,“opts”:“rw,relatime,data=ordered”},{“device”:"/dev/sde2",“mountpoint”:"/boot",“fstype”:“ext2”,“opts”:“rw,relatime,block_validity,barrier,user_xattr,acl”},{“device”:"/dev/sde1",“mountpoint”:"/boot/efi",“fstype”:“vfat”,“opts”:“rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro”}],“home”:"/home/mediaserver",“host”:{“hostname”:“MediaServer”,“uptime”:1010493,“bootTime”:1483402805,“procs”:232,“os”:“linux”,“platform”:“ubuntu”,“platformFamily”:“debian”,“platformVersion”:“16.10”,“kernelVersion”:“4.8.0-32-generic”,“virtualizationSystem”:“kvm”,“virtualizationRole”:“host”,“hostid”:“2f3f90d9-65a1-4c34-bb55-0f5173480210”},“load”:{“load1”:0,“load5”:0,“load15”:0},“memory”:{“total”:8244523008,“available”:7544152064,“used”:700370944,“usedPercent”:8.494984407471497,“free”:211300352,“active”:1360412672,“inactive”:6158524416,“wired”:0,“buffers”:212185088,“cached”:7056322560,“writeback”:0,“dirty”:0,“writebacktmp”:0},“pwd”:"/home/mediaserver/channels-dvr/data",“transcoder”:“libx264”}

How about this command:

./channels-dvr/latest/ffmpeg -hide_banner -nostats -loglevel quiet -vaapi_device /dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -f null -y /dev/null; echo $?

~$ ./channels-dvr/latest/ffmpeg -hide_banner -nostats -loglevel quiet -vaapi_device /dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -f null -y /dev/null; echo $?
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: va_openDriver() returns 0
0

Very strange.

Try restarting the DVR and see if that helps.

sudo systemctl restart channels-dvr

Bingo! Says Hardware now.

Phew!

That was a weird one. Thanks for taking the time!