Потоковое видео с прозрачными пикселями, используя webrtc
Я пытаюсь захватить холст html5 с помощью API captureStream, на котором есть рисунки, и воспроизвести его с помощью тега html5 video.
Проблема, с которой я сталкиваюсь, заключается в том, что при захвате потока и воспроизведении его в теге video он воспроизводится точно так же.
Но когда я отправляю этот поток другому узлу (потоковая передача webRTC с использованием MCU Licode) и воспроизводю его там.
Играется на черном фоне. то есть видео больше не прозрачно.
Кто-нибудь сталкивался с этим раньше?
В чем может быть проблема:
Это проблема с каналом webrtc, возможно, он не в состоянии обрабатывать прозрачные пиксели?
ИЛИ ЖЕ
Это может быть что-то делать с медиасервером? Или что-то другое?
1 ответ
Похоже, вы отправляете свой холст в виде видеоданных. WebRTC обычно использует VP8 или H264 для передачи видео и не поддерживает альфа-каналы. Поэтому, если вы хотите отправить его как видео, использовать прозрачность невозможно.
Однако вы можете отправить его, используя часть канала данных WebRTC. Вы должны будете сериализовать и десериализовать его самостоятельно, но, поскольку он просто передает байты, вы можете сохранить свой альфа-канал.