AV1
2023-3-6|2023-3-6
骏龙
AV1
AV1是由开放媒体联盟(Alliance for Open Media)开发的新视频编解码器。它旨在成为高质量、无版税的视频编解码器,替代其他编解码器,如H.264和H.265。
AV1的主要优势之一是它能够在较小的文件大小下提供高质量的视频。这是通过先进的压缩技术实现的,这些技术能够减少显示每帧视频所需的数据量。因此,采用AV1编码的视频可以更有效地通过互联网进行流媒体传输,减少缓冲时间,提高整体观看体验。
AV1的另一个优点是它是一种开源编解码器。这意味着任何人都可以使用它,而不必支付版税或许可费用。这使得它成为一种具有吸引力的选择,适用于想要使用高质量视频编解码器而不产生额外成本的公司和个人。
AV1还被设计成具有未来性。它能够支持高达8K的分辨率,并能处理高动态范围(HDR)视频。这意味着它将能够满足内容创作者和消费者多年的需求。
总之,AV1是一种令人兴奋的新视频编解码器,它提供高质量的视频、较小的文件大小和无许可费用。随着越来越多的公司采用这项技术,它很可能成为在线视频流媒体和其他应用的标准。
自发布以来,一些主要公司已开始采用AV1。谷歌已在Chrome浏览器中添加了对AV1的支持,Netflix已开始使用AV1来流传一些内容。此外,许多硬件制造商正在开始为其设备添加对AV1的支持。
然而,并非所有设备和软件都支持AV1,这可能对某些用户构成限制。此外,与其他编解码器相比,采用AV1对视频进行编码可能需要更多的计算能力,这可能对某些硬件构成挑战。
尽管存在这些挑战,AV1是视频编解码器领域的一项重要发展。它提供高质量的视频、较小的文件大小和无许可费用的能力,使它成为许多用户的有吸引力的选择。随着更多的公司和设备采用AV1,我们很可能会看到更多来自这项技术的好处。
虽然 AV1 已经被广泛采用,但仍然存在一些需要解决的问题。例如,由于 AV1 是一种相对新的编解码器,某些设备上可能不支持它。这可能导致一些用户无法流畅地观看使用 AV1 编码的视频。此外,由于编码视频所需的计算能力较高,可能需要更强大的硬件来完成这项工作。这可能会对一些低端设备的用户构成挑战。
此外,当涉及到版权保护时,AV1 也存在一些问题。由于它是一种开源编解码器,因此可能更容易被盗版使用。这可能会对内容创作者造成损失,并对内容的合法性构成威胁。
尽管如此,AV1 仍然是一种非常有前途的技术。随着支持它的设备和应用程序数量的增加,它将成为在线视频流媒体的主流编解码器。此外,由于它是一种免费的编解码器,它将使更多的人能够访问高质量的视频内容,这将对整个互联网产生积极的影响。
总之,AV1 是一种非常有前途的视频编解码器,它提供高质量的视频、较小的文件大小和无许可费用的能力。尽管它仍然存在一些问题,但随着时间的推移,这些问题将逐渐得到解决。我们相信,随着更多的公司和设备采用 AV1,它将成为未来在线视频流媒体和其他应用程序的主流编解码器。
FFMPEG 编码
Encoder av1_nvenc [NVIDIA NVENC av1 encoder]:
General capabilities: dr1 delay hardware
Threading capabilities: none
Supported hardware devices: cuda cuda d3d11va d3d11va
Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp gbrp16le cuda d3d11
av1_nvenc AVOptions:
-preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
default 0 E..V.......
slow 1 E..V....... hq 2 passes
medium 2 E..V....... hq 1 pass
fast 3 E..V....... hp 1 pass
p1 12 E..V....... fastest (lowest quality)
p2 13 E..V....... faster (lower quality)
p3 14 E..V....... fast (low quality)
p4 15 E..V....... medium (default)
p5 16 E..V....... slow (good quality)
p6 17 E..V....... slower (better quality)
p7 18 E..V....... slowest (best quality)
-tune <int> E..V....... Set the encoding tuning info (from 1 to 4) (default hq)
hq 1 E..V....... High quality
ll 2 E..V....... Low latency
ull 3 E..V....... Ultra low latency
lossless 4 E..V....... Lossless
-level <int> E..V....... Set the encoding level restriction (from 0 to 24) (default auto)
auto 24 E..V.......
2 0 E..V.......
2.0 0 E..V.......
2.1 1 E..V.......
2.2 2 E..V.......
2.3 3 E..V.......
3 4 E..V.......
3.0 4 E..V.......
3.1 5 E..V.......
3.2 6 E..V.......
3.3 7 E..V.......
4 8 E..V.......
4.0 8 E..V.......
4.1 9 E..V.......
4.2 10 E..V.......
4.3 11 E..V.......
5 12 E..V.......
5.0 12 E..V.......
5.1 13 E..V.......
5.2 14 E..V.......
5.3 15 E..V.......
6 16 E..V.......
6.0 16 E..V.......
6.1 17 E..V.......
6.2 18 E..V.......
6.3 19 E..V.......
7 20 E..V.......
7.0 20 E..V.......
7.1 21 E..V.......
7.2 22 E..V.......
7.3 23 E..V.......
-tier <int> E..V....... Set the encoding tier (from 0 to 1) (default 0)
0 0 E..V.......
1 1 E..V.......
-rc <int> E..V....... Override the preset rate-control (from -1 to INT_MAX) (default -1)
constqp 0 E..V....... Constant QP mode
vbr 1 E..V....... Variable bitrate mode
cbr 2 E..V....... Constant bitrate mode
-multipass <int> E..V....... Set the multipass encoding (from 0 to 2) (default disabled)
disabled 0 E..V....... Single Pass
qres 1 E..V....... Two Pass encoding is enabled where first Pass is quarter resolution
fullres 2 E..V....... Two Pass encoding is enabled where first Pass is full resolution
-highbitdepth <boolean> E..V....... Enable 10 bit encode for 8 bit input (default false)
-tile-rows <int> E..V....... Number of tile rows to encode with (from -1 to 64) (default -1)
-tile-columns <int> E..V....... Number of tile columns to encode with (from -1 to 64) (default -1)
-surfaces <int> E..V....... Number of concurrent surfaces (from 0 to 64) (default 0)
-gpu <int> E..V....... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
any -1 E..V....... Pick the first device available
list -2 E..V....... List the available devices
-delay <int> E..V....... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
-rc-lookahead <int> E..V....... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
-cq <float> E..V....... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
-init_qpP <int> E..V....... Initial QP value for P frame (from -1 to 255) (default -1)
-init_qpB <int> E..V....... Initial QP value for B frame (from -1 to 255) (default -1)
-init_qpI <int> E..V....... Initial QP value for I frame (from -1 to 255) (default -1)
-qp <int> E..V....... Constant quantization parameter rate control method (from -1 to 255) (default -1)
-qp_cb_offset <int> E..V....... Quantization parameter offset for cb channel (from -12 to 12) (default 0)
-qp_cr_offset <int> E..V....... Quantization parameter offset for cr channel (from -12 to 12) (default 0)
-no-scenecut <boolean> E..V....... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
-forced-idr <boolean> E..V....... If forcing keyframes, force them as IDR frames. (default false)
-b_adapt <boolean> E..V....... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
-spatial-aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
-temporal-aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
-zerolatency <boolean> E..V....... Set 1 to indicate zero latency operation (no reordering delay) (default false)
-nonref_p <boolean> E..V....... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
-strict_gop <boolean> E..V....... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
-aq-strength <int> E..V....... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
-weighted_pred <boolean> E..V....... Enable weighted prediction (default false)
-b_ref_mode <int> E..V....... Use B frames as references (from -1 to 2) (default -1)
disabled 0 E..V....... B frames will not be used for reference
each 1 E..V....... Each B frame will be used for reference
middle 2 E..V....... Only (number of B frames)/2 will be used for reference
-dpb_size <int> E..V....... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)
-ldkfs <int> E..V....... Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR (from 0 to 255) (default 0)
-intra-refresh <boolean> E..V....... Use Periodic Intra Refresh instead of IDR frames (default false)
-timing-info <boolean> E..V....... Include timing info in sequence/frame headers (default false)
-extra_sei <boolean> E..V....... Pass on extra SEI data (e.g. a53 cc) to be included in the bitstream (default true)
-a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
-s12m_tc <boolean> E..V....... Use timecode (if available) (default true)