You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recent versions of ffmpeg have deprecated the yuvj444p pixel format. This format, which represents full-range YUV 4:4:4 video, is now considered outdated. The recommended approach is to use yuv444p and specify the color range (full or limited) using the -color_range option in ffmpeg.
Since NVEncC64 currently uses yuvj444p, this could lead to compatibility issues with updated ffmpeg workflows. It would be beneficial to update the encoder to output yuv444p and include the appropriate color range metadata.
Issues with image2 Output in NVEncC64
While trying to extract frames using the image2 output option in NVEncC64, I encountered issues where the generated image files were impossible to view with standard image viewers. To work around this, I had to use a pipe with ffmpeg to process and view the frames correctly.
It seems that the image2 output may be generating images in a format or manner that is not fully compatible with common image viewers.
Although NVEncC might show input as yuvj444p, both AV_PIX_FMT_YUVJ444P and AV_PIX_FMT_YUV444P is mapped to NV_ENC_BUFFER_FORMAT_YUV444 and treated the same, so there should be no problem here.
Furthermore, we already have --colorrange auto, which enables us to copy characteristic from input file, therefore, --colorrange full can be copied if required.
image2 Output
Unfortunately, the only format NVEncC supports for image2 output is AVIF format. For others, please use ffmpeg, or pipe to ffmpeg as you have done.
When using image2 output in ffmpeg, the codec (-c:v) shall be rawvideo, mjpeg, png, jpeg or other image codecs (depending on your image format).
However, NVEncC does not support conversion for most of these image formats. As NVEncC is developed to be hw video encoder, and to concentrate on that region, it only supports H.264, HEVC and AV1 video hardware encoding (no jpeg, png or other image codecs), and none of the other video/image codecs are supported for encoding.
As a result, only codec supported by image2 seems to be AV1(AVIF). (image2 seems to not support HEIC)
Creating AVIF images by NVEncC can be done by below. Here, to ensure not use B,P Frames which is not allowed in images, -b 0 --gop-len 1 is added.
Deprecation of
yuvj444p
Pixel FormatRecent versions of
ffmpeg
have deprecated theyuvj444p
pixel format. This format, which represents full-range YUV 4:4:4 video, is now considered outdated. The recommended approach is to useyuv444p
and specify the color range (full or limited) using the-color_range
option inffmpeg
.Since
NVEncC64
currently usesyuvj444p
, this could lead to compatibility issues with updatedffmpeg
workflows. It would be beneficial to update the encoder to outputyuv444p
and include the appropriate color range metadata.Issues with
image2
Output inNVEncC64
While trying to extract frames using the
image2
output option inNVEncC64
, I encountered issues where the generated image files were impossible to view with standard image viewers. To work around this, I had to use a pipe withffmpeg
to process and view the frames correctly.It seems that the
image2
output may be generating images in a format or manner that is not fully compatible with common image viewers.NVEncC64.exe --avhw -i "!input_file!" --video-streamid 0 --cqp 0 --output-csp yuv444 --colorrange full --colormatrix bt709 --colorprim bt709 --transfer bt709 --vpp-colorspace hdr2sdr=hable,source_peak=1000.0,ldr_nits=100.0 --trim 21400:21400,118776:118776 -o - | ffmpeg -y -hide_banner -i - -pix_fmt rgba -compression_level 1 "!frames_folder!\%~n1_%%04d.png"
The text was updated successfully, but these errors were encountered: