Video/Audio call API + tox binding
Name: Mykola Dolhyi
Email: [email protected]
Most smart TVs now have integrated Skype client and it’s handy, especially if you are not talking face to face but with your kids/family/friends. I suppose it would be quite useful to have an option to make/receive calls from media center. For now if someone want’s to make a call from his HTPC he needs to toggle from kodi to skype or utox and backwards and it’s definitely not OK. The idea is to add a new API to bind different VoIP/IM messengers and a new dedicated tab, which will hold all your contact and messages from different sources and allow you to make a call, or receive one. Text messages is not too handy for this kind of device, but as many people use wireless keyboards to control their media centers it should be ok either. As you know Skype is a piece of proprietary software without public API (SkypeKit is closed), moreover you can’t rely on it to keep your conversation private, so it’s not an option. But what we have is a shiny-new secure p2p protocol called Tox, and I suppose it’ll fit just fine.
How will I achieve this:
The project will consist of three parts:
First: develop some kind of messaging API (or integrate some existing one), will provide unified access to contacts and accounts, chats, video and audio calls.
Second: develop a GUI part for Kodi, this part will show list of contacts by accounts, view chat messages and make video calls. When a call is made or received video stream from a local web-cam as well as audio stream are submitted to API for future transition to client, incoming streams are submitted to kodi for playback.
Third: create a binding of toxcore and toxav to this API
What will the project focus on:
The main focus will be set on a well-built API, as a most important part, which is not desirable to change in future.
- Kodi becomes a more self-containing platform;
- Developers get a unified API to create their own bindings to different IMs;
- Widespread tox among different kinds of users;
Dependencies: libopus and libvpx (are already added to kodi), toxcore, toxav, toxdns, NaCL or libsodium
Requirements: C, C++, web camera, microphone
So, what do you guys think about all of this?
My name is Mykola Dolhyi, I’m from Ukraine. Am a third year student of Kyiv National University of Taras Shevchenko on a Mathematics department. Besides of some mathematics background I possess some coding skills in C++, C#, Java, Python, several functional languages (ML,Racket,Haskell), have a little experience in parallel computing with CUDA and OpenCL, databases (MS SQL, MySQL, MongoDB), GUI frameworks (Qt Quick,WPF,GTK+,Swing,WinApi,WinForms). I have some experience in game development with OpenGL (both desktop and mobile), used to play a bit with gstreamer (especially transcoding and video streaming parts).