I'm trying to implement a simple RTMP Server. What I've tried so far is using avformat_open_input with an option of rtmp_listen. When I receive a new stream I create a new thread to handle that stream and immediately call avformat_open_input again with rtmp_listen.
While this works pretty good, I can't seem to find a way to get the RTMP app/stream name. When I'm using avformat_open_input I'm specifying a general rtmp url without app name details (i.e rtmp://0.0.0.0) but the client is publishing to a well defined name like rtmp://x.x.x.x/live/myStream How can I get the app and stream name? Is there a way to get a handle of the underlaying RTMPContext? Alternatively, is there a way to get RTMP AMF messages via a callback? Another way I though of was to bind and accept connections on a socket, figure out the app name and then pass the socket/stream to avformat_open_input with custom AVIOContext, but it seems I would have to implement the RMTP server side handshake, which I prefer not to. In short, how would you go about implementing a process that dynamically receives rtmp streams and handles each one in a separate thread? Thanks, Chen
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
