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. Table tag in html content cannot be loaded by webview(witch WebView.loadData)?

Hi, All
I find that when if there are some table tags in HTML, then the
webview will not display anything. This only happens when use
WebView.loadData or WebView.loadDataWithBaseURL. If I put the same
HTML file to a server and use WebView.loadUrl, this problem doesn't
exist. And if I remove the <table></table> tag, no problem too.

My HTML is like below:
<table border="0" width="100%" height="100%" id="table1">
                <p align="center"><font color="#FFFFFF">Update Checking Failed.
Please Try Again.</font></td>

Is this the known problem with webview? What do you suggest if I want
to use local html resources with different languages?



2. Android App login


I have built app that display asp pages using WebView but some of the
page want the authentication (Username ,Password ) to login I want my
application to auto login to this page using Username and Password
from my Application

This is my code Please Help

public class eadvantage extends Activity {
    /** Called when the activity is first created. */
WebView mWebView; @Override public void onCreate(Bundle
savedInstanceState) { super.onCreate(savedInstanceState);

     HttpClient httpclient = new DefaultHttpClient();
     HttpPost httppost = new HttpPost("

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new
        nameValuePairs.add(new BasicNameValuePair("txtUserID",
        nameValuePairs.add(new BasicNameValuePair("txtPassword",
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

        mWebView = (WebView) findViewById(;

        mWebView.setWebViewClient(new WebViewClient());


3. Java Script alert not working in Android WebView

4. how many messages can I send via C2DM?

5. MediaPlayer.isPlaying() question

6. Display sd card size

7. Creating SQLite DB