Download Latest Version v18.0.0 source code.zip (334.5 kB)
Email in envelope

Get an email when there's a new version of PyAV

Home / v18.0.0
Name Modified Size InfoDownloads / Week
Parent folder
av-18.0.0-cp311-abi3-macosx_11_0_x86_64.whl 2026-07-02 22.5 MB
av-18.0.0-cp311-abi3-macosx_14_0_arm64.whl 2026-07-02 18.2 MB
av-18.0.0-cp311-abi3-manylinux_2_28_aarch64.whl 2026-07-02 33.4 MB
av-18.0.0-cp311-abi3-manylinux_2_28_x86_64.whl 2026-07-02 35.5 MB
av-18.0.0-cp311-abi3-manylinux_2_31_armv7l.whl 2026-07-02 39.0 MB
av-18.0.0-cp311-abi3-musllinux_1_2_aarch64.whl 2026-07-02 34.5 MB
av-18.0.0-cp311-abi3-musllinux_1_2_x86_64.whl 2026-07-02 36.6 MB
av-18.0.0-cp311-abi3-win_amd64.whl 2026-07-02 27.6 MB
av-18.0.0-cp311-abi3-win_arm64.whl 2026-07-02 20.2 MB
av-18.0.0-cp314-cp314t-macosx_11_0_x86_64.whl 2026-07-02 22.7 MB
av-18.0.0-cp314-cp314t-macosx_14_0_arm64.whl 2026-07-02 18.4 MB
av-18.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl 2026-07-02 36.7 MB
av-18.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl 2026-07-02 38.6 MB
av-18.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl 2026-07-02 40.5 MB
av-18.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl 2026-07-02 37.6 MB
av-18.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl 2026-07-02 39.7 MB
av-18.0.0-cp314-cp314t-win_amd64.whl 2026-07-02 28.4 MB
av-18.0.0-cp314-cp314t-win_arm64.whl 2026-07-02 21.4 MB
av-18.0.0.tar.gz 2026-07-02 4.3 MB
README.md 2026-07-02 2.3 kB
v18.0.0 source code.tar.gz 2026-07-02 244.1 kB
v18.0.0 source code.zip 2026-07-02 334.5 kB
Totals: 22 Items   556.4 MB 0

Major

  • Remove Support for Python 3.10
  • Upgrade binary wheels to ffmpeg 8.1.2

Features

  • Support HW encoding via a hwaccel parameter on OutputContainer.add_stream (e.g. h264_vaapi, h264_nvenc, h264_videotoolbox); software frames passed to encode are uploaded to the device automatically by @WyattBlue (#2156).
  • Expose sw_format on VideoCodecContext, and allow configuring the software format of hardware encoders by @WyattBlue.
  • Add options parameter to AudioResampler for passing libswresample options (e.g. resampler, filter_size, cutoff) by @WyattBlue (#2262).
  • Support yuv420p10le in VideoFrame.to_ndarray and VideoFrame.from_ndarray by @WyattBlue (#1981).
  • Add at parameter to Graph.push and Graph.vpush to push a frame to a single buffer source by index, for multi-input filters like overlay by @WyattBlue.
  • find_best_pix_fmt_of_list now returns the loss as a PixFmtLoss enum.IntFlag instead of a plain int by @WyattBlue (#2300).
  • Add Colorspace.BT2020 by @mark-oshea.
  • BitStreamFilterContext now accepts a Codec or a codec-name str as in_stream to pin the input codec without a full Stream by @WyattBlue.

Fixes

  • Fix VideoFrame.reformat (and to_ndarray/to_rgb/to_image) raising OSError Operation not supported on frames tagged with reserved or otherwise unsupported color_primaries/color_trc values (e.g. VP9 and NVDEC output); a transfer/primaries conversion is now only performed when explicitly requested by @WyattBlue (#2208).
  • Fix add_mux_stream producing unwritable Matroska files by extracting codec extradata from the bitstream before the header is written by @WyattBlue (#2198).
  • Encode GPU frames (e.g. CUDA frames from DLPack) directly with pix_fmt="cuda" by adopting the frame's hw_frames_ctx before opening the encoder by @WyattBlue (#2199).
  • Fix a crash when reading VideoCodecContext.pix_fmt before it is set; it now returns None by @CarlosRDomin.
  • Preserve frame attributes (pts, time_base, colorspace, etc.) when downloading hardware frames to system memory by @CarlosRDomin.

New Contributors

Full Changelog: https://github.com/PyAV-Org/PyAV/compare/v17.1.0...v18.0.0

Source: README.md, updated 2026-07-02