Мне нужно захватить живой поток, используя raspivid
на Raspberry Pi, и доставить этот поток нескольким игрокам, используя HTTP. Каждый игрок получает собственный экземпляр ffmpeg
для индивидуальной настройки параметров видео.
В настоящее время один экземпляр raspivid
записывает свои выходные данные в общий кольцевой буфер, а любой клиент, подключенный через HTTP, читает буфер.
Это нормально работает в первый раз, потому что это когда raspivid
начинается. Я думаю, что важные контрольные кадры записываются при запуске необработанного потока H.264. Но когда HTTP-клиент подключается позже, его экземпляр ffmpeg
получит поток H.264 в произвольной позиции. Это приведет к прерыванию ffmpeg
с сообщением pipe:: Invalid data found when processing input
.
Можно ли начать чтение с произвольной позиции?