FFMPEG/NVDEC не работает, когда меньше 7 кадров
Я искал примеры из репозитория NVIDIA, в частности их проекты кодирования и декодирования. Я скачал проект дублирования рабочего стола , который позволяет захватывать определенное количество кадров с рабочего стола в виде необработанного h264. меня есть Еще уAppDecode , который декодирует и отображает кадры из входного файла. Я заметил, что если я попытаюсь захватить только один кадр, он не сможет декодировать входной файл.
Вот результат
C:\Users\Admin>C:\Users\Admin\source\repos\video-sdk-samples\Samples\x64.Debug\AppDecD3d -d3d 11 -i C:\Users\Admin\source\repos\video-sdk-samples\nvEncDXGIOutputDuplicationSample\x64\Debug\ddatest_0.h264
GPU in use: NVIDIA GeForce RTX 2080 Super with Max-Q Design
Display with D3D11.
[INFO ][17:59:47] Media format: raw H.264 video (h264)
Session Initialization Time: 39 ms
[INFO ][17:59:47] Video Input Information
Codec : AVC/H.264
Frame rate : 30000/1000 = 30 fps
Sequence : Progressive
Coded size : [1920, 1088]
Display area : [0, 0, 1920, 1080]
Chroma : YUV 420
Bit depth : 8
Video Decoding Params:
Num Surfaces : 20
Crop : [0, 0, 0, 0]
Resize : 1920x1088
Deinterlace : Weave
Total frame decoded: 7
Session Deinitialization Time: 10 ms
C:\Users\Admin>C:\Users\Admin\source\repos\video-sdk-samples\Samples\x64.Debug\AppDecD3d -d3d 11 -i C:\Users\Admin\source\repos\video-sdk-samples\nvEncDXGIOutputDuplicationSample\x64\Debug\ddatest_0.h264
GPU in use: NVIDIA GeForce RTX 2080 Super with Max-Q Design
Display with D3D11.
[INFO ][17:59:54] Media format: raw H.264 video (h264)
[h264 @ 0000023B8AB5C3A0] decoding for stream 0 failed
Session Initialization Time: 42 ms
[INFO ][17:59:54] Video Input Information
Codec : AVC/H.264
Frame rate : 30000/1000 = 30 fps
Sequence : Progressive
Coded size : [1920, 1088]
Display area : [0, 0, 1920, 1080]
Chroma : YUV 420
Bit depth : 8
Video Decoding Params:
Num Surfaces : 20
Crop : [0, 0, 0, 0]
Resize : 1920x1088
Deinterlace : Weave
Total frame decoded: 6
Session Deinitialization Time: 10 ms
Я начал с 10 кадров и досчитал до 6, где в итоге ничего не вышло. Для меня важно знать, почему это происходит, потому что я планирую внедрить этот декодер в свой проект и буду кормить его отдельными кадрами из потока.
О, и еще я заметил, что кодированный размер составляет 1088 на 1920, а не 1080, согласно выходному журналу. Не уверен, почему это происходит и актуально ли это