FFmpeg в WebRT C через UDP и DataChannel для экрана с малой задержкой - PullRequest
0 голосов
/ 08 апреля 2020

Я изучаю различные способы получения общего экрана с низкой задержкой с помощью WebRT C и сталкиваюсь с проблемой. Любая помощь будет принята с благодарностью!

На данный момент я могу захватывать / транслировать мой экран ОС Ma c на локальный хост с помощью FFmpeg, затем брать поток и воспроизводить его на других компьютерах моего компьютера. сеть.

Вот моя командная строка FFmpeg для захвата видео на рабочем столе:

ffmpeg -f avfoundation -framerate 60 -capture_cursor 1 -i "1" -c:v h264_videotoolbox -realtime 1 -vsync 2 -b:v 5000k out777777.mp4

Мне было интересно, есть ли способ использовать WebRT C (в идеале, канал данных метод) для того, чтобы удаленный компьютер мог подобрать и воспроизвести этот поток UDP моего рабочего стола, как только два узла будут подключены через канал данных?

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

ffmpeg сам по себе не может помочь вам с WebRT C, поэтому вам нужно будет либо сшить вещи вместе, либо использовать полную реализацию WebRT C.

Кто-то реализовал ScreenShare с использованием libx264 под названием webrt c -remote-screen , что может быть полезным!

Если вы хотите создать свой собственный, вам понадобится

  • Реализация SDP (и сигнализация для его транспортировки)

  • Агент ICE

  • Внедрение DTLS

  • Внедрение SCTP

Затем вы можете отправлять свои кадры через SCTP. Каждый из этих стеков довольно сложен, поэтому вам нужно будет погрузиться в каждую проблему в отдельности.

...