Капчинг канваса - когда ничего не меняется - не работает

Для целей передачи whiteboard капчу в клиенте канвас, на котором юзер что-то рисует.

const canvasInput = (this.hostRef.nativeElement.children[0] as any).contentWindow.document.getElementById('main-canvas');
const stream = canvasInput.captureStream(25);

когда юзер не рисует - поток перестаёт капчиться и передаваться, прерывается. как сделать чтобы шли не меняющиеся кадры тоже?
да, очевидное решение - изображать в уголке кадра таймер с миллисекундами - работает прекрасно, тогда всё в порядке с потоком. но моему клиенту это не нравится, попросил убрать, и после убирания не могу заставить работать нормально. посоветуете решение?
 

Max

Administrator
Staff member
Добрый день.
Да, мы видели подобное поведение.
Поэтому у нас на демо изображена свиду статическая рамка, которая на самом деле постоянно перерисовывается:
https://demo.flashphoner.com/client...dia_devices_manager/media_device_manager.html
Попробуйте добавить на Canvas элемент, который будет перерисовываться с некоторой частотой. Возможно можно нарисовать и перерисовывать прозрачную рамку или объект, который будет незаметен пользователю.
Выглядит так:
upload_2018-10-12_1-28-9.png
 
Top