RTMPとかなんとか。
ちょっと前に、rtmp とか rtmpt とかのメモを書いていたけれど、rtmp ってなにかとかにはあんまりわかっていなかったので触れてませんでした。
その辺を少し教わったので要約してメモ。
RTMP はAdobe (macromediaか?) が決めているバイナリプロトコル。FMS サーバとの通信するときのお話方法。port は前も書いたけど一般的に 1935。
で、port1935という出入り口をセキュリティに厳しいところでは認めていなかったりします。それでは内側の人は flv を観れないことになりますが、このport1935がダメというのはそう珍しい環境ではなさそうです。
そこで代わりに許可されている可能性が高いHTTP (port80) や HTTPS (port443) のプロトコルに見せかけてデータの送受信をしようというのが RTMPT と RTMPS です。
RTMPT は HTTP を装ってPOSTにより細切れにしたバイナリデータを次々送受信することで flv を再生できるようにします。
RTMPS は HTTPS を装って、というものです。だから port がそれぞれ 80 と 443 というように HTTP, HTTPS と同じものを指定するんですね。
じゃあ RTMPT と RTMPS の使い分けは?というと、たとえば proxy を経由しての RTMPT の場合、セキュリティポリシーによってはダメなケースがあるみたいで、そういうときに RTMPS を使うと大丈夫だったり、ということなのではないかと思います。
そうやって HTTP や HTTPS のプロトコルに見せかけて通信するのでトンネリングといわれるのかしら。
HTTP と HTTPS では暗号化と暗号をほどくという手間隙分だけ速度や負荷がかかり HTTPS の方が遅め。
更に、バイナリを生で流せるプロトコルと HTTP 用にこま切れして装って…とするプロトコルを比べると HTTP の方がより遅め。
そんなわけで速度や効率の面では RTMP > RTMPT > RTMPS となるようですが
つながる可能性となると逆になるのかな。