h264とh265をサポートし、rtspをブラウザで再生できる高性能なストリーミングサービスです。 変換処理はデータのデカプセル化のみで、再トランスコードは行われません。
再生方法はhttpとwebsocketをサポートし、ストリーミングメディアは依存関係のないステートレス実行可能ファイルです。これはステートレスサービスの非常に重要な特徴であり、簡単にデプロイできることを意味します。
実行ファイルをダウンロードするか、dockerを使う。
docker
docker run -it -d --name rtsp2fmp4 -p 6161:6161 yumexupanic/rtsp2fmp4
利用する
# fmp4 over http
http://127.0.0.1:6161?url=rtsp://xxxx
# fmp4 over websocket
ws://127.0.0.1:6161?url=rtsp://xxxx
rtspアカウントのパスワードに特殊な記号が含まれている場合は、URLエンコーディングが必要です。
以上で、ストリーミングやネットワークの問題でプログラムが終了する心配はありません。
低遅延低番組は、決してストリーミングメディアの処理だけではなく、ストリーミングメディア+クライアントの協力です。
ストリーミングメディア自体は最適化されており、データストリームの遅延は1秒程度に制御できます。 もし、httpで直接ストリームを引っ張ってきていて、クライアント・プレーヤーが最適化されていない場合、遅延は徐々に増加する可能性があります。 httpを使用してストリームを直接プルしており、クライアント・プレーヤーが最適化されていない場合、レイテンシは徐々に増加する可能性があり、プレーヤーはキャッシュ・ロジックに対処する必要があります。
ブラウザでは、http経由のfmp4は同時ストリーム数が6に制限されています。 そのため、 wsfmp4.js SDKを使用して、レイテンシを1秒前後に制御できる、ウェブソケットソリューションを使用することをお勧めします。
なぜなら、flv.jsはデータをfmp4にリパッケージし、それをMSEインターフェイスに渡すことで動作するからです。
これはおそらく、ブラウザでrtspを再生するための現時点での最良のソリューションであり、軽量のストリーミングサービスである。 rtspプロトコルがflv.jsほどうまく動作しない主な理由は、rtspトランスポート・プロトコルにある。