【发布时间】:2022-10-20 19:02:02
【问题描述】:
我正在尝试Nvidia video codec sdk 中的示例应用程序,但无法获得可用的解码结果。
我的输入文件是 YUV 4:2:0,取自 here,即 352x288px。
我正在使用AppEncD3D12.exe 样本进行编码,使用以下命令:.\AppEncD3D12.exe -i D:\akiyo_cif.y4m -s 352x288 -o D:\akiyo_out.mp4
这给出了输出
GPU in use: NVIDIA GeForce RTX 2080 Super with Max-Q Design
[INFO ][17:46:39] Encoding Parameters:
codec : h264
preset : p3
tuningInfo : hq
profile : (default)
chroma : yuv420
bitdepth : 8
rc : vbr
fps : 30/1
gop : 250
bf : 1
multipass : 0
size : 352x288
bitrate : 0
maxbitrate : 0
vbvbufsize : 0
vbvinit : 0
aq : disabled
temporalaq : disabled
lookahead : disabled
cq : 0
qmin : P,B,I=0,0,0
qmax : P,B,I=0,0,0
initqp : P,B,I=0,0,0
Total frames encoded: 112
Saved in file D:\akiyo_out.mp4
这看起来很有希望。但是,使用解码示例,输出的单个帧包含看起来像 12 个较小的单色输入帧。 我正在运行这样的解码示例:
PS D:\Nvidia\Video_Codec_SDK_11.1.5\Samples\build\Debug> .\AppDecD3D.exe -i D:\akiyo_out.mp4
GPU in use: NVIDIA GeForce RTX 2080 Super with Max-Q Design
Display with D3D9.
[INFO ][17:58:58] Media format: raw H.264 video (h264)
Session Initialization Time: 23 ms
[INFO ][17:58:58] Video Input Information
Codec : AVC/H.264
Frame rate : 30000/1000 = 30 fps
Sequence : Progressive
Coded size : [352, 288]
Display area : [0, 0, 352, 288]
Chroma : YUV 420
Bit depth : 8
Video Decoding Params:
Num Surfaces : 7
Crop : [0, 0, 0, 0]
Resize : 352x288
Deinterlace : Weave
Total frame decoded: 112
Session Deinitialization Time: 8 ms
我对此很陌生,所以可能会做一些愚蠢的事情。现在我不知道是看编码还是解码!任何想法或提示最受赞赏。
-我尝试了其他 YUV 文件,结果相同。我读到不支持4:2:2,上面是4:2:0。
- 使用 AppEncCuda 示例,解码后的视频(使用 AppDecD3D.exe 播放)大小和颜色都正确,但视频在播放时似乎向右滚动,颜色信息的滚动速度与图片
【问题讨论】:
标签: sdk nvidia codec video-encoding