We had an offset of one to two seconds between the video track and the audio track in our recordings.
The offset was only visible in some players, but was particularly noticeable during subsequent rendering (in our case for different qualities).
We use the OpenviduEnterprice with three medianotes on our own not so powerful virtual servers. We use media servers with 4 or 6 cores for recording.
We have now found a solution to this problem. We have created our own docker recording image and added in /utils/headless-chrome.sh before the
touch stop
a
sleep 3s
to give the starting chrome some time to collect itself before the recording starts.
This has solved our problem and we now have a request.
Can this sleep or the duration of the sleep be set via a variable in the .env? Or do you have another solution? Otherwise we would have to build a separate recording image for each version update.
Hello @schauspielervideos
I don’t have any explanation why adding a sleep would affect the synchronization of the audio and the video…
What do you mean by:
The offset was only visible in some players
It is not possible to configure this via .env
. You will need to create your own image per version.
Hello @cruiba,
it also took us a long time to find this solution. But the error was constantly reproducible and has disappeared since we installed the sleep. The error also occurred independently of the mediaserver kurento or mediasoup.
with
we mean that the videos had no offset between audio and video when played in Chrome and e.g. in Quicktime Player on MacOS. But they did in Windows Media Player and Firefox. After rendering (with ffmpeg or Handbrake) the gap was always there.
We can’t really understand why it is not possible to pass variables. The debug statement OPENVIDU_RECORDING_DEBUG (DEBUG_CHROME_FLAGS) is also passed through, as is the RESOLUTION.
In our application, the recording function is the key feature. That is why we have invested a lot of time to find a solution.
If you wish, we can send you links to sample recordings that show the gaps.
Best regards