We build such flow: WebRTC(Browser) => publish and mix into view "common"(OWT) => streaming out as RTMP(NMS/SRS) => play by Safari <video>(HSL). We also tried generating HLS files directly from OWT and serve them by express.js for safari to request, but the problem remains the same.
The problem is that after normally played for abount 1min, the video keeps still (the video screen not change any more). However, in browser developer tool, we can see .m3u8 and .ts files are still being requested correctly, you can even download .ts and play!
By the way, Chrome on Android and Windows can play the same url using https://livepush.io/hls-player/index.html. It seems that only Safari <video> doesn't work well with OWT streaming out.
A recurrent reference:
- WebRTC video stream: 1920x1080, h264(CB), 30fps (no audio)
- OWT mixed stream: 1920x1080, h264(CB), 30fps; opus/48000/2
- Streaming out config: just provide audioId and videoId, no other configs