Globals¶
- av.open(file, mode='r', **kwargs)¶
- Main entrypoint to opening files/streams. - Parameters:
- file (str) – The file to open, which can be either a string or a file-like object. 
- mode (str) – - "r"for reading and- "w"for writing.
- format (str) – Specific format to use. Defaults to autodect. 
- options (dict) – Options to pass to the container and all streams. 
- container_options (dict) – Options to pass to the container. 
- stream_options (list) – Options to pass to each stream. 
- metadata_encoding (str) – Encoding to use when reading or writing file metadata. Defaults to - "utf-8".
- metadata_errors (str) – Specifies how to handle encoding errors; behaves like - str.encodeparameter. Defaults to- "strict".
- buffer_size (int) – Size of buffer for Python input/output operations in bytes. Honored only when - fileis a file-like object. Defaults to 32768 (32k).
- timeout – How many seconds to wait for data before giving up, as a float, or a - (open timeout, read timeout)tuple.
- io_open (callable) – Custom I/O callable for opening files/streams. This option is intended for formats that need to open additional file-like objects to - fileusing custom I/O. The callable signature is- io_open(url: str, flags: int, options: dict), where- urlis the url to open,- flagsis a combination of AVIO_FLAG_* and- optionsis a dictionary of additional options. The callable should return a file-like object.
- hwaccel (HWAccel) – Optional settings for hardware-accelerated decoding. 
 
- Return type:
 - For devices (via - libavdevice), pass the name of the device to- format, e.g.:- >>> # Open webcam on MacOS. >>> av.open('0', format='avfoundation') - For DASH and custom I/O using - io_open, add a protocol prefix to the- fileto prevent the DASH encoder defaulting to the file protocol and using temporary files. The custom I/O callable can be used to remove the protocol prefix to reveal the actual name for creating the file-like object. E.g.:- >>> av.open("customprotocol://manifest.mpd", "w", io_open=custom_io) - See also - More information on using input and output devices is available on the FFmpeg website. 
