class_docstr: IODataset
  
  An `IODataset` is a subclass of `tf.data.Dataset` that is definitive with
  with data backed by IO operations. It is definitive so data should be both
  bounded and repeatable. In other words, the data will run out eventually
  (bounded) and a re-run of the `IODataset` will create an exact same sequence
  of data. `IODataset` could be passed to `tf.keras` for both training and
  inference purposes.
  
  Note while `IODataset` is a subclass of `tf.data.Dataset`, definitive
  does not necessarily apply to all `tf.data.Dataset`. A `tf.data.Dataset`
  could also be a `StreamIODataset` where data generation may last forever
  and/or non-repeatable. `StreamIODataset` is only safe to be passed to
  `tf.keras` for inference purposes.
  
  Examples of `IODataset` include `AudioIODataset` which is based on data
  from an audio (e.g., WAV) file. `KafkaIODataset` is also an `IODataset`
  which could be re-run multiple times and expect the same generated data.
  
  Example:
  
  ```python
  >>> import tensorflow as tf
  >>> import tensorflow_io as tfio
  >>>
  >>> audio = tfio.IODataset.from_audio("sample.wav")
  >>>
  ```
class_docstr_tok: ["IODataset","An","`","IODataset","`","is","a","subclass","of","`","tf.data.Dataset","`","that","is","definitive","with","with","data","backed","by","IO","operations",".","It","is","definitive","so","data","should","be","both","bounded","and","repeatable",".","In","other","words",",","the","data","will","run","out","eventually","(","bounded",")","and","a","re-run","of","the","`","IODataset","`","will","create","an","exact","same","sequence","of","data",".","`","IODataset","`","could","be","passed","to","`","tf.keras","`","for","both","training","and","inference","purposes",".","Note","while","`","IODataset","`","is","a","subclass","of","`","tf.data.Dataset","`",",","definitive","does","not","necessarily","apply","to","all","`","tf.data.Dataset","`",".","A","`","tf.data.Dataset","`","could","also","be","a","`","StreamIODataset","`","where","data","generation","may","last","forever","and\/or","non-repeatable",".","`","StreamIODataset","`","is","only","safe","to","be","passed","to","`","tf.keras","`","for","inference","purposes",".","Examples","of","`","IODataset","`","include","`","AudioIODataset","`","which","is","based","on","data","from","an","audio","(","e.g.",",","WAV",")","file",".","`","KafkaIODataset","`","is","also","an","`","IODataset","`","which","could","be","re-run","multiple","times","and","expect","the","same","generated","data",".","Example",":","``","`","python",">",">",">","import","tensorflow","as","tf",">",">",">","import","tensorflow_io","as","tfio",">",">",">",">",">",">","audio","=","tfio.IODataset.from_audio","(","``","sample.wav","''",")",">",">",">","``","`"]
docstr: Creates an `IODataset` from a media file by FFmpeg
  
  Args:
    filename: A string, the filename of a media file.
    stream: A string, the stream index (e.g., "v:0"). Note
      video, audio, and subtitle index starts with 0 separately.
    name: A name prefix for the IOTensor (optional).
  
  Returns:
    A `IODataset`.
docstr_tok: ["Creates","an","`","IODataset","`","from","a","media","file","by","FFmpeg","Args",":","filename",":","A","string",",","the","filename","of","a","media","file",".","stream",":","A","string",",","the","stream","index","(","e.g.",",","``","v:0","''",")",".","Note","video",",","audio",",","and","subtitle","index","starts","with","0","separately",".","name",":","A","name","prefix","for","the","IOTensor","(","optional",")",".","Returns",":","A","`","IODataset","`","."]
code: def from_ffmpeg(cls, filename, stream, **kwargs):
      """Creates an `IODataset` from a media file by FFmpeg
  
      Args:
        filename: A string, the filename of a media file.
        stream: A string, the stream index (e.g., "v:0"). Note
          video, audio, and subtitle index starts with 0 separately.
        name: A name prefix for the IOTensor (optional).
  
      Returns:
        A `IODataset`.
  
      """
      with tf.name_scope(kwargs.get("name", "IOFromFFmpeg")):
          return ffmpeg_dataset_ops.FFmpegIODataset(
              filename, stream, internal=True
          )
  
imports: import tensorflow
  from tensorflow_io.python.ops import audio_ops
  from tensorflow_io.python.ops import io_dataset_ops
  from tensorflow_io.python.ops import hdf5_dataset_ops
  from tensorflow_io.python.ops import avro_dataset_ops
  from tensorflow_io.python.ops import lmdb_dataset_ops
  from tensorflow_io.python.ops import kafka_dataset_ops
  from tensorflow_io.python.ops import ffmpeg_dataset_ops
  from tensorflow_io.python.ops import json_dataset_ops
  from tensorflow_io.python.ops import parquet_dataset_ops
  from tensorflow_io.python.ops import pcap_dataset_ops
  from tensorflow_io.python.ops import mnist_dataset_ops
  from tensorflow_io.python.ops import orc_dataset_ops
label_desc: Use image node_id 5 for calling the IODataset obj's underlying member method code with example usage: obj.from_ffmpeg(cls, filename, stream) and returns: ffmpeg_dataset_ops