Поддерживает ли Google WebRTC Cisco Open H.264? - PullRequest
0 голосов
/ 19 февраля 2019

Зная тот факт, что Cisco сделал свой кодек h.264 в качестве открытого источника, я хотел добавить его в Android WebRTC SDK.Я попытался создать пользовательский VideoEncoder с помощью API webRTC, но обнаружил, что выбор кодека сделан по его имени.Класс SoftwareVideoEncoderFactory возвращает класс, представляющий определенный кодек на основе VideoCodecInfo name: link .В моем случае я сделал это так:

    VideoCodecInfo codecInfo = new VideoCodecInfo("H264", getDefaultH264Params(false));
    SoftwareVideoEncoderFactory softwareVideoEncoderFactory = new SoftwareVideoEncoderFactory();
    softwareVideoEncoderFactory.createEncoder(codecInfo);

и добавил его в свой PeerConnectionFactory.К сожалению, как я полагаю, библиотека webRTC не знает, где находится бинарный файл с открытым h264.

Вопрос: мне нужно создать свой собственный класс, который будет поддерживать Open H.264, а затем пересобратьбиблиотека webRTC?Было бы здорово, если бы этого не произошло, и у API была бы возможность сделать это, но я не могу его найти.

1 Ответ

0 голосов
/ 20 февраля 2019

WebRTC (https://webrtc.googlesource.com/src) поддерживает h264 с использованием openH264. Но его необходимо собрать для целевой платформы. Для Android он был встроен в хром или хром, но не в Android SDK. Поэтому у вас не может быть openH264используя Android SDK. вам нужно создать WebRTC для Android самостоятельно, а затем добавить класс-оболочку для вызова нативного API. Вы можете использовать API WebRTC JS для веб-приложения.

...