GLMakie Method error (Makie.image!)

I now have code that runs but eats up CPU cycles and memory. The code I now have is

using GLMakie
using VideoIO

io = VideoIO.testvideo("annie_oakley") # for testing purposes
f = VideoIO.openvideo(io)

img = read(f)
fig = Figure()
ax = Axis(fig[1,1], aspect = DataAspect())
hidedecorations!(ax)

makieimg = image!(rotr90(img))

framerate = 30
i = 0
while !eof(f)
    i += 1
    print("Frame $i\r")
    read!(f, img)
    makieimg = image!(rotr90(img))
    sleep(1/framerate)
end

when I look at the memory used after I run the program I obtain:

julia> varinfo()
  name                    size summary

  –––––––––––––––– ––––––––––– –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
  Base                         Module

  Core                         Module

  InteractiveUtils 272.678 KiB Module

  Main                         Module

  ans                  0 bytes typeof(varinfo)

  ax               801.817 MiB Axis

  f                  1.440 KiB VideoIO.VideoReader{true, VideoIO.SwsTransform, String}
  fig              801.817 MiB Figure
  framerate            8 bytes Int64
  i                    8 bytes Int64
  img              225.047 KiB 240×320 PermutedDimsArray(::Array{RGB{N0f8},2}, (2, 1)) with eltype ColorTypes.RGB{FixedPointNumbers.N0f8}
  io                 1.440 KiB VideoIO.AVInput{String}
  makieimg         801.817 MiB Image{Tuple{IntervalSets.ClosedInterval{Float32}, IntervalSets.ClosedInterval{Float32}, Matrix{ColorTypes.RGB{Float32}}}}
  subtypetree          0 bytes typeof(subtypetree)

julia>

Watching the task manager the memory consumption increases while the code is running. Watching the video as it progresses, the framerate decreases. When I play a cellphone video, the program totally stalls. I am sure there is a more efficient way of doing things, some help is appreciated.