Hi,<div>I am using ffmpeg to live broadcast audio/video stream with H264 encoding using RTMP protocol to the Adobe Flash Media Server (4.0).  The ffmpeg build I use has x264 and librtmp enabled. Everything works fine, except the amount of generated network traffic puzzles me.</div>
<div><br></div><div>To simply the case, I streamed video only, specifying bit rate to be 100kbps. I ran ffmpeg on windows, and used the windows perfmon to monitor how much network traffic were generated on the same machine.  It was about 240kbps total, and about 200kbps outbound (Windows shows 30K and 25K Byte per sec respectively).  I thought that even with some protocol overhead, it shouldn't exceed 120kbps on network. I also used WANem to confirm that it does generate that much traffic.  Any bandwidth control below 240kbps between the two endpoints will cause stream buffering.</div>
<div><br></div><div>From the ffmpeg logging, I saw that x264 reports the generated video data rate a little below 100kbps, which means it did a good rate control.  But I am trying to understand why at the RTMP protocol layer, there is such big overhead.  </div>
<div><br></div><div>Could someone kindly please explain to me why it is like this?</div><div><br></div><div>Here is the ffmpeg command I used for broadcasting an AVI file to the Adobe Flash Media server, the file contains just motion jpeg data.</div>
<div><br></div><div><div>ffmpeg -i file1.avi -b 100k -re -vcodec libx264 -strict experimental -an -vpre normal -f flv rtmpt://my_fms_server/live/livestream</div></div><div><br></div><div>Best Regards,</div><div><br></div>
<div>Feng</div>