<div dir="ltr">I'm trying to implement a simple RTMP Server. <div><br></div><div>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.</div><div><br></div><div>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://<a href="http://0.0.0.0">0.0.0.0</a>) but the client is publishing to a well defined name like rtmp://x.x.x.x/live/myStream</div><div><br></div><div>How can I get the app and stream name?</div><div>Is there a way to get a handle of the underlaying RTMPContext? </div><div><br></div><div>Alternatively, is there a way to get RTMP AMF messages via a callback?</div><div><br></div><div>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.</div><div><br></div><div>In short, how would you go about implementing a process that dynamically receives rtmp streams and handles each one in a separate thread?</div><div><br></div><div>Thanks,</div><div>Chen</div></div>