Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

5.x Linux wheels still cannot decode AV1: 5.0.0.93 predates the dav1d fix (#1209), please release a 5.x build

未关闭
#1,276 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
python
领域
release

调研方向

Start by comparing the 5.x release state with the merged fix in #1209, especially commit 314eb3d2 and the wheel build configuration. Check how the 4.x wheels were published with dav1d. Done means a 5.x wheel includes the fix and passes the supplied AV1 and H.264 reproduction.

由索引模型根据 Issue 内容生成。

描述

Summary

The Linux AV1 decoding fix from #1209 (which closed #908) is merged into both 4.x and 5.x, but it has only been released on the 4.x line. The newest 5.x wheel on PyPI, 5.0.0.93 (uploaded 2026-07-02), predates the merge (2026-07-27, 314eb3d2), so 5.x users on Linux still cannot read any AV1 video.

Could a 5.x wheel be published that includes the dav1d build from #1209?

Reproduction

Linux x86_64, Python 3.12, wheels from PyPI. Test files made with FFmpeg 8.1:

ffmpeg -f lavfi -i testsrc2=s=640x360:r=25:d=2 -c:v libsvtav1 -pix_fmt yuv420p    av1-8bit.mp4
ffmpeg -f lavfi -i testsrc2=s=640x360:r=25:d=2 -c:v libsvtav1 -pix_fmt yuv420p10le av1-10bit.mp4
ffmpeg -f lavfi -i testsrc2=s=640x360:r=25:d=2 -c:v libx264   -pix_fmt yuv420p    h264.mp4
import cv2
for f in ["av1-8bit.mp4", "av1-10bit.mp4", "h264.mp4"]:
    cap = cv2.VideoCapture(f, cv2.CAP_FFMPEG)
    print(f, "opened:", cap.isOpened(), "read:", cap.read()[0])
Wheel av1-8bit.mp4 av1-10bit.mp4 h264.mp4
opencv-python-headless==4.14.0.94 read: True read: True read: True
opencv-python-headless==5.0.0.93 read: False read: False read: True

(opencv-python==5.0.0.93 behaves the same as the headless wheel.)

With 5.0.0.93, isOpened() returns True, so the failure is silent apart from the FFmpeg log:

[av1 @ 0x...] Your platform doesn't support hardware accelerated AV1 decoding.
[av1 @ 0x...] Failed to get pixel format.
[av1 @ 0x...] Get current frame error
Diagnosis

Querying the libavcodec bundled in the 5.0.0.93 wheel (opencv_python.libs/libavcodec-*.so.62.28.101) with avcodec_find_decoder_by_name:

Decoder Present
av1 (FFmpeg's native decoder, which needs a hwaccel) yes
libdav1d no
libaom-av1 no

So there is no software AV1 decoder, which is what #1209 adds. (The wheel does ship a libaom shared object, but libavcodec does not register a decoder for it.)

Workaround

Pin opencv-python(-headless)==4.14.0.94, or transcode to H.264 before reading.

Related
  • #908: original report, closed by #1209
  • #1209: the fix (dav1d in the manylinux and musllinux images), merged into 4.x and present on 5.x as 314eb3d2
主要语言
Python
星标
5.4k
派生
1k
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

opencv/opencv-python 的其他 Issue

查看 opencv/opencv-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。