mediaCapturePermission

You will call “MediaCapturePermission” to prompt the host for permission.

Once the host approves/deny your request, there is a event handler which you can check if the request is approved / deny.

Only when it is approve, then you can call “StartMediaCapture”. This method will trigger the “recording” image.

@management1 the error which you have encountered might be related to running docker on mac environment

Nevertheless, I would like to advise you that the sample provides you with access to raw PCM audio and YUV420 video file. You will need to specify where you want to save the files to in code level.

@chunsiong.zoom
where do i specify which folder to save the recordings and which file/configuration is done to enable the recording.
also we are running docker on ubuntu

@management1

YUV420 Video is specified in
ZoomSDKRenderer.cpp
under the method SaveToRawYUVFile

PCM is specified in ZoomSDKAudioRawData.cpp
under the method onMixedAudioRawDataReceived

@chunsiong.zoom
and where to give a specific path to save the recordings too ?

also to clarify we are giving the bot recording permission but it is still unable to record as highlighted in the above sent pictures.

@management1 the sample app is not meant to be used as is. You will need to change the code and customize it to your needs.

The path to save the files are already mentioned

YUV420 Video save path is specified in
ZoomSDKRenderer.cpp
under the method SaveToRawYUVFile

PCM save path is specified in ZoomSDKAudioRawData.cpp
under the method onMixedAudioRawDataReceived

After getting recording permission, the sample app already has an event handler which would start the audio and video recording.

@chunsiong.zoom
can you specify where this event handler it so that we can modify it according to our use case.

Because the issue at hand is, the headless bot joins the meeting, asks for permission which is granted but is unable to record.

Please view the below image :

@management1

I believe for that sample app which you have just shared, you will need to implement the event handler yourself.

There is another sample app which has the event handler implemented

@chunsiong.zoom
could you be kind enough to highlight where this event handler is, in which of the files, it makes our process way more simpler.

@management1
Please check under meeting_sdk_demo.cpp

//callback when given host permission
void onIsHost() {
printf(“Is host now…\n”);
CheckAndStartRawRecording(GetVideoRawData, GetAudioRawData);
}

//callback when given cohost permission
void onIsCoHost() {
printf(“Is co-host now…\n”);
CheckAndStartRawRecording(GetVideoRawData, GetAudioRawData);
}
//callback when given recording permission
void onIsGivenRecordingPermission() {
printf(“Is given recording permissions now…\n”);
CheckAndStartRawRecording(GetVideoRawData, GetAudioRawData);
}

@chunsiong.zoom
./meetingSDKDemo: error while loading shared libraries: libQt5Quick.so.5: cannot open shared object file: No such file or directory

we downloaded qt5 versions but it gives version mismatch error

could you either tell us why this issue is occuring and also the versions if required

we have followed the steps of GitHub - zoom/meetingsdk-linux-raw-recording-sample

@management1 ,

I don’t think the readme.md guide mentioned anything about downloading qt5 seperately. You don’t need to download qt5, it is already part of the SDK which you need to download and copy over.

@chunsiong.zoom


This is the issue now, it doesnot move ahead from this, i am passing all the correct parameters inclusive of the jwt token.
the config.txt is
meeting_number: “9407163058”
token:
meeting_password: “6xaDnT”
recording_token: “”
GetVideoRawData: “true”
GetAudioRawData: “true”
SendVideoRawData: “false”
SendAudioRawData: "false

i have further debugged and have identified that the issue is SDKERR_INTERNAL_ERROR 15 SDK internal error…

Do you have any idea why this occurs and a way around it.

@management1 sorry I’m not familiar with that error code.

Did you use the SDK files as is based on the readme? There is a chance that the error in compilation or runtime is caused by variations from the guide.

Could you also share the signature in clear text form?

the signature is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJjZ2luOW11RVJZYTF6ZzN2ZURqd3dnIiwibW4iOjk0MDcxNjMwNTgsInJvbGUiOjAsImlhdCI6MTcxMjA0NzkwMSwiZXhwIjoxNzEyMDQ4NTAxLCJ0b2tlbkV4cCI6MTcxMjA0ODUwMX0.ci956S38HAOaz89vvjsYuOfYsyGDB6b5SVFFOgQcJwU

all steps from guide / read me have been followed

@management1 can you follow the guide on sdk signature creation?

I won’t go thru all of them, but for your specific token, the expire is less then the required 30 minutes from iat

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJjZ2luOW11RVJZYTF6ZzN2ZURqd3dnIiwiaWF0IjoxNzEyMDQ3OTAxLCJleHAiOjE3MTIwNTU3MDEsInRva2VuRXhwIjoxNzEyMDU1NzAxfQ.F1VKB5kVwibKwp6HksfQslT9iMa8BbE8027_gp421RY

please evaluate this token, i have fixed from my end, the expiration time

this has just expired by the way

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJjZ2luOW11RVJZYTF6ZzN2ZURqd3dnIiwiaWF0IjoxNzEyMDQ3OTAxLCJleHAiOjE3MTIwOTE3MDEsInRva2VuRXhwIjoxNzEyMDkxNzAxfQ.w4zAib2ll6cqDmxc6sh9QNpJ8wpIgYImIwrMtkklLLU

test this, have added a 12 hour time delay now

@management1,

This clientID is for production. Your application has not been published yet, you should still be using development clientID.