我需要使用网络摄像头捕捉视频并为捕获的每个视频帧输出单个图像。将视频转换为帧图像序列
我一直在使用的GStreamer与multifilesink尝试,如:
gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv,framerate=30/1 ! ffmpegcolorspace ! pngenc ! multifilesink location="frame%d.png"
然而,这实际上并不输出的每一帧,也就是说,如果我以30 fps 2秒记录,我不明白60图片。我假设这是因为编码不能那么快,所以我需要另一种方法。
我想如果我有一个管道捕捉一个视频,并有一个单独的管道将该视频转换为帧,但我对编解码器不够了解。我是否需要将视频编码为像h264或mp4这样的文件,然后再解码它?
有没有人有任何想法或建议?请记住,我需要能够在代码中执行此操作,而不是使用Adobe Premiere等应用程序。
谢谢!
这是一个错字还是你使用gst-launch(0.x)作为第一个命令,gst-launch-1.0作为第二个命令? – 2017-05-10 11:50:26