HwCodecDetect 0.0.1__tar.gz → 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hwcodecdetect-0.0.2/PKG-INFO +69 -0
- hwcodecdetect-0.0.2/README.md +51 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/pyproject.toml +1 -1
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect/__init__.py +1 -1
- hwcodecdetect-0.0.2/src/HwCodecDetect.egg-info/PKG-INFO +69 -0
- hwcodecdetect-0.0.1/PKG-INFO +0 -70
- hwcodecdetect-0.0.1/README.md +0 -52
- hwcodecdetect-0.0.1/src/HwCodecDetect.egg-info/PKG-INFO +0 -70
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/LICENSE +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/setup.cfg +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/setup.py +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect/install_ffmpeg_if_needed.py +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect/run_tests.py +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect.egg-info/SOURCES.txt +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect.egg-info/dependency_links.txt +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect.egg-info/entry_points.txt +0 -0
- {hwcodecdetect-0.0.1 → hwcodecdetect-0.0.2}/src/HwCodecDetect.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: HwCodecDetect
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
|
+
Author-email: whyb <whyber@outlook.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Project-URL: Homepage, https://github.com/whyb/HwCodecDetect
|
|
8
|
+
Project-URL: Issues, https://github.com/whyb/HwCodecDetect/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Topic :: Multimedia :: Video
|
|
12
|
+
Classifier: Topic :: System :: Installation/Setup
|
|
13
|
+
Classifier: Topic :: Utilities
|
|
14
|
+
Requires-Python: >=3.8
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Dynamic: license-file
|
|
18
|
+
|
|
19
|
+
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
20
|
+
[中文版](README.zh.md)
|
|
21
|
+
|
|
22
|
+
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
23
|
+
|
|
24
|
+
While this diversity drives technological progress, it also presents a challenge for users and developers. Due to historical issues and compatibility quirks, a single piece of hardware might support multiple encoders, but they can differ significantly in performance, supported formats, and resolutions. As a result, when using FFmpeg for hardware acceleration, it's not always clear which encoder is best suited for a specific device.
|
|
25
|
+
|
|
26
|
+
This project was created to solve this very problem. It's a convenient tool for automatically detecting the hardware video encoder capabilities of your system. Using FFmpeg, it generates single-frame video files at various resolutions (from 240p to 8K) and attempts to process them with different hardware encoders. This allows it to quickly determine which hardware encoders are available on your system and what resolutions they support.
|
|
27
|
+
|
|
28
|
+
## Key Features
|
|
29
|
+
### Encoders
|
|
30
|
+
The script automatically tests and reports on the following major hardware encoders and their supported formats:
|
|
31
|
+
| Encoder Name | Supported Video Formats |
|
|
32
|
+
|-----------------------------------|------------------------------------------- |
|
|
33
|
+
| NVEnc | H.264、H.265、AV1 |
|
|
34
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
35
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
36
|
+
| Media Foundation | H.264、H.265 |
|
|
37
|
+
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
38
|
+
| Vulkan | H.264、H.265 |
|
|
39
|
+
|
|
40
|
+
### Decoders
|
|
41
|
+
The script automatically tests and reports on the following major hardware decoders and their supported formats:
|
|
42
|
+
| Decoder Name | Supported Video Formats |
|
|
43
|
+
|------------------------------------------ |------------------------------------------------------------- |
|
|
44
|
+
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
45
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
46
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
47
|
+
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
48
|
+
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## How to Use
|
|
52
|
+
|
|
53
|
+
### 1. Install via PyPI
|
|
54
|
+
```bash
|
|
55
|
+
pip install HwCodecDetect
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 2. Run the Test
|
|
59
|
+
```bash
|
|
60
|
+
HwCodecDetect
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Demo
|
|
65
|
+
Here are some possible results from a local test run:
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+

|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
2
|
+
[中文版](README.zh.md)
|
|
3
|
+
|
|
4
|
+
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
5
|
+
|
|
6
|
+
While this diversity drives technological progress, it also presents a challenge for users and developers. Due to historical issues and compatibility quirks, a single piece of hardware might support multiple encoders, but they can differ significantly in performance, supported formats, and resolutions. As a result, when using FFmpeg for hardware acceleration, it's not always clear which encoder is best suited for a specific device.
|
|
7
|
+
|
|
8
|
+
This project was created to solve this very problem. It's a convenient tool for automatically detecting the hardware video encoder capabilities of your system. Using FFmpeg, it generates single-frame video files at various resolutions (from 240p to 8K) and attempts to process them with different hardware encoders. This allows it to quickly determine which hardware encoders are available on your system and what resolutions they support.
|
|
9
|
+
|
|
10
|
+
## Key Features
|
|
11
|
+
### Encoders
|
|
12
|
+
The script automatically tests and reports on the following major hardware encoders and their supported formats:
|
|
13
|
+
| Encoder Name | Supported Video Formats |
|
|
14
|
+
|-----------------------------------|------------------------------------------- |
|
|
15
|
+
| NVEnc | H.264、H.265、AV1 |
|
|
16
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
17
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
18
|
+
| Media Foundation | H.264、H.265 |
|
|
19
|
+
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
20
|
+
| Vulkan | H.264、H.265 |
|
|
21
|
+
|
|
22
|
+
### Decoders
|
|
23
|
+
The script automatically tests and reports on the following major hardware decoders and their supported formats:
|
|
24
|
+
| Decoder Name | Supported Video Formats |
|
|
25
|
+
|------------------------------------------ |------------------------------------------------------------- |
|
|
26
|
+
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
27
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
28
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
29
|
+
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
30
|
+
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
|
|
35
|
+
### 1. Install via PyPI
|
|
36
|
+
```bash
|
|
37
|
+
pip install HwCodecDetect
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Run the Test
|
|
41
|
+
```bash
|
|
42
|
+
HwCodecDetect
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Demo
|
|
47
|
+
Here are some possible results from a local test run:
|
|
48
|
+
|
|
49
|
+

|
|
50
|
+
|
|
51
|
+

|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: HwCodecDetect
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
|
+
Author-email: whyb <whyber@outlook.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Project-URL: Homepage, https://github.com/whyb/HwCodecDetect
|
|
8
|
+
Project-URL: Issues, https://github.com/whyb/HwCodecDetect/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Topic :: Multimedia :: Video
|
|
12
|
+
Classifier: Topic :: System :: Installation/Setup
|
|
13
|
+
Classifier: Topic :: Utilities
|
|
14
|
+
Requires-Python: >=3.8
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Dynamic: license-file
|
|
18
|
+
|
|
19
|
+
# FFmpeg Hardware Codec Test Script(HwCodecDetect)
|
|
20
|
+
[中文版](README.zh.md)
|
|
21
|
+
|
|
22
|
+
Today's hardware-accelerated video codec landscape is a "field of a hundred schools of thought." To leverage the immense power of GPUs, hardware manufacturers have introduced their own acceleration frameworks and encoding standards, such as NVIDIA's NVEnc/NVDec, Intel's QSV, and AMD's AMF. Additionally, operating systems provide universal APIs like Microsoft's Media Foundation, DXVA, and D3D12VA, while the open-source community has developed cross-platform standards like VAAPI and Vulkan.
|
|
23
|
+
|
|
24
|
+
While this diversity drives technological progress, it also presents a challenge for users and developers. Due to historical issues and compatibility quirks, a single piece of hardware might support multiple encoders, but they can differ significantly in performance, supported formats, and resolutions. As a result, when using FFmpeg for hardware acceleration, it's not always clear which encoder is best suited for a specific device.
|
|
25
|
+
|
|
26
|
+
This project was created to solve this very problem. It's a convenient tool for automatically detecting the hardware video encoder capabilities of your system. Using FFmpeg, it generates single-frame video files at various resolutions (from 240p to 8K) and attempts to process them with different hardware encoders. This allows it to quickly determine which hardware encoders are available on your system and what resolutions they support.
|
|
27
|
+
|
|
28
|
+
## Key Features
|
|
29
|
+
### Encoders
|
|
30
|
+
The script automatically tests and reports on the following major hardware encoders and their supported formats:
|
|
31
|
+
| Encoder Name | Supported Video Formats |
|
|
32
|
+
|-----------------------------------|------------------------------------------- |
|
|
33
|
+
| NVEnc | H.264、H.265、AV1 |
|
|
34
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
35
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
36
|
+
| Media Foundation | H.264、H.265 |
|
|
37
|
+
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
38
|
+
| Vulkan | H.264、H.265 |
|
|
39
|
+
|
|
40
|
+
### Decoders
|
|
41
|
+
The script automatically tests and reports on the following major hardware decoders and their supported formats:
|
|
42
|
+
| Decoder Name | Supported Video Formats |
|
|
43
|
+
|------------------------------------------ |------------------------------------------------------------- |
|
|
44
|
+
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
45
|
+
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
46
|
+
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
47
|
+
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
48
|
+
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## How to Use
|
|
52
|
+
|
|
53
|
+
### 1. Install via PyPI
|
|
54
|
+
```bash
|
|
55
|
+
pip install HwCodecDetect
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 2. Run the Test
|
|
59
|
+
```bash
|
|
60
|
+
HwCodecDetect
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Demo
|
|
65
|
+
Here are some possible results from a local test run:
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+

|
hwcodecdetect-0.0.1/PKG-INFO
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: HwCodecDetect
|
|
3
|
-
Version: 0.0.1
|
|
4
|
-
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
|
-
Author-email: whyb <whyber@outlook.com>
|
|
6
|
-
License-Expression: BSD-3-Clause
|
|
7
|
-
Project-URL: Homepage, https://github.com/whyb/HwCodecDetect
|
|
8
|
-
Project-URL: Issues, https://github.com/whyb/HwCodecDetect/issues
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Topic :: Multimedia :: Video
|
|
12
|
-
Classifier: Topic :: System :: Installation/Setup
|
|
13
|
-
Classifier: Topic :: Utilities
|
|
14
|
-
Requires-Python: >=3.8
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
License-File: LICENSE
|
|
17
|
-
Dynamic: license-file
|
|
18
|
-
|
|
19
|
-
# FFmpeg 硬件编解码器测试脚本
|
|
20
|
-
在今天的编解码硬件加速的生态中,视频编解码技术面临着一个“百家争鸣”的局面。为了利用 GPU 的强大算力,各家硬件厂商都推出了自己的加速框架或编码器标准,例如 NVIDIA 的 NVEnc/NVDec、Intel 的 QSV 和 AMD 的 AMF。此外,操作系统层也提供了通用的接口,如微软的 Media Foundation 和 DXAV 、 D3D12VA ,而开源社区则发展了跨平台的 VAAPI 和 Vulkan 等标准。
|
|
21
|
-
|
|
22
|
-
这种多样性虽然带来了技术上的进步,但也给普通用户和开发者带来了挑战。由于历史遗留和兼容性问题,一个硬件可能支持多种编码器,但它们在性能、支持的格式和分辨率方面都有所不同。因此,在使用 FFmpeg 进行硬件加速时,很难直观地知道哪种编码器最适合自己的设备。
|
|
23
|
-
|
|
24
|
-
本项目正是为了解决这一痛点而生。它是一个用于自动化检测系统硬件视频编码器功能的便捷工具。它利用 FFmpeg,通过生成不同分辨率(从 240p 到 8K)的单帧视频文件,并尝试使用各种硬件编码器进行处理,以此来快速判断哪些硬件编码器在您的系统上可用以及它们所支持的分辨率。
|
|
25
|
-
|
|
26
|
-
## 主要功能
|
|
27
|
-
### 编码器
|
|
28
|
-
脚本会自动测试并报告以下主流硬件编码器及其支持的格式:
|
|
29
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
30
|
-
|-----------------------------------|------------------------------------------- |
|
|
31
|
-
| NVEnc | H.264、H.265、AV1 |
|
|
32
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
33
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
34
|
-
| Media Foundation | H.264、H.265 |
|
|
35
|
-
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
36
|
-
| Vulkan | H.264、H.265 |
|
|
37
|
-
|
|
38
|
-
### 解码器
|
|
39
|
-
脚本会自动测试并报告以下主流硬件解码器及其支持的格式:
|
|
40
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
41
|
-
|------------------------------------------ |------------------------------------------------------------- |
|
|
42
|
-
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
43
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
44
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
45
|
-
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
46
|
-
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## 如何使用
|
|
50
|
-
|
|
51
|
-
### 1. 克隆仓库
|
|
52
|
-
首先,克隆此仓库到你的本地。
|
|
53
|
-
```bash
|
|
54
|
-
git clone https://github.com/whyb/HwCodecDetect.git
|
|
55
|
-
cd HwCodecDetect
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 2. 运行测试
|
|
59
|
-
```bash
|
|
60
|
-
python -m HwCodecDetect.run_tests
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## 效果展示
|
|
65
|
-
下面是本地运行测试的可能的结果:
|
|
66
|
-
|
|
67
|
-

|
|
68
|
-
|
|
69
|
-
|
|
70
|
-

|
hwcodecdetect-0.0.1/README.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# FFmpeg 硬件编解码器测试脚本
|
|
2
|
-
在今天的编解码硬件加速的生态中,视频编解码技术面临着一个“百家争鸣”的局面。为了利用 GPU 的强大算力,各家硬件厂商都推出了自己的加速框架或编码器标准,例如 NVIDIA 的 NVEnc/NVDec、Intel 的 QSV 和 AMD 的 AMF。此外,操作系统层也提供了通用的接口,如微软的 Media Foundation 和 DXAV 、 D3D12VA ,而开源社区则发展了跨平台的 VAAPI 和 Vulkan 等标准。
|
|
3
|
-
|
|
4
|
-
这种多样性虽然带来了技术上的进步,但也给普通用户和开发者带来了挑战。由于历史遗留和兼容性问题,一个硬件可能支持多种编码器,但它们在性能、支持的格式和分辨率方面都有所不同。因此,在使用 FFmpeg 进行硬件加速时,很难直观地知道哪种编码器最适合自己的设备。
|
|
5
|
-
|
|
6
|
-
本项目正是为了解决这一痛点而生。它是一个用于自动化检测系统硬件视频编码器功能的便捷工具。它利用 FFmpeg,通过生成不同分辨率(从 240p 到 8K)的单帧视频文件,并尝试使用各种硬件编码器进行处理,以此来快速判断哪些硬件编码器在您的系统上可用以及它们所支持的分辨率。
|
|
7
|
-
|
|
8
|
-
## 主要功能
|
|
9
|
-
### 编码器
|
|
10
|
-
脚本会自动测试并报告以下主流硬件编码器及其支持的格式:
|
|
11
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
12
|
-
|-----------------------------------|------------------------------------------- |
|
|
13
|
-
| NVEnc | H.264、H.265、AV1 |
|
|
14
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
15
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
16
|
-
| Media Foundation | H.264、H.265 |
|
|
17
|
-
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
18
|
-
| Vulkan | H.264、H.265 |
|
|
19
|
-
|
|
20
|
-
### 解码器
|
|
21
|
-
脚本会自动测试并报告以下主流硬件解码器及其支持的格式:
|
|
22
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
23
|
-
|------------------------------------------ |------------------------------------------------------------- |
|
|
24
|
-
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
25
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
26
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
27
|
-
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
28
|
-
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## 如何使用
|
|
32
|
-
|
|
33
|
-
### 1. 克隆仓库
|
|
34
|
-
首先,克隆此仓库到你的本地。
|
|
35
|
-
```bash
|
|
36
|
-
git clone https://github.com/whyb/HwCodecDetect.git
|
|
37
|
-
cd HwCodecDetect
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### 2. 运行测试
|
|
41
|
-
```bash
|
|
42
|
-
python -m HwCodecDetect.run_tests
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## 效果展示
|
|
47
|
-
下面是本地运行测试的可能的结果:
|
|
48
|
-
|
|
49
|
-

|
|
50
|
-
|
|
51
|
-
|
|
52
|
-

|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: HwCodecDetect
|
|
3
|
-
Version: 0.0.1
|
|
4
|
-
Summary: A cross-platform tool to automatically detect and test hardware video decoders/encoders using FFmpeg.
|
|
5
|
-
Author-email: whyb <whyber@outlook.com>
|
|
6
|
-
License-Expression: BSD-3-Clause
|
|
7
|
-
Project-URL: Homepage, https://github.com/whyb/HwCodecDetect
|
|
8
|
-
Project-URL: Issues, https://github.com/whyb/HwCodecDetect/issues
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Topic :: Multimedia :: Video
|
|
12
|
-
Classifier: Topic :: System :: Installation/Setup
|
|
13
|
-
Classifier: Topic :: Utilities
|
|
14
|
-
Requires-Python: >=3.8
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
License-File: LICENSE
|
|
17
|
-
Dynamic: license-file
|
|
18
|
-
|
|
19
|
-
# FFmpeg 硬件编解码器测试脚本
|
|
20
|
-
在今天的编解码硬件加速的生态中,视频编解码技术面临着一个“百家争鸣”的局面。为了利用 GPU 的强大算力,各家硬件厂商都推出了自己的加速框架或编码器标准,例如 NVIDIA 的 NVEnc/NVDec、Intel 的 QSV 和 AMD 的 AMF。此外,操作系统层也提供了通用的接口,如微软的 Media Foundation 和 DXAV 、 D3D12VA ,而开源社区则发展了跨平台的 VAAPI 和 Vulkan 等标准。
|
|
21
|
-
|
|
22
|
-
这种多样性虽然带来了技术上的进步,但也给普通用户和开发者带来了挑战。由于历史遗留和兼容性问题,一个硬件可能支持多种编码器,但它们在性能、支持的格式和分辨率方面都有所不同。因此,在使用 FFmpeg 进行硬件加速时,很难直观地知道哪种编码器最适合自己的设备。
|
|
23
|
-
|
|
24
|
-
本项目正是为了解决这一痛点而生。它是一个用于自动化检测系统硬件视频编码器功能的便捷工具。它利用 FFmpeg,通过生成不同分辨率(从 240p 到 8K)的单帧视频文件,并尝试使用各种硬件编码器进行处理,以此来快速判断哪些硬件编码器在您的系统上可用以及它们所支持的分辨率。
|
|
25
|
-
|
|
26
|
-
## 主要功能
|
|
27
|
-
### 编码器
|
|
28
|
-
脚本会自动测试并报告以下主流硬件编码器及其支持的格式:
|
|
29
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
30
|
-
|-----------------------------------|------------------------------------------- |
|
|
31
|
-
| NVEnc | H.264、H.265、AV1 |
|
|
32
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP9 |
|
|
33
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
34
|
-
| Media Foundation | H.264、H.265 |
|
|
35
|
-
| VAAPI (Video Acceleration API) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
36
|
-
| Vulkan | H.264、H.265 |
|
|
37
|
-
|
|
38
|
-
### 解码器
|
|
39
|
-
脚本会自动测试并报告以下主流硬件解码器及其支持的格式:
|
|
40
|
-
| 编码器名称 | 支持的视频编码格式 |
|
|
41
|
-
|------------------------------------------ |------------------------------------------------------------- |
|
|
42
|
-
| NVDec (CUVID) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
43
|
-
| QSV (Quick Sync Video) | H.264、H.265、AV1、MJPEG、MPEG-2、VP8、VP9 |
|
|
44
|
-
| AMF (Advanced Media Framework) | H.264、H.265、AV1 |
|
|
45
|
-
| DXVA2 (DirectX Video Acceleration) | H.264、H.265、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8 |
|
|
46
|
-
| D3D11VA (Direct3D 11 Video Acceleration) | H.264、H.265、AV1、MJPEG、MPEG-1、MPEG-2、MPEG-4、VP8、VP9 |
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## 如何使用
|
|
50
|
-
|
|
51
|
-
### 1. 克隆仓库
|
|
52
|
-
首先,克隆此仓库到你的本地。
|
|
53
|
-
```bash
|
|
54
|
-
git clone https://github.com/whyb/HwCodecDetect.git
|
|
55
|
-
cd HwCodecDetect
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 2. 运行测试
|
|
59
|
-
```bash
|
|
60
|
-
python -m HwCodecDetect.run_tests
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## 效果展示
|
|
65
|
-
下面是本地运行测试的可能的结果:
|
|
66
|
-
|
|
67
|
-

|
|
68
|
-
|
|
69
|
-
|
|
70
|
-

|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|