code: def test_seeking_beyond_file_end():
      reader = FFMPEG_VideoReader("media/test_video.mp4")
      frame_1 = reader.get_frame(0)
  
      with pytest.warns(
          UserWarning, match="Using the last valid frame instead"
      ):
          end_of_file_frame = reader.get_frame(5)
      assert np.array_equal(frame_1, end_of_file_frame)
      assert reader.pos == 6
  
      # Try again with a jump larger than 100 frames
      # (which triggers different behaviour in `.get_frame()`
      reader = FFMPEG_VideoReader("media/big_buck_bunny_0_30.webm")
      frame_1 = reader.get_frame(0)
  
      with pytest.warns(
          UserWarning, match="Using the last valid frame instead"
      ):
          end_of_file_frame = reader.get_frame(30)
      assert np.array_equal(frame_1, end_of_file_frame)
      assert reader.pos == 30 * 24 + 1
  
imports: import os
  import subprocess
  import time
  import numpy
  import pytest
  from moviepy.audio.AudioClip import AudioClip
  from moviepy.config import FFMPEG_BINARY
  from moviepy.video.compositing.CompositeVideoClip import clips_array
  from moviepy.video.io.ffmpeg_reader import FFMPEG_VideoReader, FFmpegInfosParser, ffmpeg_parse_infos
  from moviepy.video.io.VideoFileClip import VideoFileClip
  from moviepy.video.VideoClip import BitmapClip, ColorClip
label_desc: Use image node_id 20 for calling a global function with example usage: test_seeking_beyond_file_end() without return types