У меня есть ПК, считывающий 6 потоков RTSP и сохраняющий их на жесткий диск с помощью приложения .NET Core C#, которое вызывает FFmpeg. Это почти не использует ЦП ПК и работает хорошо.
Мне было интересно, справится ли Raspberry Pi с этой задачей с USB-жёстким диском?
Каждая камера возвращает сетевой трафик со скоростью 3,2 Мбит/с и записывает на диск данные со скоростью 0,4 МБ/с, согласно диспетчеру задач.
У меня было бы несколько вариантов на выбор, и я был бы открыт для любого из них,
- Заставьте .NET core работать на pi и запустите приложение в его текущем виде
- Откажитесь от приложения .NET core и напишите что-то, что будет работать в Linux изначально, чтобы вызывать ffmpeg (не уверен, как это будет выглядеть, но это будет Python или какой-то другой скрипт)
- Использую Windows IoT Core, но не уверен, будет ли FFmpeg работать в этих обстоятельствах?
Все, что делает мое приложение .NET core, это:
- Запустите ffmpeg для записи 1 потока и остановите через 15 минут.
- Начните новую запись через 14 минут 30 секунд (чтобы создать наложение)
- Запустите ffmpeg раньше, если в какой-то момент он отключится или остановится.
Я не слишком беспокоюсь о деталях в данный момент. Просто о том, справится ли pi с точки зрения производительности с запуском 6 экземпляров ffmpeg для сохранения потока RTSP.
Перекодировка не требуется. Это прямая копия.
На данный момент я бы присмотрелся к Raspberry Pi 3, но рассмотрел бы возможность дождаться Pi 4, если шансы на его работоспособность выше.
решение1
К сожалению, я не ответил на этот вопрос. Что я сделал, так это перенастроил двухъядерный компьютер Pentium и установил дистрибутив Linux, KDE Neon.
У меня есть куча кода ядра dotnet для записи моих камер, и я рад сообщить, что FFMpeg с моим кодом ядра dotnet работает очень хорошо на KDE Neon с очень небольшими изменениями. KDE Neon очень надежен, поскольку он создан на LTS Ubuntu.
RTSP — это смешанная картина, и некоторые более дешевые камеры дают смешанные результаты. Но эта настройка с FFMpeg работает хорошо.
Я поищу что-нибудь другое, что можно сделать со своим Raspberry Pi.