Hi Andrew. I am also having this issue. As far as I can tell (thanks to packet capture), the Google Nest Hub makes a connection to Home Assistant, downloads the .m3u8 playlist and starts to download the video segments. However, it seems like it does not like the format of the HA-provided stream.
But it is very puzzling because I have this (the Googe Nest Hub playing a stream from the same camera) working with another home automation platform and I don’t see a big difference in the streams – I can play the stream with a player on my laptop and both, the HA-provided stream and the stream provided by the other home automation platform (which is just a stream provided by Shinobi, an open source Network Video Recorder), play fine.
Below is the command output after playing both streams on my desktop; still trying to understand what causes the Google Nest Hub to not like the HA-provided stream.
=======================
Working (stream not from HA):
shell$ mpv http://a.b.c.d:8080/xxxxxxxxxxxx/hls/xxxxxx/xxxxxxx/s.m3u8
● Video --vid=1 (h264 1920x1080 20 fps)
● Audio --aid=1 (aac 1ch 8000 Hz)
MESA-INTEL: warning: ../src/intel/vulkan/anv_formats.c:834: FINISHME: support more multi-planar formats with DRM modifiers
[ffmpeg/video] h264: Device does not support the VK_KHR_video_decode_queue extension!
[ffmpeg/video] h264: decode_slice_header error
[ffmpeg/video] h264: no frame!
Error while decoding frame (hardware decoding)!
Using hardware decoding (vaapi).
AO: [pulse] 8000Hz mono 1ch float
VO: [gpu-next] 1920x1080 vaapi[nv12]
AV: 00:00:03 / 00:00:09 (40%) A-V: 0.073 Cache: 5.5s/2MB
Exiting... (Quit)
Non-working (stream from HA):
shell$ mpv http://a.b.c.d:8123/api/hls/xxxxxxxxxxxxx/master_playlist.m3u8
[ffmpeg/demuxer] hls: Estimating duration from bitrate, this may be inaccurate
● Video --vid=1 (h264 1920x1080 20 fps 5163 kbps) [default]
● Audio --aid=1 (aac 1ch 8000 Hz 8 kbps) [default]
MESA-INTEL: warning: ../src/intel/vulkan/anv_formats.c:834: FINISHME: support more multi-planar formats with DRM modifiers
[ffmpeg/video] h264: Device does not support the VK_KHR_video_decode_queue extension!
[ffmpeg/video] h264: decode_slice_header error
[ffmpeg/video] h264: no frame!
Error while decoding frame (hardware decoding)!
Using hardware decoding (vaapi).
AO: [pulse] 8000Hz mono 1ch float
VO: [gpu-next] 1920x1080 vaapi[nv12]
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it
AV: 00:00:35 / 00:00:39 (88%) A-V: 0.009 Cache: 4.3s/1MB
Exiting... (Quit)