Feature request - add a simple HEVC diagnostic that can be run to determine if a given Hardware/OS platform can successfully encode HEVC streams using the channels software installed. This would be better than the trial and error situation that exists now.
That diagnostic does not show any kind of successful transcoding "in practice" .. My server hardware with an Intel 8500T which is a quicksync capable processor for HEVC , shows a successful encode diagnostic using VAAPI -- yet it does NOT work in this application when you enable HEVC transcoding. The server just stops transcoding. Apple hardware with the same processor (using Apple's videotoolbox driver technology) works fine for HEVC encoding. So there seems there is a ffmpeg issue in play. It would be useful to have the server encode a small mpeg file and see if what comes out of that process is usable by the server and then flag the environment as HEVC capable.
aapi+deint
[AVHWDeviceContext @ 0x812a340] libva: VA-API version 1.16.0
[AVHWDeviceContext @ 0x812a340] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x812a340] Initialised VAAPI connection: version 1.16
[AVHWDeviceContext @ 0x812a340] VAAPI driver: Intel i965 driver for Intel(R) Coffee Lake - 2.4.0.pre1 (2.4.0.pre1).
[AVHWDeviceContext @ 0x812a340] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x8139d00] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x8167a00] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
[auto_scale_0 @ 0x816a240] w:iw h:ih flags:'' interl:0
[trim_in_0_0 @ 0x8168500] auto-inserting filter 'auto_scale_0' between the filter 'graph 0 input from stream 0:0' and the filter 'trim_in_0_0'
[auto_scale_0 @ 0x816a240] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x0
[Parsed_deinterlace_vaapi_2 @ 0x8166e80] Picking 4 (MotionCompensated) as default deinterlacing mode.
Output #0, null, to '/dev/null':
Metadata:
encoder : Lavf59.16.100
Stream #0:0: Video: wrapped_avframe, 1 reference frame, vaapi(tv, progressive), 640x480 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc59.18.100 wrapped_avframe
No more output streams to write to, finishing.
frame= 2 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=9.59x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded;
Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
Output stream #0:0 (video): 2 frames encoded; 2 packets muxed (896 bytes);
Total: 2 packets (896 bytes) muxed