code: def test_video_custom_decode(self):
      image_path = os.fspath(
          utils.tfds_path("testing/test_data/test_image.jpg")
      )
      with tf.io.gfile.GFile(image_path, "rb") as f:
          serialized_img = f.read()
  
      self.assertFeature(
          # Image with statically defined shape
          feature=features_lib.Video(shape=(None, 30, 60, 3)),
          shape=(None, 30, 60, 3),
          dtype=np.uint8,
          # Output shape is different.
          test_tensor_spec=False,
          tests=[
              testing.FeatureExpectationItem(
                  value=[image_path] * 15,  # 15 frames of video
                  expected=[serialized_img] * 15,  # Non-decoded image
                  shape=(15,),
                  dtype=np.str_,  # Only string are decoded
                  decoders=decode_lib.SkipDecoding(),
              ),
          ],
      )
  
      # Test with FeatureDict
      self.assertFeature(
          feature=features_lib.FeaturesDict(
              {
                  "image": features_lib.Image(
                      shape=(30, 60, 3), encoding_format="jpeg"
                  ),
                  "label": np.int64,
              }
          ),
          shape={
              "image": (30, 60, 3),
              "label": (),
          },
          dtype={
              "image": np.uint8,
              "label": np.int64,
          },
          # Output shape is different.
          test_tensor_spec=False,
          tests=[
              testing.FeatureExpectationItem(
                  decoders={
                      "image": decode_lib.SkipDecoding(),
                  },
                  value={
                      "image": image_path,
                      "label": 123,
                  },
                  expected={
                      "image": serialized_img,
                      "label": 123,
                  },
                  shape={
                      "image": (),
                      "label": (),
                  },
                  dtype={
                      "image": np.str_,
                      "label": np.int64,
                  },
              ),
          ],
      )
  
file_path: datasets/tensorflow_datasets/core/decode/base_test.py
imports: import os
  import numpy
  import tensorflow
  from tensorflow_datasets import testing
  from tensorflow_datasets.core import decode
  from tensorflow_datasets.core import features
  from tensorflow_datasets.core import utils
label_desc: Use image node_id 2 for calling the BaseDecodeTest obj's underlying member method code with example usage: obj.test_video_custom_decode() without return types