RTMP stream publisher send metaData

668 views
Skip to first unread message

pierre huber

unread,
Apr 11, 2015, 5:47:47 AM4/11/15
to monas...@googlegroups.com
Hello,

According the Adobe's documentation about NetStreams publishers and subscribers : http://www.cs.vu.nl/~eliens/mt/assets/flex3/langref/flash/net/NetStream.html

when we send data from a publisher netstream ns.send("@setDataFrame", "onMetaData", metaData);
to subscribers netstreams.
With MonaServer clients who are subscribed to live stream before the data is sent, receive the data as soon it is sent by publisher (it works ok)

But client who subscribed to the stream after the data sent by publisher, should receive data when they subscribe to the live stream (it works not with MonaServer)

My question is : is it the normal behaviour of the MonaServer, or am I missing something on client or server side ?

(FlashMediaServer keep in memory this data as long as the publisher is connected, but I can understand tha MonaServer will not do it... it's a question of choice :-)

Thank you for your help...


Pierre

mathie...@gmail.com

unread,
Apr 15, 2015, 5:56:08 PM4/15/15
to monas...@googlegroups.com
Hi Pierre,

Yes, should work like that, I have just tested now and I confirm the bug. I don't understand why, because medata are sent to new subsribers, certainly an ordering message problem... I fix it tomorrow Pierre.

Best regards,
Mathieu

pierre huber

unread,
Apr 16, 2015, 6:25:29 AM4/16/15
to monas...@googlegroups.com, mathie...@gmail.com
Hello Mathieu,

Thank you very much for your fast reply...

How can we know when a fix or a new version of MonaServer is available ?

Pierre

Thomas Jammet

unread,
Apr 16, 2015, 6:52:33 AM4/16/15
to pierre huber, monas...@googlegroups.com, Mathieu Poux
Hi Pierre,

For an issue like this one we tell directly to you when the correction is done. For new releases when we evaluate that the version is stable we create a new tag, I add an article on the group and on social networks.

Thanks for your report and tell us if you need more informations.

Regards

--

Thomas JAMMET
Freelancer - MonaServer.ovh
2 Rue Mila - 82000 Montauban (France)

--
You received this message because you are subscribed to the Google Groups "MonaServer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to monaserver+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/monaserver/484a5b6b-9041-4eb4-b7dd-c315c74c411e%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

mathie...@gmail.com

unread,
Apr 22, 2015, 5:25:20 PM4/22/15
to monas...@googlegroups.com, pierr...@gmail.com, mathie...@gmail.com
Hi Pierre,

This metadata problem should be fixed now (see last master version), let me know if it works on your side.

pierre huber

unread,
Apr 23, 2015, 4:26:11 PM4/23/15
to monas...@googlegroups.com
Hello Thomas thank you very much for your work and taking time to fix problems we could have using MonaServer.

Now the subscriber receive data when he starts to play the live stream even if the publisher ha sent metaData before it's subscription to the stream (don't know if a I am really clear :-))

It works perfectly now on Centos Server , air android and browser flash clients using RTMFP.


Pierre






Le samedi 11 avril 2015 11:47:47 UTC+2, pierre huber a écrit :

pierre huber

unread,
Apr 24, 2015, 1:44:59 AM4/24/15
to monas...@googlegroups.com
Hello and sorry Thomas but I still have a problem with the behaviour of MonaServer :-(

I have one publisher who set metaData at start of it's publishing.

I have 2 subscribers and when they start to play to the live stream they get the metaData (it works ok)

but when one of the subscribers close the live stream, close application, restart application and restart to play the same live stream, this time he can't get metaData at start of playing the live stream


Thank you for your help ...




Le samedi 11 avril 2015 11:47:47 UTC+2, pierre huber a écrit :

Mathieu Poux

unread,
Apr 27, 2015, 10:21:42 AM4/27/15
to pierre huber, monas...@googlegroups.com
Hi Pierre,

We have found a problem with RTMP and a @setDataFrame invocation, try with the last corrective, it should work now.

Regards,
Mathieu

--
You received this message because you are subscribed to a topic in the Google Groups "MonaServer" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/monaserver/fVsSIRLVcWM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to monaserver+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/monaserver/8da99a19-43b4-4a90-a8b9-6a5326245b5e%40googlegroups.com.

pierre huber

unread,
Apr 27, 2015, 3:41:59 PM4/27/15
to monas...@googlegroups.com
Hello Thomas,

Sorry but I can't make it works :-(

Here an example of the test I have made with actionscript flex client and RTMFP protocol :

1 - One publisher starts a new stream
2 - A subscriber play the stream
3 - The publisher send data with the send method : netstream.send("@setDataFrame", "onMetaData", metaData);
4 - Subriber #1 receive data in the "onMetaData" method => OK
5 - A new subscriber (#2) starts to play the stream, it receive data in the "onMetaData" method => OK
6 - An other subscriber (#3) starts to play the stream, but method "onMetaData" is not called => KO


I don't understand this behaviour ....

Have you an idea ?

Thank you


Pierre



Le samedi 11 avril 2015 11:47:47 UTC+2, pierre huber a écrit :

mathie...@gmail.com

unread,
Apr 28, 2015, 2:07:15 AM4/28/15
to monas...@googlegroups.com
Hi,

I have just tested exactly your scenario and here it works (there is no reason that the third client doesn't receive it), it's always the third client which doesn't receive it? or it's random? the third client is exactly same client that the others?

Thomas Jammet

unread,
Apr 28, 2015, 3:22:01 AM4/28/15
to Mathieu Poux, monas...@googlegroups.com
It use one publisher and three subscribers, it works with both RTMP and RTMFP, maybe it can help you on your client code.

Thank you for your report,


--

Thomas JAMMET
Freelancer - MonaServer.ovh
2 Rue Mila - 82000 Montauban (France)

--
You received this message because you are subscribed to the Google Groups "MonaServer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to monaserver+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/monaserver/6474359d-3f61-47da-b3ce-e7280c1d7407%40googlegroups.com.

pierre huber

unread,
Apr 28, 2015, 3:17:24 PM4/28/15
to monas...@googlegroups.com, mathie...@gmail.com
Hello Thomas, and thank you for the tests code...

I still can't make it works but maybe it's my MonaServer install procedure on CentOs:

- I delete the current MonaServer folder
- I launch command : git clone https://github.com/MonaSolutions/MonaServer.git
- "cd MonaServer" and launch "make" command


I have make a small flex application to test the publisher and subscriber functions (attached file, it's a simple air windowed application) : 
- when the application starts, it launch a publisher stream
- the first button send metaData to the publisher stream
- the second button starts to play the stream and the "onMetaData" method should be called as soon as the subscriber starts to play, but it fails..


Is it my install of MonaServer or my client code ?

Do you have an idea ? thank you very much for your help ...

Pierre
RtmfpMetaDataIssue.mxml

pierre huber

unread,
Apr 28, 2015, 3:20:34 PM4/28/15
to monas...@googlegroups.com, mathie...@gmail.com
And thanks to Mathieu too ... :-)

Thomas Jammet

unread,
Apr 29, 2015, 2:23:34 AM4/29/15
to monas...@googlegroups.com, mathie...@gmail.com
Hi Pierre,

I think I know where the problem is, in your sample the publisher does not publish anything so listeners do not receive onMetaData message and neither the "NetStream.Play.PublishNotify" event.

You can try to send first a dummy message using "publisherStream.send("dummy","nothing");" and I think it will do the job...or you can publish something meaningful!

I hope it will help you

pierre huber

unread,
Apr 29, 2015, 1:32:06 PM4/29/15
to monas...@googlegroups.com, mathie...@gmail.com
Thomas,

I see, but it will be not a solution for my specifics needs.
Anyway it's no more a problem for me because I have decided to execute a server command in lua to do the job, it has more sense and more efficient too (for my application)

Thank you, and Mathieu, for all your work and support on MonaServer.

Pierre
Reply all
Reply to author
Forward
0 new messages