2017-07-14 142 views
0

最近,我购买了全新的GPU - AORUS GeForce GTX 1080 Ti。我发现它支持HEVC 10位编码,所以我想尝试一下。不幸的是,在编码之后,我注意到了一些出现在黑暗场景和最后一帧视频中的文物。你可以看到他们对这些截图:使用FFmpeg的NVENC编码器进行HEVC 10位编码后的灰色方形伪影

Screenshot of a still from an animated scene. There is an artifact near the bottom and slightly to the left. It is square shaped with white squiggles.

Screenshot of a still from another animated scene. The artifact looks the same as in the previous image but is in a different location, higher up and closer to the center.

我想知道,如果有人可以帮我找出什么可能是这些文物的原因,以及如何我可以摆脱他们。

这里是源视频的MI:

ID          : 1 
Format         : AVC 
Format/Info        : Advanced Video Codec 
Format profile       : [email protected] 
Format settings, CABAC     : Yes 
Format settings, ReFrames    : 4 frames 
Codec ID         : V_MPEG4/ISO/AVC 
Duration         : 2 h 2 min 
Bit rate mode       : Variable 
Bit rate         : 29.5 Mb/s 
Maximum bit rate       : 37.0 Mb/s 
Width         : 1 920 pixels 
Height         : 1 080 pixels 
Display aspect ratio      : 16:9 
Frame rate mode       : Constant 
Frame rate        : 23.976 (24000/1001) FPS 
Color space        : YUV 
Chroma subsampling      : 4:2:0 
Bit depth        : 8 bits 
Scan type        : Progressive 
Bits/(Pixel*Frame)      : 0.593 
Stream size        : 25.2 GiB (66%) 
Language         : English 
Default         : Yes 
Forced         : No 

这里是编码视频的MI:

ID          : 1 
Format         : HEVC 
Format/Info        : High Efficiency Video Coding 
Format profile       : Main [email protected]@Main 
Codec ID         : V_MPEGH/ISO/HEVC 
Duration         : 2 h 2 min 
Bit rate         : 3 689 kb/s 
Width         : 1 920 pixels 
Height         : 800 pixels 
Display aspect ratio      : 2.40:1 
Frame rate mode       : Constant 
Frame rate        : 23.976 (24000/1001) FPS 
Standard         : Component 
Color space        : YUV 
Chroma subsampling      : 4:2:0 
Bit depth        : 10 bits 
Bits/(Pixel*Frame)      : 0.100 
Stream size        : 3.15 GiB (95%) 
Default         : Yes 
Forced         : No 
Color range        : Limited 

命令我使用的编码:

ffmpeg -hide_banner -i "<input_file>" -map 0:v:0 -map_chapters -1 -map_metadata -1 -vf "crop=1920:800:0:140" -vcodec hevc_nvenc -pix_fmt p010le -preset hq -profile:v main10 -rc constqp -global_quality 21 -rc-lookahead 32 -g 240 -f matroska Video_CQP21_LAF32_GOP240.mkv 
+0

请发布解决方案作为答案,而不是更新您的问题。我回滚了一下,你可以在[修订](https://stackoverflow.com/posts/45103251/revisions)中看到。谢谢。 – Bugs

回答

1

问题已解决。事实证明,基于GP102内核的GPU上的NVENC在H.265编码上存在问题。如果超频超过某个点,这些工件在编码后出现。降低GPU的核心时钟应该解决问题。

0

哦,这真的很有趣。你使用一些不寻常的选项。请试试看:

ffmpeg -hide_banner -i "<input_file>" -map 0:v:0 -map_chapters -1 -map_metadata -1 -vf "crop=1920:800:0:140" -vcodec hevc_nvenc -pix_fmt p010le -preset slow -profile:v main10 -qmin 22 -qmax 22 -rc-lookahead 32 -g 240 -f matroska Video_CQP21_LAF32_GOP240.mkv 

这个设置是我可以测试的最好的场景翻录。

+0

好的,我会试试看。但是,-rc constqp -global_quality 21有什么特别之处? – Cryman

+0

-global_quality是为libav *库设计的,qmin-qmax更具体,量化是我在hevc_nvnec中找到的唯一稳定的速率控制方法。 -rc vbr_2pass比constqp好。它可以节省更多的空间,因为vbr和使用lookahead。我不确定rc-lookahead是否在没有2pass的情况下工作。 – hedgar2017

+0

我试着用这个命令编码。首先,工件仍然存在。在与以前一样的深色场景中。其次,我在FFmpeg的输出中得到了一个警告: '[hevc_nvenc @ 0000000002f28c00]不建议使用指定的rc模式。 [hevc_nvenc @ 0000000002f28c00] vbr_2pass - > vbr_hq' 第三,文件大小与使用-rc constqp -global_quality 21.几乎相同。 – Cryman

相关问题