私の PC は、FFmpeg を呼び出す .NET Core C# アプリを使用して 6 つの RTSP ストリームを読み取り、ハード ドライブに保存しています。このアプリは PC の CPU をほとんど使用せず、問題なく動作します。
ラズベリーパイはUSBハードドライブでこれを行うことができるのだろうかと思いました。
タスク マネージャーによると、各カメラは 3.2 Mb/s のネットワーク トラフィックを返し、0.4 MB/s をドライブに書き込みます。
私にはいくつかの選択肢があり、どちらでも構わないと思っています。
- Piで.NET Coreを動作させ、現状のアプリを実行します。
- .NET Core アプリを放棄し、Linux でネイティブに動作して ffmpeg を呼び出すものを作成します (どのようなものになるかはわかりませんが、Python または他のスクリプトになります)
- Windows IoT Core を使用していますが、この状況で FFmpeg が機能するかどうかはわかりません。
私の.NET Coreアプリが行うことはこれだけです。
- ffmpeg を起動して 1 つのストリームを記録し、15 分後に停止します。
- 14分30秒後に新しい録音を開始します(重複を作成するため)
- 切断されたり停止したりした場合は、それより早くffmpegを起動してください。
現時点では、詳細についてはあまり心配していません。パフォーマンスの観点から、Pi が RTSP ストリームを保存するために ffmpeg のインスタンスを 6 つ実行できるかどうかだけです。
再エンコードは必要ありません。そのままコピーします。
現時点では、Raspberry Pi 3 を検討していますが、動作する可能性が高い場合は Pi 4 を待つことも検討します。
答え1
残念ながら、私はこの質問に答えていません。私がやったことは、デュアル コアの Pentium マシンを再利用し、Linux ディストリビューションの KDE Neon をインストールすることです。
私はカメラを記録するための dotnet core コードをたくさん持っていますが、私の dotnet core コードを使用した FFMpeg は、ほとんど変更を加えることなく KDE Neon で非常にうまく動作すると報告できてうれしいです。KDE Neon は LTS Ubuntu 上に構築されているため、非常に安定しています。
RTSP は良い点も悪い点もあり、安価なカメラでは結果がまちまちです。しかし、FFMpeg を使用したこの設定はうまく機能します。
Raspberry Pi で何か他のことができるか探してみようと思います。