PC에서 6개의 RTSP 스트림을 읽고 FFmpeg를 호출하는 .NET Core C# 앱을 사용하여 하드 드라이브에 저장합니다. 이는 PC의 CPU를 거의 사용하지 않으며 잘 실행됩니다.
라즈베리 파이가 USB 하드 드라이브로 이 작업을 수행할 수 있을지 궁금합니다.
각 카메라는 작업 관리자에 따라 3.2Mb/s의 네트워크 트래픽을 반환하고 0.4MB/s를 드라이브에 씁니다.
저는 몇 가지 선택권을 갖고 있으며 어느 쪽이든 선택할 수 있습니다.
- .NET Core를 pi에서 작동시키고 현재 상태 그대로 앱을 실행합니다.
- .NET 핵심 앱을 버리고 Linux에서 기본적으로 작동하는 항목을 작성하여 ffmpeg를 호출합니다(어떻게 보일지 확실하지 않지만 Python 또는 다른 스크립트).
- Windows IoT 코어를 사용하지만 이 상황에서 FFmpeg가 작동할지 잘 모르겠습니다.
내 .NET Core 앱이 수행하는 작업은 다음과 같습니다.
- ffmpeg를 시작하여 1개의 스트림을 녹화하고 15분 후에 중지합니다.
- 14분 30초 후에 새로운 녹음을 시작합니다. (겹침을 만들기 위해)
- 어느 시점에서든 연결이 끊어지거나 중지되면 그보다 먼저 ffmpeg를 시작하세요.
현재로서는 세부 사항에 대해 크게 걱정하지 않습니다. 성능 관점에서 pi가 RTSP 스트림을 저장하기 위해 6개의 ffmpeg 인스턴스 실행을 처리할지 여부입니다.
다시 인코딩할 필요가 없습니다. 바로 사본입니다.
이 시점에서 나는 Raspberry Pi 3를 살펴보겠지만, 작동 가능성이 더 높다면 Pi 4를 기다리는 것을 고려할 것입니다.
답변1
불행히도 나는 이 질문에 대답하지 않았습니다. 내가 한 일은 듀얼 코어 펜티엄 시스템의 용도를 변경하고 Linux 배포판인 KDE Neon을 설치하는 것입니다.
내 카메라를 녹화하기 위한 많은 dotnet 핵심 코드가 있고 내 dotnet 핵심 코드가 포함된 FFMpeg가 거의 수정하지 않고도 KDE Neon에서 매우 잘 작동한다는 사실을 보고하게 되어 기쁩니다. KDE Neon은 LTS Ubuntu를 기반으로 구축되어 있어 매우 견고합니다.
RTSP는 혼합된 가방이며 일부 저렴한 카메라는 혼합된 결과를 제공합니다. 그러나 FFMpeg를 사용한 이 설정은 잘 작동합니다.
라즈베리파이로 할 수 있는 다른 일을 찾아보겠습니다.