Here is new video test file build with R.
I changed several things from the last version, basically switching to a new layout and going down from 100fps to 60fps as YT can handle this much better.
Just in case, somebody wants to modify it, here is the script.
vid <- function(nr){ nr2 = as.integer(nr*60) # total number 1/2s nr3 = -600 + (nr*10) # current ms title for (ii in 1:60 ){ fn = paste0(str_pad(nr*60+ii,5,pad = "0"), ".png") png(file = fn, width = 1600, height = 900, units = 'px') # defaults to 300 ppi par(mar=c(0,0,0,0),bg="black") plot(c(0, 1), c(0, 1), ann = F, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n', asp=1) color="red" rect(xleft=0.5, xright=(nr3+500)/1000, ybottom=0.94, ytop=0.99, col= color) color="lightgrey" if( (nr<=58 & ii==30+nr/2) | (nr>=60 & ii==-30+nr/2) ) { circlize::draw.sector(0, 360, center = c(0.02, 0.01), rou1 = 0.01, col = color, border = color) } circlize::draw.sector(90, 90-ii*6, center = c(0.5, 0.52), rou1 = 0.4, col = color, border = color) if (ii<3 | ii>57) { color="white" circlize::draw.sector(0, 360, center = c(0.5, 0.52), rou1 = 0.4, col = color, border = color) } tx=paste(nr3,' ms') text(x = 0.5, y = 0.85, tx, cex = 6, col = "white", family="Lato", adj=0.5) tx=paste0(nr/2,':',str_pad( round(100*ii/60), 2, pad = "0")) text(x = 0.5, y = 0.5, tx, cex = 12, col = "white", family="Lato", adj=0.5) tx = "play until beep & flash in sync OR take image of source and processed video" text(x = 0.5, y = 0.075, tx, cex = 3, col = "grey", family="Lato", adj=0.5) par(bg="white") dev.off() } } for (i in seq(0,120,2) ) { vid(i) } fn = paste0(list.files('*.png')) av::av_encode_video(fn, framerate = 60, output = 'video.mp4')