When using rtmp to publish a video, the bandwidth of nginx is a limit. You can use rtmfp to decrease the delay by increasing your network bandwidth.
When you use rtmfp,some client will get frame from client, not nginx. So, we has a p2p network(like tree), the root node is nginx, other peer is client. If height of the tree is not big, i think the delay is small.
flash sdk has a class NetGroup to do p2p . But when flash player runs, it ask client whether it use p2p function. If your client can enable, all p2p work will be done by flash.
My english is not good. I hope you understand what i say.
haha.