Hi Alex,
Correct - for right now, when you're doing P2P streaming over RTMFP,
recording doesn't work. In order to work around this, we've recommended
either disabling RTMFP or setting StreamManager.maxP2PStreamPublish to 0. In
the latter case, you'd still be using RTMFP and UDP, and so get most of the
advantages.
Answering each of your questions :
1) Partially correct - RTMFP is required for P2P streaming, but not all
RTMFP streaming is P2P. For example, once there are more than 3 recipients,
we automatically switch to hub-and-spoke, since P2P becomes laborious for
the publisher. You can control this threshold using the
StreamManager.maxP2PStreamPublish.
2) Correct. This is one temporary workaround - I'd prefer the 2nd
workaround, using StreamManager.maxP2PStreamPublish = 0, which still allows
the benefits of RTMFP without using P2P. In the next release, even if you're
using RTMFP, once you turn recording on, it will similarly enforce that
everyone stream over hub-and-spoke (without changing from RTMFP).
3) For now, there won't be any way to do P2P streaming with recording
enabled. In the future (likely quite later), we might have time to enable
this, but it's pretty difficult (maybe not even possible), and it's not high
in priority.
4) It's important to separate these issues - RTMFP doesn't require P2P
streaming. In fact, most of the benefits of RTMFP (primarily the fact that
it's UDP-based) work over hub and spoke. What we've seen is that Multicast
P2P (enabled in 10.1, and as opposed to direct P2P) is often not a great
choice for conversations, since multicast introduces more latency than
simply using hub-and-spoke.
hope this helps,
nigel