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
分支
1.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 摘要。