我正在尝试使用此处显示的 4k 相机为我的 AI 应用程序捕获原始 4k 图像。我想每 5 秒捕获一帧并将其存储为 .png 文件,稍后我将通过我的神经网络运行以进行检测。我知道以原始格式 (.mkv) 录制 4k 视频的命令。但是,我无法以 3840x2160 分辨率捕获单个图像(帧)。
有一个示例命令是
gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=1 ! "video/x-raw(memory:NVMM),format=(string)NV12, width=(int)3840, height=(int)2160" ! nvjpegenc ! filesink location=test.jpg
上面的命令有效,但它只存储在大小约为 1mb 的 jpg 中。这不是很清楚,我想要一个更详细的 png 格式。我尝试更改文件名中的扩展名,但它不起作用。我正在使用jetson xavier nx。
编辑 我尝试使用以下命令更改编码
gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=1 ! "video/x-raw(memory:NVMM), format=(string)NV12, width=(int)3840, height=(int)2160" ! pngenc ! filesink location=test1.png
但是我收到以下错误
WARNING: erroneous pipeline: could not link nvarguscamerasrc0 to pngenc0, pngenc0 can't handle caps video/x-raw(memory:NVMM), format=(string)NV12, width=(int)3840, height=(int)2160