← Back to team overview

p2psp team mailing list archive

GSoC 15 idea: Multiplatform source video

 

Hello everybodoy!

My name is Mariano Finochietto, I am a Master's student in Computer Science
(spec: digital imaging and distributed real time systems) at ESIEE Paris,
France.

I would really like to contribute to P2PSP. I plan also to submit a
proposal to GSoC related to designing and implementing new video sources.
In fact, I would like to extend the idea of just doing it for Android, and
make it multiplatform.

First approach:

I suggest using Qt (C++ and QML) and target first Android (maybe 4+) and
Ubuntu 14+ (this is mainly for debugging/control). From there, analyze
adding other platforms.

I have already built a repository at Git and I am going to be working on a
prototype to understand better the issues/challenges that I may face. Link:
https://github.com/marianofino/video-source

So far, I have been playing with the experiments at the P2PSP repo, and
started working on two main parts:

1. Recording/Encoding to WebM.

This was easy to do in Ubuntu because Qt uses Gstreamer and comes with
VP8/Vorbis/WebM, so it was pretty straightforard. On the other hand, on
Android, there are some issues:
1.1 From the Core Media Formats section in the official documentation (
http://developer.android.com/guide/appendix/media-formats.html#core) we can
see that it supports VP8 encoding and WebM container, but not Vorbis
encoder. I will continue checking this, but it may be a problem.
1.2 Although Qt relayis on the "underlying system" for encoding, it is not
recognizing the VP8 encoding from Android. I am already researching about
that (I have posted a question in the official forums:
http://forum.qt.io/topic/51983/vp8-encoding-on-android).

One solution for this, would be to bundle the codecs together with the app.
We can have 2 different apps, one which uses the codecs available, and
another one which comes with the necessary codecs. What I also like about
this idea is that, at a first glance, would make the app more portable.

2. Streaming to Icecast2

I've installed Icecast2 and playd a bit with it using gstreamer and
liquidsoap. I haven't do much here, but just make sure that I could stream
video in WebM format. So far it works fine :)

My next step here would be to make a simple source which streams video in
WebM format to Icecast2, for both Android and Ubuntu.

Anyway, this is pretty much a draft. I wanted to ask you, what do you think
about the idea? Do you think I am on the right path here? Any feedback is
welcome!!

Thank you!
Best regards!
-- 
Mariano Finochietto

Follow ups