Is it possible to send 720p video from tablet (using WEB Video SDK and React)?

Video SDK Type and Version
@zoom1234/videosdk”: “^1.5.5”,

Description

I successfully implemented the logic of sending and receiving 720p video from the desktop. But when I try to play the same thing on a tablet (on iPad, Chrome) , the video will not be rendered at all. I do not see the participant, and the participant does not see me. SharedArrayBuffer is enabled on tablet.

The code:
// for own video

   client
        .join(topic, token, userName, password)
        .then(() => {
            stream = client.getMediaStream()
            const operator = client.getCurrentUserInfo()
            setOperatorId(operator.userId)
            stream
                .startVideo({ hd: true })
                .then(() => {
                    stream
                        .renderVideo(
                            document.querySelector('#self-view-canvas'),
                            client.getCurrentUserInfo().userId,
                            960,
                            540,
                            0,
                            0,
                            3
                        )
                        .then(() => {
                            console.log(
                                'Operators video rendered successfully'
                            )
                        })
                        .catch((error) => {
                            console.log('Error in render video ', error)})
                })
                .catch((error) => {
                    console.log('Error in start video ', error)})
        })
        .catch((error) => {
            console.log('Error in Client Join ', error)})

//for participant video

const onVideoStateChange = async (payload) => {
try {
if (payload.action === ‘Start’) {
await stream.renderVideo(
document.querySelector(‘#participants-canvas’),
payload.userId,
960,
540,
0,
0,
3
)
await stream.startAudio()
} else if (payload.action === ‘Stop’) {
await stream.stopRenderVideo(
document.querySelector(‘#participants-canvas’),
payload.userId
)
}
} catch (error) {
console.log('Error in onVideoStateChange ', error)
}
}

    client.on('peer-video-state-change', onVideoStateChange)

Error

I don’t see Errors. It just doesn’t render video. I don’t see participant
and he doesn’t see me. Once I saw this warning: «cannot capture HD video due to either restriction and/or hardware limitation»

How To Reproduce

  1. I do zoom call
  2. I joined and participant joined
  3. I don’t see participant and he doesn’t see me.
  4. If I do the same on desktop I don’t have problems with rendering video.
  • Device: iPad
  • OS: iPadOS 16.2
  • Browser: Chrome 108.0.5359.112
  • SharedArrayBuffer is enabled

Hey @memx86

Thanks for your feedback.

There’s a known video issue on iOS with SharedArrayBuffer enabled. We have fixed it in the upcoming release.

As for the 720P video on a tablet, in Video SDK we will check whether the device matches the requirement for sending 720P, if not it will be downgraded to 360P.

Thanks
Vic

1 Like

Thanks for the answer! Tell me, please, when exactly is the release of the version with the fix for this issue planned? The release of our product depends on this.

As for the tablet we managed to run video in 720p in following steps:

  1. Clear browser cookies.
  2. Clear application from RAM.
  3. Change Chrome’s mode to desktop.
    It works one time and then there is no video.

Hey @memx86

We will roll out Video SDK Web 1.6.0 in the near days.

Thanks
Vic

1 Like

It looks like v1.6.2 has released - let us know if this helps you out!

1 Like

No changes for me unfortunately. I’m even having frequent errors {reason: ‘closed’, type: ‘IMPROPER_MEETING_STATE’} now on stream.startVideo() and stream.renderVideo() even on desktop version now.

1 Like

Thank you for the follow up - @vic.yang any ideas on how to help here?

1 Like

Thanks for your advice. All is working after we reinstalled new version of VideoSDK package. Somehow update was corrupted or something. So new version is indeed a solution

1 Like