Николай Васильчук - Замена фона в видеозвонке

Поделиться
HTML-код
  • Опубликовано: 26 июн 2024
  • Ближайшая конференция - VideoTech 2024, 19 сентября (online), 28-29 сентября, Санкт-Петербург + online
    Подробности и билеты: jrg.su/1c4Boc
    - -
    Скачать презентацию с сайта VideoTech - jrg.su/FiI97D
    Спикер рассказывает, как разобрать видео на кадры, найти в кадрах людей, заменить фон и собрать обратно. И еще немного про нейронки, стримы и канвасы. Используемые технологии: WebRTC, Insertable Streams, Media Source Extensions, Canvas. Доклад будет полезен, если вы работаете с видео, звонками или конференциями, делаете свой видеоплеер, сервис групповых звонков или DRM.
    #webrtc #videocall

Комментарии • 5

  • @stepanmikhailiuk4571
    @stepanmikhailiuk4571 3 дня назад

    Спасибо за доклад. Скажите, модель, которую вы используете есть в открытом виде?

  • @stepanmikhailiuk4571
    @stepanmikhailiuk4571 3 дня назад

    Не удалось понять для чего именно используется imageData. Так как в примерах на слайдах imageData просто рисуется. Видимо имелось в виду что полученная ресайзнутая imageData передается в модель. В таком случае, преимущество webgl readPixels не очевидно так как он делает то же самое. что и getImageData.
    Единственная разница что readPixels поддерживает возможность передать туда ссылку на Uint8Array, что позволяет не аллоцировать на каждый кадр новую память.
    Но у readpixels есть неприятный нюанс - он возвращет флипнутое изображение. Надо или компенсируюший флиппинг на шейдере делать или же после чтения jsoм - но это будет стоить еще 0.5 ms-2ms для 1080p на m1 pro, если я верно помню цифры

  • @stepanmikhailiuk4571
    @stepanmikhailiuk4571 3 дня назад

    ruclips.net/video/Ps8CzdeMrQ8/видео.htmlsi=KQbnWI-k_rODipCA&t=998
    Тут ошибка.
    метод resize возвращает imageData. canvasRenderin2dContext.drawImage не поддерживает передачу туда ImageData.