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, согласно выходному журналу. Не уверен, почему это происходит и актуально ли это

0 ответов

Другие вопросы по тегам