Ffmpeg tfds.features.Video用于tensorflow 2中的视频解码

Ffmpeg tfds.features.Video用于tensorflow 2中的视频解码,ffmpeg,deep-learning,video-processing,tensorflow2.0,tensorflow-datasets,Ffmpeg,Deep Learning,Video Processing,Tensorflow2.0,Tensorflow Datasets,我正在尝试使用tfds.features.video解码tensorflow 2中的视频,以便使用以下代码输出“tf.uint8类型的tf.Tensor和shape[num_frames,height,width,channels]”: 将numpy导入为np 作为pd进口熊猫 导入tensorflow作为tf 将tensorflow_数据集作为TFD导入 df_trains=pd.DataFrame() df_训练['video_files']=['aa.mp4'] 文件\u ds=tf.da

我正在尝试使用tfds.features.video解码tensorflow 2中的视频,以便使用以下代码输出“tf.uint8类型的tf.Tensor和shape[num_frames,height,width,channels]”:

将numpy导入为np
作为pd进口熊猫
导入tensorflow作为tf
将tensorflow_数据集作为TFD导入
df_trains=pd.DataFrame()
df_训练['video_files']=['aa.mp4']
文件\u ds=tf.data.Dataset.from\u tensor\u切片(df\u trains.video\u文件)
video\u class=tfds.features.video(shape=(None,10801920,3),encoding\u format='png',ffmpeg\u extra\u args=())
a=视频类。解码示例(文件)
但是,它会产生以下错误:
“断言错误:功能视频只有在通过info.features.decode_example()定义为顶级功能时才能解码”


我无法解决此问题,请在这方面提供帮助。

您不能像那样使用
tfds.features.Video
tfds.features.Video
通常与
tfds.builder
tfds.load
一起使用

因此,当您使用
tfds\u download\u dataset
时,您会感到舒适,但很难使用自定义数据集

features = tfds.features.FeaturesDict({
    'video': tfds.features.Video(shape=(None, 1080, 1920,3)),
})
tfds.load(..., decoders=features, ...)
但是
tfds.features.Video
可以通过制作包含您的数据的
myu数据集来使用


然而,这很烦人。所以
cv2
比这更好。

谢谢,它帮了大忙。正如您所说的定制数据集,请您再解释一下,我如何在我自己的mp4视频数据集上使用它,比如说两个视频:“a.mp4”和“b.mp4”。