Так что это интересный вопрос, и мне было интересно, может ли кто-нибудь понять, как я могу это сделать. В настоящее время у меня есть 6 IP-камер и запущен процесс Java, который открывает ffmpeg для копирования потоков RTSP с этих 6 IP-камер, сохраняет изображение в ОЗУ, а затем с помощью ImageMagick конвертирует эти файлы в коллажное изображение JPG, поэтому у меня есть все IP-камеры в одном изображении. Затем этот файл обновляется как можно быстрее, используя пространство в / dev / shm - на самом деле, около 6 кадров в секунду. Но он использует 45-50% ЦП на 6 ядрах.
Тем не менее, я ищу способ уменьшить нагрузку на ЦП на моем основном компьютере. У меня есть 2 модели Raspberry Pi 3B, и я думаю, что смогу найти им хорошее применение. Не уверен, какой будет производительность, но готов это проверить.
Я хочу сделать следующее:
- Используйте ffmpeg для получения изображений с 3 IP потоки RTSP камеры на каждом Raspberry Pi в / dev / shm
- Используя ImageMagick, монтируйте извлеченные временные изображения в / dev / shm
- Создайте поток RTSP на каждом Raspberry Pi этого монтируемого изображения in / dev / shm
- Используйте мой рабочий стол, чтобы получить RTSP коллажированных изображений и сопоставить их в том же формате, который я использую сегодня (с использованием только 2 потоков RTSP-потока вместо 6 для этого.)
Есть ли способ настроить ImageMagick для установки формата вывода изображения как mjpeg2 или заставить ffmpeg создавать поток rtsp из быстро обновляемого файла изображения JPEG?