Agora-Python-SDK icon indicating copy to clipboard operation
Agora-Python-SDK copied to clipboard

Linux support

Open technophilic opened this issue 5 years ago • 13 comments

AI today is extensively developed in Linux servers and datacenters. It would be great if Agora provides Linux support for the python SDK which would mostly be used to integrate video with AI applications.

technophilic avatar Aug 16 '19 09:08 technophilic

Python SDK on linux is on our roadmap plan but we do not yet have a specific timeline yet. Please keep watching our repo for latest updates.

plutoless avatar Aug 18 '19 03:08 plutoless

hey, is the support for Linux is implemented ? I couldn't install it to my laptop

Khalid-noor avatar Feb 22 '21 13:02 Khalid-noor

@plutoless mind sharing the challenges of bring this SDK to linux? Maybe the community can help figure this out.

eugene-yang avatar Feb 23 '21 00:02 eugene-yang

@eugene-yang the challenge is we don't have an official published linux rtc sdk.. what i know is we have a version to be released in near future but currently i can't yet give a precise date. once we have it supporting linux python would be pretty straight-forward.

plutoless avatar Feb 28 '21 12:02 plutoless

Thanks @plutoless, is that an compiling issue or deeper with the system calls? I could be very wrong but I imagine that an OSX version is not going to be very different from a Linux version, right?

eugene-yang avatar Mar 02 '21 04:03 eugene-yang

@eugene-yang in fact no. the media device api are quite different :)

plutoless avatar Mar 02 '21 05:03 plutoless

Highly awaited feature for us as well

alok-mishra-01 avatar Sep 13 '21 11:09 alok-mishra-01

Would be great to be able to use agora-python-sdk on linux..

grzegorzk avatar Sep 14 '21 15:09 grzegorzk

👍 Would be critical to have the sdk on linux. Linux is the most common streaming environment.

hblanken avatar Sep 15 '21 08:09 hblanken

Linux Agora SDK would be great thing to have available in our toolbox for wider range of integrations. Really highly awaited feature.

sqeeswy avatar Sep 15 '21 08:09 sqeeswy

Here is my attempt at this, not sure if its the most efficient or not. For my use case I just needed video not audio.

  1. First I downloaded the Agora On-premise Recording SDK for Linux.
  2. I modified the recording type to this uint32_t getVideoFrame = agora::linuxsdk::VIDEO_FORMAT_YUV_FRAME_TYPE; this gives me raw frames as fast as they come. If you use other frame types it will be on a timer with minimum one frame per second.
  3. I modified the function AgoraSdk::videoFrameReceivedImpl to save the frames into a buffer within the recorder to process it on the main thread.
  4. I consume the frames as they come (display, run AI model on, etc.), notice I store each incoming frame by a map with the key being the user ID.
  5. You can test the results by simply joining the same channel and appID from the browser here.

I believe audio streams can be treated the same. The good thing is that each frame comes with its millisecond timestamp to help with syncing.

ialhashim avatar Jun 24 '22 14:06 ialhashim

Any updates or workarounds? Or I need to create somehow Python API for C++ On-premise SDK and run it on linux? Right now the alternative is to use Windows Server, its very bad alternative for my situation.

Please somebody tell me if you have 1-week workaround idea.

thedogrex avatar Nov 21 '22 16:11 thedogrex

We are waiting for the linux agorartc python SDK

louay-075 avatar Apr 15 '23 23:04 louay-075