GithubHelp home page GithubHelp logo

Full server sample code? about node-rtmpapi HOT 10 OPEN

BhaaLseN avatar BhaaLseN commented on May 21, 2024
Full server sample code?

from node-rtmpapi.

Comments (10)

delian avatar delian commented on May 21, 2024

The problem for me is that I have no good way to test it in the moment. Can you propose me how to test it? The server side implementation with the given example has been tested and works well for me (basically replacing a MIST Server). I had few issues, but they were nodejs issues (lost events) that I cannot fix myself. I think they are not there anymore.
The client part is essentially very similar (with the reverse logic) but I haven't being tested it and it may have some small bugs here and there. I will try to think of how to implement a simple test case and then I will write you an example

from node-rtmpapi.

BhaaLseN avatar BhaaLseN commented on May 21, 2024

I wrote some MJPEG streaming the other day as first step before going to RTMP, and VLC was quite happy with it. I'm pretty sure it also speaks RTMP (since its based on librtmp iirc).
Or do you mean something else about testing it?

from node-rtmpapi.

delian avatar delian commented on May 21, 2024

I meant mostly that I have to think of combination of RTMP server and restreamer, client that I can use to verify the "user" side of the streams to try to write an RTMP client who pushes content. But now I realize I am not sure I understand what exactly you are planning to do? Are you thinking about client connected to a RTMP server expecting to receive data from the RTMP server, or you think about client to an RTMP server who pushes data to the RTMP server?

from node-rtmpapi.

BhaaLseN avatar BhaaLseN commented on May 21, 2024

I'm trying to tie audio/video being rendered as part of a game to a stream where others can connect to with any media client (such as VLC, MPlayer or XBMC). So basically just the server part with direct streaming, no publishing from another client.

So, pretty much:
(av source) <---[RTMP]--- (client)

from node-rtmpapi.

delian avatar delian commented on May 21, 2024

So you just need a RTMP Server where a client as VLC connects to you and
retrieve Video?

Delian

On Sat, Oct 4, 2014 at 2:23 PM, BhaaL [email protected] wrote:

I'm trying to tie audio/video being rendered as part of a game to a stream
where others can connect to with any media client (such as VLC, MPlayer or
XBMC). So basically just the server part with direct streaming, no
publishing from another client.


Reply to this email directly or view it on GitHub
#2 (comment).

from node-rtmpapi.

BhaaLseN avatar BhaaLseN commented on May 21, 2024

Thats the idea basically. But since theres no decent C++ libraries around (that don't take gazillions of files and stuff; or have incompatible licenses), I'm ever trying to find simple and straight-forward libraries such as yours - and so far it looks great to base my port on.

I thought of doing the publishing part and just implementing a RTMP client that publishes the video to another RTMP server/restreamer, but that felt kinda odd later on (like why would we need an extra server just to do that?)

from node-rtmpapi.

delian avatar delian commented on May 21, 2024

Ok, My library implements just the encoding part of the RTMP protocol. It
does not implement the application layer, which you have to implement
yourself (the given example essentially shows how to create a server
implementation pushing data to clients implementing application layer
control), but that should be close to what you are looking for.
VLC uses librtmp, which is a nice (but buggy) RTMP library, which also
implements only the transport and the encoding layer, but not really the
upper layer. So you are looking for something high level and free, that
could be a problem.
And the issue for all of us is named Adobe :) If you check the RTMP specs,
they focus only on the transport and the encoding layer. The application
control layer is not defined and the only way to do it is trough a reverse
engineering.
This is why it is not very easy for me to make you an RTMP client example -
I am not an RTMP specialist and I have no wide knowledge on the application
layer for it. Basically, one should create a test bed and then sniff it
with wireshark and copy the command flow with its API. My library allows
that to copy something in a relatively easy way but it does not implement
the upper layer protocol on itself.
However, you are now giving me an idea. If I can find a way to implement a
robust client and robust server side on a upper layer, I can publish them
as a separate NPM modules that just depend on those I have published.

Delian

On Sat, Oct 4, 2014 at 2:32 PM, BhaaL [email protected] wrote:

Thats the idea basically. But since theres no decent C++ libraries around
(that don't take gazillions of files and stuff; or have incompatible
licenses), I'm ever trying to find simple and straight-forward libraries
such as yours - and so far it looks great to base my port on.

I thought of doing the publishing part and just implementing a RTMP client
that publishes the video to another RTMP server/restreamer, but that felt
kinda odd later on (like why would we need an extra server just to do that?)


Reply to this email directly or view it on GitHub
#2 (comment).

from node-rtmpapi.

BhaaLseN avatar BhaaLseN commented on May 21, 2024

Ok, now that explains why I didn't really find anything about that in the RTMP spec directly. And now all the other code makes a lot more sense too.
Thanks for taking the time to reply, I think we can close this issue then (why doesn't GitHub offer private messages or something similar instead?) - unless you want to keep it open as reminder for the new ideas.

from node-rtmpapi.

delian avatar delian commented on May 21, 2024

Lets keep it open for now. I really like to implement examples but for that
I need to make myself a working test system with other software, so if
something does not work as I expect, I could be able to do a little reverse
engineering there and just copy the command flow

Delian

On Sat, Oct 4, 2014 at 2:45 PM, BhaaL [email protected] wrote:

Ok, now that explains why I didn't really find anything about that in the
RTMP spec directly. And now all the other code makes a lot more sense too.
Thanks for taking the time to reply, I think we can close this issue then
(why doesn't GitHub offer private messages or something similar instead?) -
unless you want to keep it open as reminder for the new ideas.


Reply to this email directly or view it on GitHub
#2 (comment).

from node-rtmpapi.

virtualfunction avatar virtualfunction commented on May 21, 2024

Just leaving a comment here so I'm subscribed to this.

My basic requirements would be to take a audio stream and publish it. Being node based it I'm guessing once someone has got a basic server going it'll be easy to use events to authenticate users. I currently only need Speex.

from node-rtmpapi.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.