Hi Josan,
In fact, I'm working on forwarding a h.264 video stream from a real FMS to another RTMP server which is hosted by rtmpsvr via a proprietary communication channel.
For sure, the original rtmpsvr is not working in my case, so I modified to receive video streaming from the proprietary channel and wait for a Player to connect, give it a video stream in another hand.
I extracted the rtmp url which given from the player at the AVMATCH(&method, &av_play) case in the rtmpsvr's ServeInvoke() function, and do SetChunkSize, SendStreamBegin, SendPlayReset, SendPlayStart, SendRtmpSampleAccess in sequence. After matched the url, I invoked RTMP_Serve() function for doing the handshake, keep reading RTMP packets afterward, and start streaming the video to the Player.
Hope this can help you analyzing your problem.
Cheers,
Elliott