class_docstr: Wrapper which creates and records videos from generated observations.
  
  This will limit itself to recording once every `record_every` episodes and
  videos will be recorded to the directory `path` + '/<unique id>/videos' where
  `path` defaults to '~/acme'. Users can specify the size of the screen by
  passing either a tuple giving height and width or a float giving the size
  of the diagonal.
docstr: Appends a frame to the sequence of frames.
docstr_tok: ["Appends","a","frame","to","the","sequence","of","frames","."]
code: def _append_frame(self, observation):
      """Appends a frame to the sequence of frames."""
      if self._counter % self._record_every == 0:
          self._frames.append(self._render_frame(observation))
  
imports: import os.path
  import tempfile
  from typing import Callable, Optional, Sequence, Tuple, Union
  from acme.utils import paths
  from acme.wrappers import base
  import dm_env
  import matplotlib
  import matplotlib.animation
  import matplotlib.pyplot
  import numpy
label_desc: Use image node_id 4 for calling the VideoWrapper obj's underlying member method code with example usage: obj._append_frame(observation) without return types