Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesHello ~~:D
Sorry to bother you again~~:p But I got some problems about rtmpsuck & rtmpsrv!! I have downloaded rtmpdump 2.3 and compiled them successfully in Linux environment. Try to make some testing of rtmpsrv / rtmpsuck. So far, it seems... "connect" is OK, but can't "play" file!! Please kindly give me some advice :) Thank you very much~~ Here are my testing scenario & log! Step1. Use command "iptables -t nat -A OUTPUT -p tcp --dport 1935 -j REDIRECT" on Linux Step2. Run ./rtmpsuck -z (debug mode) on Linux (Be a RTMP server to publish this file ->testh264.flv) Step3. Installing Apached2.2 on Windows (Be a local web server) Step4. Using JW player to write a simple HTML file as below: (This test.html is on Apached server, will be the viewer of testh264.flv) HTML Code:
<html> Here are my debug log file of rtmpsuck & rtmpsrv: log of rtmpsuck: Code:
RTMP Proxy Server v2.3 I will post log of rtmpsrv again! Josan |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV fileslog of rtmpsrv:
Code:
RTMP Server v2.3 |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesCode:
DEBUG2: RTMP_ReadPacket: fd=5 |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesCode:
DEBUG: sending ctrl. type: 0x0001 Sorry~~ It's really tooooo long :p |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesHi There,
I think I got the similar problem here. I compiled rtmpdump 2.3 under Windows, and created a RTMP server based on its rtmpsvr sample to forward the video from FMS. I found the FLV Player 2.0 build 25 can't play the video streamed out from this server if the video is H.264 encoded. However, if I changed the video encoding to VP6, the video can be played normally. I can sure that the Metadata and the H.264 header(which is the packet followed by the Metadata packet) are sent to the player before the video stearm. I tried to use rtmpdump to dump the video from this server to a flv file, and video can be played successfully afterward, no matter it is H264 or VP6. But just can't play it on the fly. :( And also, the debug log from rtmpdump seems no big different between connected to this server and the FMS (except 1) Error respond to FCSubscribe, 2) Haven't invoke onBWDone, 3) Haven't invoke _onbwcheck, and 4) Haven't send flow control commands, Stream Begin & BufferEmpty). Hope there is anybody can give me a hand on this. Thank you very much in advance!! Cheers, Elliott |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesHello Elliott ~
Could you explain more detail about your testing? Did you execute rtmpdump/rtmpsrv/rtmpsuck?? Then how to publish your video(file??) on the server?? :confused: "and created a RTMP server based on its rtmpsvr sample to forward the video from FMS"?? Thanks~:) Regards, Josan |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesHi 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 |
Re: Problems using rtmpsuck & rtmpsrv as RTMP server for streaming H.264 .FLV filesThank you~~ Elliott !! :)
According to your problem, I happen to read from RTMP spec. that... To play H.264/AAC file, you must precede the stream name with mp4: and specify the file extension. For example, to play the file sample.m4v, specific "mp4:sample.m4v" Hope it will be helpful! Regards, Josan |
All times are GMT -6. The time now is 09:02 AM. |