RTMP -> HLS - Audio Wihout Sync

Hello!

We are streaming from VMIX to Youtube and FlashPhoner.

On Youtube we got SYNC audio x video.

On our structure, we got Audio and Video after some time, lost the sync and do not recover.

We have an ORIGIN server and EDGE on Google Cloud.

We can see the lost of SYNC on WebRTC and M3MU sources, so its not caused by edges.

What is the best settings to prevent this?
 

Max

Administrator
Staff member
Good day
On our structure, we got Audio and Video after some time, lost the sync and do not recover.
We have an ORIGIN server and EDGE on Google Cloud.
We can see the lost of SYNC on WebRTC and M3MU sources, so its not caused by edges.
What is the best settings to prevent this?
Please clarify: do you observe out of sync while playing WebRTC from Origin? If yes, please check the following:
1. Is the problem reproduced while publishing from OBS Studio or ffmpeg?
2. Please check the channel bandwidth between publisher and server using iperf as described here (TCP should be tested). Please use lower resolution/bitrate if channel bandwidth does not fit for stream parameters used, or please use datacenter closer to a publisher.
3. Pleaes check stream published metrics using REST API query /stream/metrics. If VIDEO_LOST value grows consider to use lower resolution/bitrate or to use datacenter closer to a publisher.
If channel is good enough and no losses occur, or if the problem is reproduced in Vix only, please collect a report as described here including client debug logs and RTMP traffic dump on port 1935 on Origin. Traffic dump collection should be started before RTMP publishing to Origin. Please send us report (or link to it if size exceeds 30 M) using this link.
 
Dear Max,

We observe playing origin using Flashphoner Player - WebRTC, audio & video from rtmp is sync.
After few minuts, we can see lost of audio and video sync but its recovery itself.

Using HLS player - HLS.JS lost audio / video sync and not recover.

Regards,
Rafael
 

Max

Administrator
Staff member
We observe playing origin using Flashphoner Player - WebRTC, audio & video from rtmp is sync.
After few minuts, we can see lost of audio and video sync but its recovery itself.
It seems like publishing channel issue.
Please check the channel bandwidth between publisher and server using iperf as described here (TCP should be tested). Please use lower resolution/bitrate if channel bandwidth does not fit for stream parameters used, or please use datacenter closer to a publisher.
Please check stream published metrics using REST API query /stream/metrics. If VIDEO_LOST value grows consider to use lower resolution/bitrate or to use datacenter closer to a publisher.
Also please collect a report as described here including client debug logs and traffic dump on HLS playing server. Traffic dump collection should be started before publishing stream to HLS server. Please send us report (or link to it if size exceeds 30 M) using this link.
 
Hello Max!

Bandwidht is Ok, No Video_Lost and iperf is OK.

The problem is related to HLS player.

Stream A -> WebRTC -> SYNC
Stream A -> HLS Play -> Start on SYNC and lost after 30 - 40 minuts - not recover.
 

Max

Administrator
Staff member
Do we understand correctly: you publish WebRTC stream to one WCS server, then push it via RTMP to another WCS server, and play it via HLS?
In this case, RTMP outgoing stream buffering setup can help (but add some delay).
 

Max

Administrator
Staff member
We notice a strange thing.
Once we enable transcoder ... our OUT OF SYNC has been resolved.
This is not strange. Stream transcoding can help to play a stream smoothly especially if you are using HLS to play. For example, playing HLS, you should provide an even stream FPS to escape freezes, and transcoding equalizes FPS in this case.
 
Top