WebRTC MediaRecorder на удаленном потоке режет, когда поток зависает

Используя встроенную функцию списка, вы можете сделать это

a
out:[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
#Displaying the list

a.remove(a[0])
out:[[1, 1, 1, 1], [1, 1, 1, 1]]
# Removed the first element of the list in which you want altered number

a.append([5,1,1,1])
out:[[1, 1, 1, 1], [1, 1, 1, 1], [5, 1, 1, 1]]
# append the element in the list but the appended element as you can see is appended in last but you want that in starting

a.reverse()
out:[[5, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
#So at last reverse the whole list to get the desired list
1
задан Jamie Corkhill 24 March 2019 в 15:34
поделиться

1 ответ

Надеюсь, кто-то сможет опубликовать фактическое исправление для вас. В то же время, неприятный, неэффективный, совершенно не рекомендуемый обходной путь:

  1. Направьте входящий MediaStream на элемент видео.
  2. Используйте requestAnimationFrame() для планирования рисования рамок на холсте. (Обратите внимание, что это удаляет любое чувство genlock из исходного видео, и это не то, что вы хотите сделать. К сожалению, у нас нет способа узнать, когда происходят входящие кадры, насколько я знаю.)
  3. [ 113] Используйте CanvasCaptureMediaStream в качестве источника видео.
  4. Перекомбинируйте видео-трек из CanvasCaptureMediaStream вместе с аудио-треком из оригинального MediaStream в новый MediaStream.
  5. Используйте этот новый MediaStream для MediaRecorder.

Я делал это с прошлыми проектами, где мне нужно было программно манипулировать аудио и видео. Это работает!

Одно большое предостережение в том, что в Chrome есть ошибка, из-за которой даже если поток захвата прикреплен к холсту, холст не будет обновляться, если вкладка не активна / не видна. И, конечно же, requestAnimationFrame в лучшем случае сильно ограничивается, если вкладка не активна, поэтому вам нужен другой источник кадровой синхронизации. (Я использовал аудио процессоры, ха!)

0
ответ дан Brad 24 March 2019 в 15:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: