I have some HEVC video files which play fine in QuickTime and VLC, but show only a black screen when playing in TV.app (audio works fine).
This is the relevant output from ffmpeg's ffprobe of one of these files, the others I tested were encoded with the same settings:
Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 date : 2016-05-08T22:00:00 encoder : Lavf58.20.100 media_type : 10 Duration: 01:28:43.03, start: 0.000000, bitrate: 279 kb/s Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 640x360 [SAR 1:1 DAR 16:9], 176 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default) Metadata: handler_name : SoundHandler
I also have one with the fourCC set to hev1, which definitely worked in iTunes on Mojave. The video stream information on that is
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 1953 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 23.98 tbc (default)
I assume the subsampling is correct, because I used the settings recommended by the
ffmpeg wiki and because they worked before.
In older macOS versions, this problem was caused by having the wrong four CC, but I've used both of them and neither work. What have I done wrong? I assume the problem isn't the encoding, since it worked on Mojave and in QuickTime (actually, I'm surprised that the playback code is different).
(Originally asked on Apple Support Communities, but I got no answer there.)