Push stream to CRTMPSERVER

632 views
Skip to first unread message

Wes Z

unread,
Dec 8, 2014, 12:28:33 PM12/8/14
to c-rtmp...@googlegroups.com
I'm back with a new trial that I have been trying to get to work.

I have Blue Iris software and part of BI has the capability to push a Windows Media Stream to a server.

I told Blue Iris to send the stream to CRTMPSERVER on port 9999 but I really don't know what the right way is to get the stream into CRTMPSERVER and then to a webpage with JWPLAYER embedded.

Netstat told me there was an established port open on 9999 from BI, but I don't know where to go from there.

I am mostly concerned with the where do I send the stream and in CRTMPSERVER what to do to make that work.

I am pretty sure I can set up JWPLAYER to play the localStreamName="xxx",

I guess I have to send it to an inbound port, but I'm just not sure what.

I appreciate the help again.

Thanks,

Wes

Rani

unread,
Dec 8, 2014, 1:50:25 PM12/8/14
to
Hi,



I told Blue Iris to send the stream to CRTMPSERVER on port 9999 but I really don't know what the right way is to get the stream into CRTMPSERVER and then to a webpage with JWPLAYER embedded.

Netstat told me there was an established port open on 9999 from BI, but I don't know where to go from there.
 

what do you see in crtmpserver.log regarding connections from BI which are already in status of "CONNECTED"  ?



I am pretty sure I can set up JWPLAYER to play the localStreamName="xxx",

I do not think this kind of push would be working inside an externalStreams{}.

Usually, from my knowledge, pushing a local stream ( in this case BI or your webcam using Wirecast/FMLE ) to a rtmp server needs authentication to rtmp server end point; in our case in crtmpserver you have authentication {} section:

 authentication=
                        {
                                rtmp={
                                        type="adobe",
                                        encoderAgents=
                                        {
                                                "FMLE/3.0",
                                                "FMLE/3.0 (compatible; FMSc/1.0)",
                                                "Wirecast/FM 1.0 (compatible; FMSc/1.0)",
                                        },
                                        usersFile="/path/to/users.lua"
                                },
                        },
and a simple users.lua file would be something like this :
users= {
        someuser="some password",
}

connecting schema would be:
rtmp://{crtmpserver_ip_or_domain}:{port_if_is_not_default_1935}/flvplayback

If there is someone else more experienced with this kind of scenario i kindly ask him/her to step in.

kind regards
Message has been deleted

Wes Z

unread,
Dec 9, 2014, 7:30:48 AM12/9/14
to c-rtmp...@googlegroups.com
Thanks Rani,

Blue Iris is pumping a "Windows Media Video V8" stream.

Should I tell BI that the Send To url is http:, or tcp:, or udp:, rtmp: ? or? I have tried them all.

I have left authorization disabled so as not to interfere. Do I need authorization if it is disabled?

JW Player and Flowplayer need stream names. In JW and Flow I used the connectionURL as "rtmp://xx.xx.xx.xxx/flvplayback" and the StreamName as 'live'.

The log is telling me that it cant read data:
tcpcarrier.cpp:78:OnEvent:Unable to read data. xx.xxx.176.94:56010 -> xx.xxx.xxx.226:9999

So maybe CRTMPSERVER cannot digest this Windows Media File?

It's that or how I am sending it to start I think.

Thanks,

Wes
  

Wes Z

unread,
Dec 9, 2014, 7:51:57 AM12/9/14
to c-rtmp...@googlegroups.com
I did a test to create a log by using http://xxx.xxx.xxx.xxx:19999 as the Sent To for the Windows Media File

Here is a link to that log. Log File 

Wes

Wes Z

unread,
Dec 9, 2014, 12:20:48 PM12/9/14
to c-rtmp...@googlegroups.com
It looks like I can also stream a Flash Media file into a Media Server as well.

BI says the options are:
AAC, MP3, AAC 22khz
Flash 1, Flash 2, Flash 3ns of

RTMP URL which I assume is rtmp://xxx.xxx.xxx.xxx:port

Stream Key which I assume is the StreamName. Although I have no idea how the string is being formatted.

I have tried dozens of combinations, nothing has worked.

   acceptors =
   {
    {
     ip="0.0.0.0",
     port=1935,
     protocol="inboundRtmp"
    },
   
    {
     ip="0.0.0.0",
     port=6666,
     protocol="inboundLiveFlv",
     waitForMetadata=true
    },
    { 
     ip="0.0.0.0",
     port=9999,
     protocol="inboundTcpTs",
    },
    {
      ip="0.0.0.0",
      port=19999,
      protocol="inboundLiveFlv",
      waitForMetadata=true,
      }, 
   },

Maybe this will help with some ideas of what to do.

Wes

Rani

unread,
Dec 9, 2014, 3:25:50 PM12/9/14
to c-rtmp...@googlegroups.com
Hi,

Usually "frame too large" triggers when frames resulted are too large for stream/video size ( Ex: 640x260, 380x240 ); you could try to change video width/height.

As fo BI remember that crtmpserver accepts h264 video and AAC audio. Flash{1-3} might mean flv format by default which ( by ffmpeg/avconv examples will use "tcp://x.y.z.w:6666/live" ) should be send to inboundFlv; try rtmp://x.y.z.w:6666/live /* live is alias like flvplayback in default config */

RTMP url  = try to different protocol not to inboundFLv ( port 9999 ):

rtmp://x.y.z.w:1935/flvplayback which send stream to inboundRtmp instead of inboundFlv

kind regards

Rani

unread,
Dec 16, 2014, 3:57:06 AM12/16/14
to c-rtmp...@googlegroups.com
Hi Wes,

any (good) news ?

kind regards
Reply all
Reply to author
Forward
0 new messages