Pyav

Latest version: v14.2.1

Safety actively analyzes 708310 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 8

7.0.0

------

Major:

- Drop support for FFmpeg < 4.0. (:issue:`559`)
- Introduce per-error exceptions, and mirror the builtin exception hierarchy. It is recommended to examine your error handling code, as common FFmpeg errors will result in `ValueError` baseclasses now. (:issue:`563`)
- Data stream's `encode` and `decode` return empty lists instead of none allowing common API use patterns with data streams.
- Remove ``whence`` parameter from :meth:`InputContainer.seek` as non-time seeking doesn't seem to actually be supported by any FFmpeg formats.

Minor:

- Users can disable the logging system to avoid lockups in sub-interpreters. (:issue:`545`)
- Filters support audio in general, and a new :meth:`.Graph.add_abuffer`. (:issue:`562`)
- :func:`av.open` supports `timeout` parameters. (:issue:`480` and :issue:`316`)
- Expose :attr:`Stream.base_rate` and :attr:`Stream.guessed_rate`. (:issue:`564`)
- :meth:`.VideoFrame.reformat` can specify interpolation.
- Expose many sets of flags.

Fixes:

- Fix typing in :meth:`.CodecContext.parse` and make it more robust.
- Fix wrong attribute in ByteSource. (:issue:`340`)
- Remove exception that would break audio remuxing. (:issue:`537`)
- Log messages include last FFmpeg error log in more helpful way.
- Use AVCodecParameters so FFmpeg doesn't complain. (:issue:`222`)

6.2.0

------

Major:

- Allow :meth:`av.open` to be used as a context manager.
- Fix compatibility with PyPy, the full test suite now passes. (:issue:`130`)

Minor:

- Add :meth:`.InputContainer.close` method. (:issue:`317`, :issue:`456`)
- Ensure audio output gets flushes when using a FIFO. (:issue:`511`)
- Make Python I/O buffer size configurable. (:issue:`512`)
- Make :class:`.AudioFrame` and :class:`VideoFrame` more garbage-collector friendly by breaking a reference cycle. (:issue:`517`)

Build:

- Do not install the `scratchpad` package.

6.1.2

------

Micro:

- Fix a numpy deprecation warning in :meth:`.AudioFrame.to_ndarray`.

6.1.1

------

Micro:

- Fix alignment in :meth:`.VideoFrame.from_ndarray`. (:issue:`478`)
- Fix error message in :meth:`.Buffer.update`.

Build:

- Fix more compiler warnings.

6.1.0

------

Minor:

- ``av.datasets`` for sample data that is pulled from either FFmpeg's FATE suite, or our documentation server.
- :meth:`.InputContainer.seek` gets a ``stream`` argument to specify the ``time_base`` the requested ``offset`` is in.

Micro:

- Avoid infinite look in ``Stream.__getattr__``. (:issue:`450`)
- Correctly handle Python I/O with no ``seek`` method.
- Remove ``Datastream.seek`` override (:issue:`299`)

Build:

- Assert building against compatible FFmpeg. (:issue:`401`)
- Lock down Cython language level to avoid build warnings. (:issue:`443`)

Other:

- Incremental improvements to docs and tests.
- Examples directory will now always be runnable as-is, and embeded in the docs (in a copy-pastable form).

6.0.0

------

Major:

- Drop support for FFmpeg < 3.2.
- Remove ``VideoFrame.to_qimage`` method, as it is too tied to PyQt4. (:issue:`424`)

Minor:

- Add support for all known sample formats in :meth:`.AudioFrame.to_ndarray` and add :meth:`.AudioFrame.to_ndarray`. (:issue:`422`)
- Add support for more image formats in :meth:`.VideoFrame.to_ndarray` and :meth:`.VideoFrame.from_ndarray`. (:issue:`415`)

Micro:

- Fix a memory leak in :meth:`.OutputContainer.mux_one`. (:issue:`431`)
- Ensure :meth:`.OutputContainer.close` is called at destruction. (:issue:`427`)
- Fix a memory leak in :class:`.OutputContainer` initialisation. (:issue:`427`)
- Make all video frames created by PyAV use 8-byte alignment. (:issue:`425`)
- Behave properly in :meth:`.VideoFrame.to_image` and :meth:`.VideoFrame.from_image` when ``width != line_width``. (:issue:`425`)
- Fix manipulations on video frames whose width does not match the line stride. (:issue:`423`)
- Fix several :attr:`.Plane.line_size` misunderstandings. (:issue:`421`)
- Consistently decode dictionary contents. (:issue:`414`)
- Always use send/recv en/decoding mechanism. This removes the ``count`` parameter, which was not used in the send/recv pipeline. (:issue:`413`)
- Remove various deprecated iterators. (:issue:`412`)
- Fix a memory leak when using Python I/O. (:issue:`317`)
- Make :meth:`.OutputContainer.mux_one` call `av_interleaved_write_frame` with the GIL released.

Build:

- Remove the "reflection" mechanism, and rely on FFmpeg version we build against to decide which methods to call. (:issue:`416`)
- Fix many more ``const`` warnings.


v0.x.y
------

.. note::

Below here we used ``v0.x.y``.

We incremented ``x`` to signal a major change (i.e. backwards
incompatibilities) and incremented ``y`` as a minor change (i.e. backwards
compatible features).

Once we wanted more subtlety and felt we had matured enough, we jumped
past the implications of ``v1.0.0`` straight to ``v6.0.0``
(as if we had not been stuck in ``v0.x.y`` all along).

Page 5 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.