# Meetingsdk-linux-raw-recording-sample

**URL:** <https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844>\
**Category:** Meeting SDK\
**Created:** [March 13, 2025, 2:40pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844 "2025-03-13T14:40:01Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 13, 2025, 2:40pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/1 "2025-03-13T14:40:01Z")

</div>

dear @chunsiong.zoom

We have tried  
github code “meetingsdk-linux-raw-recording-sample”

`cmake -B build`  
make  
create config.txt and added following things

meeting\_number: “1234567890”  
token: “xxxxxxxx.yyyyyyyyyyyyyyyyyy.zzzzzzzzzzzzzzzzz”  
meeting\_password: “123456”  
recording\_token: “”  
GetVideoRawData: “true”  
GetAudioRawData: “true”  
SendVideoRawData: “false”  
SendAudioRawData: “false”

out is as below

root@worker01:/var/www/html/meetingsdk-linux-raw-recording-sample/demo/bin# ./meetingSDKDemo  
getpath  
self path: /var/www/html/meetingsdk-linux-raw-recording-sample/demo/bin  
Readfile success.  
Reading…meeting\_number: “84870325146”  
Reading…token: “eyJzdiI6IjAwMDAwMiIsImFsZyI6IkhTNTEyIiwidiI6IjIuMCIsImtpZCI6IjI1YzVkMzNhLTc2YTYtNDRkYy05OTU5LTViNDc0MzY3NGY3YiJ9.eyJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJ1NmwtUUNkUVNoSzFqS19GQzJuejh3IiwidmVyIjoxMCwiYXVpZCI6ImQzM2VlZGVhZjAwYTZiZTQxMWFkNTI2NjMzMjhkNDkxZmNkMDQ2OGY1MTU4MzNiY2RiY2Q0NWVkNjgxY2U3NzMiLCJuYmYiOjE3NDE4NzQ5OTksImNvZGUiOiJIQWt5SG1ZOVlpYmlhMFREWXRyUV9lM19QSzh2V0RvbVEiLCJpc3MiOiJ6bTpjaWQ6ZEY3ZllhVlRoZWNqNmpFUFFxOUl3IiwiZ25vIjowLCJleHAiOjE3NDE4Nzg1OTksInR5cGUiOjAsImlhdCI6MTc0MTg3NDk5OSwiYWlkIjoiT3owZG5CZnhUNmlsZkVUSmptQ3dLUSJ9.pKzqqBj-Qzs1MySYYy-n8xhmC2f4blpJoOuzIzDtDEh2F5wRXypng-QPbXHcwOZZ3nbRr0ledQdOlRgNQEVzWg”  
Reading…meeting\_password: “0cYELH”  
Reading…recording\_token: “”  
Reading…GetVideoRawData: “true”  
Reading…GetAudioRawData: “true”  
Meeting Number: 84870325146  
Token: eyJzdiI6IjAwMDAwMiIsImFsZyI6IkhTNTEyIiwidiI6IjIuMCIsImtpZCI6IjI1YzVkMzNhLTc2YTYtNDRkYy05OTU5LTViNDc0MzY3NGY3YiJ9.eyJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJ1NmwtUUNkUVNoSzFqS19GQzJuejh3IiwidmVyIjoxMCwiYXVpZCI6ImQzM2VlZGVhZjAwYTZiZTQxMWFkNTI2NjMzMjhkNDkxZmNkMDQ2OGY1MTU4MzNiY2RiY2Q0NWVkNjgxY2U3NzMiLCJuYmYiOjE3NDE4NzQ5OTksImNvZGUiOiJIQWt5SG1ZOVlpYmlhMFREWXRyUV9lM19QSzh2V0RvbVEiLCJpc3MiOiJ6bTpjaWQ6ZEY3ZllhVlRoZWNqNmpFUFFxOUl3IiwiZ25vIjowLCJleHAiOjE3NDE4Nzg1OTksInR5cGUiOjAsImlhdCI6MTc0MTg3NDk5OSwiYWlkIjoiT3owZG5CZnhUNmlsZkVUSmptQ3dLUSJ9.pKzqqBj-Qzs1MySYYy-n8xhmC2f4blpJoOuzIzDtDEh2F5wRXypng-QPbXHcwOZZ3nbRr0ledQdOlRgNQEVzWg  
meeting\_password: 0cYELH  
recording\_token:  
GetVideoRawData before parsing is : true  
GetVideoRawData: 1  
GetAudioRawData before parsing is : true  
GetAudioRawData: 1  
directory of config file: /var/www/html/meetingsdk-linux-raw-recording-sample/demo/bin/config.txt  
Init meetingSdk:success  
AuthService created.  
AuthServiceEventListener added.  
AuthSDK:token extracted from config file eyJzdiI6IjAwMDAwMiIsImFsZyI6IkhTNTEyIiwidiI6IjIuMCIsImtpZCI6IjI1YzVkMzNhLTc2YTYtNDRkYy05OTU5LTViNDc0MzY3NGY3YiJ9.eyJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJ1NmwtUUNkUVNoSzFqS19GQzJuejh3IiwidmVyIjoxMCwiYXVpZCI6ImQzM2VlZGVhZjAwYTZiZTQxMWFkNTI2NjMzMjhkNDkxZmNkMDQ2OGY1MTU4MzNiY2RiY2Q0NWVkNjgxY2U3NzMiLCJuYmYiOjE3NDE4NzQ5OTksImNvZGUiOiJIQWt5SG1ZOVlpYmlhMFREWXRyUV9lM19QSzh2V0RvbVEiLCJpc3MiOiJ6bTpjaWQ6ZEY3ZllhVlRoZWNqNmpFUFFxOUl3IiwiZ25vIjowLCJleHAiOjE3NDE4Nzg1OTksInR5cGUiOjAsImlhdCI6MTc0MTg3NDk5OSwiYWlkIjoiT3owZG5CZnhUNmlsZkVUSmptQ3dLUSJ9.pKzqqBj-Qzs1MySYYy-n8xhmC2f4blpJoOuzIzDtDEh2F5wRXypng-QPbXHcwOZZ3nbRr0ledQdOlRgNQEVzWg

nothing happening next…Please suggest

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [March 13, 2025, 4:45pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/2 "2025-03-13T16:45:40Z")

</div>

Hey @amol2,

I would recommend enabling any available debug logging to see if there are error codes or warnings that might pinpoint the issue. If not, I would add additional logging around the part of the code where this seems to be getting stuck.

It also helps to double-check that your token is valid (and hasn’t expired) and that the meeting number matches what’s actually scheduled. Lastly, if you’re still having issues, I would double check that these steps have been followed to ensure the demo app works as expected.

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 14, 2025, 5:50am UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/3 "2025-03-14T05:50:40Z")

</div>

Dear @amanda-recallai.

I have created APP like this. ( **Mine is free account** )

1. Build APP
2. Selected **General** APP
3. Basic Information (selected/added)  
– Admin Managed  
– Outh information – [https://oauth.pstmn.io/v1/callback](https://oauth.pstmn.io/v1/callback)
4. Access-- Nothing changed
5. Surface – Meeting SDK selected
6. Embed  
– Meeting SDK enable and downloaded 6.1.10 version of Linux
7. Scope  
– added some meeting scope but not exactly not idea which scope need to select for our problem

Note: **APP is in Draft mode.**

Generated Token by following steps using Postman

1. selected Authorization OAuth 2.0
2. Auth URL - [Error - Zoom](https://zoom.us/oauth/authorize)
3. Access Token URL - [https://zoom.us/oauth/token](https://zoom.us/oauth/token)
4. Client ID and Secrete from my APP
5. Get Access token (token generated)

Is this process correct or not? if anything need to change please suggest.

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [March 14, 2025, 3:53pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/4 "2025-03-14T15:53:18Z")

</div>

@Amol2

It looks like you might be generating and passing the wrong type of token to this bot when it tries to join the call. You’re generating the local recording token which is an optional token that gives the bot additional recording permissions when it’s joining the call.

Instead, you should generate a Meeting SDK JWT and provide that when the bot is joining the call. You can view [Zoom’s docs](https://developers.zoom.us/docs/meeting-sdk/auth/#generate-a-meeting-sdk-jwt) around how to properly create this JWT for more information. When this is provided, your bot should be able to join your Zoom call and properly request recording permissions.

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 14, 2025, 4:34pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/5 "2025-03-14T16:34:50Z")

</div>

Dear @amanda-recallai

Thanks for reply. I tried JWT token as per document and it is working, audio recording in audio.pcm file.

now i have 2 questions

1. Can we join multiple meetings? Like thread
2. Can we get Interpretation channel streaming?

Could you please help me on this.

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [March 18, 2025, 4:10pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/6 "2025-03-18T16:10:17Z")

</div>

Great to hear this is working for you now @Amol2! For your other 2 questions:

1. **Can we join multiple meetings? Like thread**

I found a forum post saying [you can have multiple meetings run at the same time](https://devforum.zoom.us/t/how-many-instances-of-meeting-sdk-can-i-have-running/87213) but a single instance of the Meeting SDK can only join one meeting at a time per process. Zoom does not officially support joining multiple meetings simultaneously within the same SDK instance (e.g., using threads)

For a single user or bot to participate in multiple meetings at once, Zoom recommends running separate instances of the application, each with its own SDK initialization and valid JWT token, provided your account supports concurrent meetings

Note that with a free account, [you’re limited to hosting or joining one meeting at a time](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0068522). Paid plans like Business or Enterprise allow licensed users to host up to two concurrent meetings, but joining multiple as a participant still requires separate instances

1. **Can we get Interpretation channel streaming?**

I’m not able to find explicit guide on this but you could take a look at the [InMeetingInterpretationController](https://marketplacefront.zoom.us/sdk/meeting/android/us/zoom/sdk/InMeetingInterpretationController.html)

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 20, 2025, 7:02pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/7 "2025-03-20T19:02:43Z")

</div>

Dear @amanda-recallai ,

Thanks for reply.

**Interpretation channel**

The link provided by you is related to Android SDK. We need Linux Meeting SDK.

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 21, 2025, 6:24am UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/9 "2025-03-21T06:24:39Z")

</div>

Dear @Colin2@amanda-recallai@chunsiong.zoom

We are not facing issue. We are able to join meeting using bot.

Now,  
We have zoom meeting with multiple people (consider 50 or more). These include all language speakers, Interpreter, bot user, listeners.

We need to capture audio from language interpreter + other speakers.  
but only from English channel and English Speakers.

We have 4 functions.

1. onOneWayAudioRawDataReceived

2. onMixedAudioRawDataReceived

3. onShareAudioRawDataReceived

4. onOneWayInterpreterAudioRawDataReceived  
– here we can add language filter to get English Channel.

really appreciate, if you guide on this.

Thanks.

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [March 21, 2025, 12:58pm UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/10 "2025-03-21T12:58:50Z")

</div>

@amanda-recallai @Colin2@chunsiong.zoom

we found reference class in Window SDK – IMeetingInterpretationController  
Ref URL : [Meeting SDK for Windows API Reference: IMeetingInterpretationController Class Reference](https://marketplacefront.zoom.us/sdk/meeting/windows/class_i_meeting_interpretation_controller.html)

with following functions.

IsInterpretationEnabled()  
GetAllInterpretationLanguageList()  
JoinInterpretationChannel(int languageID):  
TurnOffOriginalAudioWhenInChannel()  
GetInterpretationLanguageByID(int languageID)

Same things we are looking into Linux SDK. but not able to get.

Please let us know if you can help on this.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [April 14, 2025, 6:09am UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/11 "2025-04-14T06:09:59Z")

</div>

@Amol2 can you provide a sample of the jwt token you are using?  
please tag me in your response as well

---

<div class="post-metadata">

**Author:** ![Amol2](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Amol2](https://devforum.zoom.us/u/Amol2)\
**Post date:** [April 14, 2025, 6:21am UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/12 "2025-04-14T06:21:31Z")

</div>

@chunsiong.zoom

Thanks for reply.

our token problem is resolved.

we are trying to get Interpreter voice however in Linux SDK we are not able to found any method or class to join the channel and capture the voice.

like  
we found reference class in Window SDK – IMeetingInterpretationController  
Ref URL : [Meeting SDK for Windows API Reference: IMeetingInterpretationController Class Reference](https://marketplacefront.zoom.us/sdk/meeting/windows/class_i_meeting_interpretation_controller.html)

with following functions.

IsInterpretationEnabled()  
GetAllInterpretationLanguageList()  
JoinInterpretationChannel(int languageID):  
TurnOffOriginalAudioWhenInChannel()  
GetInterpretationLanguageByID(int languageID)

Need to get only English voice from meeting (English Speakers and English Interpreter)

We are looking solution using Window or Linux SDK.

Really appreciate, if you could help or suggest.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [April 15, 2025, 4:31am UTC](https://devforum.zoom.us/t/meetingsdk-linux-raw-recording-sample/129844/13 "2025-04-15T04:31:49Z")

</div>

@Amol2 that is not a supported scenario
