Accessing the video RTMP stream

3,430 views
Skip to first unread message

Chad Pilkey

unread,
May 24, 2012, 6:08:46 PM5/24/12
to bigblueb...@googlegroups.com
We have been trying to access the video stream coming from the red5 server. For all of our efforts we can't seem to open a connection.

At the moment we're just hard coding the stream we want to access. We're getting the stream from the info in the debug log. An example of a stream as we're entering it in is "rtmp://142.204.133.7/video/183f0bf3a0982a127bdb8161e0c44eb696b3e75c-1337892855320/320x240102-1337894564756". I thought that was the proper format, but I was just wondering if we need to put a port into the url or if the stream name is incorrectly formatted maybe?

We've tried to open the stream with VLC, a video manipulation program called Xuggler, and also ffmpeg. None of them seem to be able to connect to our streams.

Does anyone notice any glaring issues with the url format, or have any pieces of wisdom that might help us fix our issue?

Chad

Leonardo Daronco

unread,
May 24, 2012, 6:18:01 PM5/24/12
to bigblueb...@googlegroups.com
Hi Chad,

The url seems ok. Here's an example of an url that I already used to receive a video stream from bbb:

But I don't think VLC can play it. I'm not sure why, but I remember trying to play it on VLC and it didn't work.

A while ago I made some tests with javascript/html players, to see if they could play a video from bbb. 
You can use it to try to play your videos.

Regards,
--
Leonardo Crauss Daronco




Chad

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/bLu6NBfs3bcJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.

HostBBB.com

unread,
May 24, 2012, 9:25:59 PM5/24/12
to BigBlueButton-dev
Chad,

Try using flowplayer, it will play live and recorded streams direct
from your BBB server and you can full screen content, this includes
playing videos and deskshare recordings with seeking.

Here are a couple of test links.

http://srv306.hostbbb.net/client/flow/stucksmall.html <-- this is
perfect size for most to watch and the file is seekable... dont need
to download it to watch last part.

This is HD http://srv306.hostbbb.net/client/flow/stuck.html <---
this requires you have 8mb of bandwidth, it will most likely stutter,
but its not the bbb server causing it.

red5 does not break a sweat on these.

You can use flowplayer to display live rtmp from bbb, or get a live
feed from andriod rtmp streamer, and adobe's free media encoder.

regards,
Stephen
hostbbb.com

On May 24, 6:18 pm, Leonardo Daronco <leonardodaro...@gmail.com>
wrote:
> Hi Chad,
>
> The url seems ok. Here's an example of an url that I already used to
> receive a video stream from bbb:
> rtmp://
> 192.168.0.101/video/183f0bf3a0982a127bdb8161e0c44eb696b3e75c-1328884719358/­320x2401-1328884730718
>
> But I don't think VLC can play it. I'm not sure why, but I remember trying
> to play it on VLC and it didn't work.
>
> A while ago I made some tests with javascript/html players, to see if they
> could play a video from bbb.
> The project at:https://github.com/daronco/bbb-video-stream-html-client
> You can use it to try to play your videos.
>
> Regards,
> --
> Leonardo Crauss Daronco
>
>
>
> On Thu, May 24, 2012 at 7:08 PM, Chad Pilkey <capil...@gmail.com> wrote:
> > We have been trying to access the video stream coming from the red5
> > server. For all of our efforts we can't seem to open a connection.
>
> > At the moment we're just hard coding the stream we want to access. We're
> > getting the stream from the info in the debug log. An example of a stream
> > as we're entering it in is "rtmp://142.204.133.7/video/183f0bf3a0982a127bdb8161e0c44eb696b3e75c-133789­2855320/320x240102-1337894564756".

Chad Pilkey

unread,
May 25, 2012, 11:21:09 AM5/25/12
to bigblueb...@googlegroups.com
Thank you guys for the responses.

The flowplayer did the trick for testing our rtmp stream.

Still don't know why it won't play in other applications though. It's very odd.

Chad
> > To post to this group, send email to bigbluebutton-dev@googlegroups.com.
> > To unsubscribe from this group, send email to
> > bigbluebutton-dev+unsubscribe@googlegroups.com.

rahul sanghi

unread,
Aug 27, 2012, 11:28:06 AM8/27/12
to bigblueb...@googlegroups.com
Hello,

I tried to view the deskshare stream via red5 publisher and simpleSubscriber (available in red5 demos) and using flowplayer but i dont see the stream. (I created a new meeting http://209.105.230.76 using api demos and started deskshare.) I am using the following:
1. URL to connect = http://209.105.230.76/deskShare and 
2. Stream to view = room-mock-default"

What URL/Stream do i have to connect to? I must be doing something wrong. It would be great if you guys can correct me. 

I used the following in flowplayer: 
                $f("rtmp_player", "flowplayer-3.2.10.swf", {
                    clip: {
                       url : 'room-mock-default', //this is the name of the stream assset in the encoder  
                       autoBuffering: true,
                       bufferLength: 3,
                       live : false,  // tell flowplayer it's live
                       provider: 'rtmp'
                 },

                plugins: {
                  rtmp: {
                  url: 'flowplayer.rtmp-3.2.9.swf',
 netConnectionUrl: 'RTMP://http://209.105.230.76/deskShare' ,  //this is the rest of the URL ex' ,  //this is the rest of the URL excluding the stream name that you set in the encoder
 subscribe:false  //subscribe to the stream
                      }
                 }
              });

Thanks!
> > To post to this group, send email to bigblueb...@googlegroups.com.
> > To unsubscribe from this group, send email to

Chad Pilkey

unread,
Aug 27, 2012, 12:45:31 PM8/27/12
to bigblueb...@googlegroups.com
Rahul,

The red5 streams use rtmp is the protocol that Flash servers use, that means it replaces the "http" in the netConnectionUrl. I believe you also need to add the room id to the end of the URL it'll look something like "183f0bf3a0982a127bdb8161e0c44eb696b3e75c-1338398132042".

Chad

rahul sanghi

unread,
Aug 27, 2012, 1:59:11 PM8/27/12
to bigblueb...@googlegroups.com
Chad, 
Thanks for the quick reply.

Currently, i have started screen sharing on my server. 
The room Id appears to be: <13e6de78eeed8fd1bdf16bef72153d02a4226c7f-1346078022611>
In BBB, screen share streams at the location <RTMP://192.168.1.5/deskShare/room-mock-default>

I tried the above on red5 publisher & red5 simpleSubscriber - Its able to connect but i dont see any video stream.  

Could you tell me what the complete URL would be? May be you could try the above yourself, while i am still streaming the same. 

Thanks,
Rahul

HostBBB.com

unread,
Aug 27, 2012, 3:36:36 PM8/27/12
to BigBlueButton-dev
Since deskshare is using a screen codec not sure it will play in
flowplayer...
however... look in client directory you will see
DeskshareStandalone.html

you can pass the room id params into this, and get an embeded
screenshare window for a webpage, been a year since i did this but
worked well ih .71a

regards.
Stephen
hostbbb.com
> >> see the stream. (I created a new meetinghttp://209.105.230.76using api
> >>>> 142.204.133.7/video/183f0bf3a0982a127bdb8161e0c44eb696b3e75c-133789­2855320­/320x240102-1337894564756".

rahul sanghi

unread,
Aug 27, 2012, 6:38:58 PM8/27/12
to bigblueb...@googlegroups.com
Ok. I put log statements to find out that the stream name is the same as the room Id. 
I finally got it working on red5 publisher. The trick was to keep the buffer to 0. :-)

Thanks. 

--
Rahul

Tjahzi

unread,
Oct 11, 2012, 5:14:06 AM10/11/12
to bigblueb...@googlegroups.com
Hi Chad,

Xuggler works with some tricks :

import java.awt.image.BufferedImage;

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import com.xuggle.xuggler.IContainer;
import com.xuggle.xuggler.IPacket;
import com.xuggle.xuggler.IStream;
import com.xuggle.xuggler.IStreamCoder;
import com.xuggle.xuggler.IVideoPicture;
import com.xuggle.xuggler.Utils;


public class Test {

    private static String ip = "x.x.x.x";
    private static String room = "183f0bf3a0982a127bdb8161e0c44eb696b3e75c-1349779292111";
    private static String stream = "320x2401-1349779301961";
   
    public static void main(String[] args) {
       
        String address = "rtmp://"+ip+"/video/"+room+"/"+stream+" live=true";
       
        IContainer ic = IContainer.make();
        IPacket packet = IPacket.make();

        ic.open(address, IContainer.Type.READ, null, true, false);
       
        boolean streamOK = true;
       
        CanvasFrame frame = new CanvasFrame("Frame");

        IStream stream = null;
        IStreamCoder coder = null;

        while (ic.readNextPacket(packet) >= 0) {
            if (packet.isComplete()) {

                if (streamOK) {
                    stream = ic.getStream(0);
                    coder = stream.getStreamCoder();
                    coder.open();
                    streamOK = false;
                }

                IVideoPicture picture = IVideoPicture.make(
                        coder.getPixelType(), coder.getWidth(),
                        coder.getHeight());

                coder.decodeVideo(picture, packet, 0);
               
                if (picture.isComplete()) {
                    BufferedImage javaImage = Utils.videoPictureToImage(picture);
                   
                    IplImage image = IplImage.createFrom(javaImage);
               
                    if (image != null) {
                        frame.showImage(image);
                    }
                }
            }
        }       
    }
}

Reply all
Reply to author
Forward
0 new messages