Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hi, I write a python client for owt-server #1337

Open
vipcxj opened this issue Jul 31, 2023 · 4 comments
Open

Hi, I write a python client for owt-server #1337

vipcxj opened this issue Jul 31, 2023 · 4 comments

Comments

@vipcxj
Copy link
Contributor

vipcxj commented Jul 31, 2023

Hi, I write a python client for owt-server.
I wish you guys give me some suggestions.

@starwarfan
Copy link
Collaborator

Hi vipcxj,
Your project looks great!
You can improve the document like introducing the OWT versions, so users can easily use it.

@vipcxj
Copy link
Contributor Author

vipcxj commented Aug 2, 2023

@starwarfan Could you give me more details? What's "introducing the OWT versions" means?
By the way, In release 5.0, it said "Enabled peer connection reuse for conferencing, now force to use single
peer connection in JavaScript SDK as pilot.". But I have tested, imitating the js client code, subscribe again and again is impossible, the connect can not be established, it will hang forever. And there is comment in the js code said a channel only support a stream. So it seems that a channel only support a subscribation or publication. So I change may code to create a new channel every time calling publish or subscribe.

@starwarfan
Copy link
Collaborator

The client is based on which version of OWT.
The 5.x JavaScript SDK supports multiple streams over single peer connection.
If you imitates the JS SDK, you need confirm that if aiortc supports adding tracks on existing peer connection and generates right SDP.

@vipcxj
Copy link
Contributor Author

vipcxj commented Aug 3, 2023

@starwarfan

The client is based on which version of OWT.

I think it support the latest owt-server which I have tested. Since I imitates the JS SDK, it may support all versions the js sdk support.

The 5.x JavaScript SDK supports multiple streams over single peer connection.
If you imitates the JS SDK, you need confirm that if aiortc supports adding tracks on existing peer connection and generates right SDP.

I'm not sure how aiortc gets sdp, but aiortc doesn't support onIceCandidate, so candidates are accepted only once. setLocalDescription is written directly in the publish and subscribe methods so every time publishing and subscribing, it seems that the js client re-establish the connection. That's the hardest thing for me to understand. I have tested that my python clients can publish repeatedly without getting stuck, but subscribe does not work, so I change the code so that it create a new channel every time publishing and subscribing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants