Я хотел бы передавать данные кадров rgb (в реальном времени) через Интернет в виде видеопотока в браузер (chrome / firefox).
Итак, я получил преобразование rgb -> yuv -> yv12 -> vp8. Я могу воспроизводить видео vp8 локально, и оно выглядит неплохо.
теперь мне нужно передать эти данные в webrtc, чтобы другой «клиент» мог это увидеть.
Теперь это выполнимо?
Я собирался обернуть vp8 вокруг видеофайла webm, но не записывать фактическую длину файла, потому что я не знаю длины, поскольку это потоковая передача в реальном времени, и создать тег в браузере и начать вводить данные. (Я делал это с Theora раньше, «имитируя потоковую передачу, конечно, она была немного медленной и была TCP, но работала с задержкой»).
Или я собираюсь передать данные в webrtc. Я даже не знаю, допускает ли api что-то подобное. Возможно, мне придется немного его взломать.
Резюме: процесс A создает видео NxM rgb и записывает его в свой буфер. Процесс B считывает этот буфер через IPC, кодирует его в VP8, процесс B отправляет это в браузер с помощью VP8 либо в webm, либо в webRtc.