如何使用 Gstreamer 从 raspberry pi 相机录制视频 (1080p 30fps)?

how to record video (1080p 30fps) from raspberry pi camera Using Gstreamer?

我是 Gstreamer 的初学者。

我的 objective 是使用 Gstreamer 以下管道以 H264 格式从我的 Raspberry pi 相机以 30 fps 的速度录制 1080p 分辨率的视频:

gst-launch-1.0 -v  v4l2src device=/dev/video0 ! capsfilter 
caps="video/x-raw, width=1920,height=1080,framerate=30/1" ! videoflip 
method=rotate-180 ! gst-debug ! videoconvert ! videorate ! x264enc! avimux 
! filesink location=test_video.h264

在我运行上面的管道之后, 我没有收到任何类型的错误,录制的视频显示 1080p 和 30fps,但帧数严重下降。

这是正确的流水线操作吗?

我是否遗漏了此管道中的任何元素?

x264enc 是一个软件编码器,使用了很多 CPU 功能。 Raspberry pi 有一个 OpenMax 硬件 h264 编码器,可以通过 gstreamers gst-omx 绑定访问。您可以使用硬件编码器插入 omxh264enc 元素而不是 x264enc 元素。