Streaming from multiple URLs (Peer-to-Peer)

by Hun » Wed, 04 Mar 2009 06:58:04 GMT

Sponsored Links

I am developing a peer-to-peer video streaming application for
Android, and I have been around this discussion for two months. Still
I haven't been able to find a good approach for my application.

Basically, I have multiple sources in the network (as peers). Each of
them sends a substream of a video to an Android mobile. A P2P
application (I plan to develop) is running on the mobile, and
assembles these substreams into a single stream. Then, the P2P
application passes the assembled stream to a media player for

For my purpose, none of "local file playback" and "RTSP/HTTP
streaming" work. I tried to send an MP4 clip from the multiple
sources, but I couldn't remove "gaps" between the playback of clips.

Next, I have been thinking about creating a local MP4 file by
encapsulating an assembled stream. I don't think it is a good idea,
because 1) MP4 encapsulation should be done in real time, and since
the file will grow over time, fileOpen() won't work. 2) It is just an
unnecessary, awkward step.

Finally, I came to a conclusion that I should write a new dataSource
node that will be used by PVPlayerEngine. This node will get input
from my P2P app ( I think this app should reside on top of JAVA API ),
and pass the assembled stream to the next node ( decoder node? ).

The assembled stream will be a train of H264 NAL units (created by
x264 encoder). I believe the AVC decoder included in OpenCore will
handle pure H264 NAL units, since any format parser  (such as MP4)
will return one or multiple NAL units that correspond to a single
video frame, if the input is an H264 encoded video.

Please share your thoughts on my plan. Can someone provide a better,
or strikingly easy solution?


Streaming from multiple URLs (Peer-to-Peer)

by Prajnashi S » Wed, 04 Mar 2009 13:28:32 GMT

 What's assembled stream? Do you mean you receive H264 streams from
multisite, then play them together (display each stream in an separated

-- Prajnashi S


Sponsored Links

Streaming from multiple URLs (Peer-to-Peer)

by Hun » Wed, 04 Mar 2009 20:11:29 GMT

 An original video is split into many substreams, and they are
assembled back to the original stream at the mobile. So, it is just a
single H264 video stream. I'm simply using multiple sites as a video

I wonder what would be the easiest way to achieve this plan.


Streaming from multiple URLs (Peer-to-Peer)

by Prajnashi S » Thu, 05 Mar 2009 05:07:41 GMT

 our requirement seems to play a raw 264 NAL streams, which shall be
recieved and assembled in a Java app. If you want to reuse opencore
framework, you need write a new source and file parser to receive data from
java side. Since opencore is a standalone process, you shall use any IPC
mechanism to do that (Binder, share memory, ...). To make opencore lauch
your plugins, you can define a specific URL for this case, for example,


On Thu, Mar 5, 2009 at 4:11 AM, Hun <> wrote:

-- Prajnashi S


Streaming from multiple URLs (Peer-to-Peer)

by Hun » Thu, 05 Mar 2009 07:47:17 GMT

 hank you, Prajnashi. Based on your suggestion, I think I should:

- Understand how "URL" is parsed in the OpenCore (to launch a specific
- Write a source node that receives a raw NAL unit from a JAVA
application (P2P layer).
- Understand the communication between the OpenCore process and the
JAVA application (using Binder or shared memory)

I still don't understand where "file parser" is used. Looks like the
new source node which I should add can't communicate with the next
node ( assuming it's a decoder node?) directly. In the OpenCore
source, I see "fileformats/*", where various file formats are defined.
In addition, "nodes/" contain several parser nodes. What folder is

Thank you!

On Mar 4, 9:07pm, Prajnashi S <> wrote:

Other Threads

1. Nothing new in first Android phone Just another iPhone with different OS

Sorry correct link is here:


2. How to compile android emulator on windows platform?

Dear all,
  Does anyone know how to compile the android emulator with source code 
on windows platform?
  Thanks a lot for your help!

Best Regards!
Jiang Jiang


3. An issue about Typeface

4. LocationManager - getLastKnownLocation() - NullPointer Exception

5. Does HTC Dream Have GPS?

6. -http-proxy problems

7. Can't run Notepad tutorials