Используя встроенную функцию списка, вы можете сделать это
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
Надеюсь, кто-то сможет опубликовать фактическое исправление для вас. В то же время, неприятный, неэффективный, совершенно не рекомендуемый обходной путь:
requestAnimationFrame()
для планирования рисования рамок на холсте. (Обратите внимание, что это удаляет любое чувство genlock из исходного видео, и это не то, что вы хотите сделать. К сожалению, у нас нет способа узнать, когда происходят входящие кадры, насколько я знаю.) Я делал это с прошлыми проектами, где мне нужно было программно манипулировать аудио и видео. Это работает!
Одно большое предостережение в том, что в Chrome есть ошибка, из-за которой даже если поток захвата прикреплен к холсту, холст не будет обновляться, если вкладка не активна / не видна. И, конечно же, requestAnimationFrame в лучшем случае сильно ограничивается, если вкладка не активна, поэтому вам нужен другой источник кадровой синхронизации. (Я использовал аудио процессоры, ха!)