在 gstreamer 中旋转视频
Rotate a Video in gstreamer
我有这个管道可以同时从两个网络摄像头进行录制:
gst-launch-1.0 -v v4l2src device=/dev/video0 num-buffers=300\
! "video/x-raw,width=800,height=600,framerate=30/1" ! videorate\
! "video/x-raw,framerate=30/1" ! jpegenc ! queue ! mux. \
pulsesrc device="alsa_input.pci-0000_00_1b.0.analog-stereo" \
! 'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert ! \
avenc_aac compliance=experimental ! queue ! mux. matroskamux name="mux"\
! filesink location=/home/sina/T1.avi v4l2src device=/dev/video1 \
! 'image/jpeg,framerate=30/1,width=800,height=600' ! videorate ! \
! queue ! mux2. pulsesrc \
device="alsa_input.usb-046d_0990_94D7DC5E-02-Q9000.analog-mono" \
! 'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert \
! avenc_aac compliance=experimental ! queue ! mux2. \
matroskamux name="mux2" ! filesink location=/home/sina/T2.mts
我想将第二个摄像头 (/dev/video1) 的视频旋转 180 度,因为它是倒置安装的,我该如何旋转?
videoflip
元素可以为您做到这一点。您可能希望使用 method=rotate-180
作为此元素的选项。然而,这需要对图像进行重新编码(例如 jpeg-decode 和 jpeg-encode)。
您可能想要调查 GstVideoOrientation
界面。 v4l2src
元素实现了这个接口并允许控制一些翻转选项。不过,您需要编写我们自己的 GStreamer 应用程序才能访问此接口。此外,由于翻转是在硬件设备本身中完成的,因此它可能适用于您的设备,也可能不适用于您的设备。
我有这个管道可以同时从两个网络摄像头进行录制:
gst-launch-1.0 -v v4l2src device=/dev/video0 num-buffers=300\
! "video/x-raw,width=800,height=600,framerate=30/1" ! videorate\
! "video/x-raw,framerate=30/1" ! jpegenc ! queue ! mux. \
pulsesrc device="alsa_input.pci-0000_00_1b.0.analog-stereo" \
! 'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert ! \
avenc_aac compliance=experimental ! queue ! mux. matroskamux name="mux"\
! filesink location=/home/sina/T1.avi v4l2src device=/dev/video1 \
! 'image/jpeg,framerate=30/1,width=800,height=600' ! videorate ! \
! queue ! mux2. pulsesrc \
device="alsa_input.usb-046d_0990_94D7DC5E-02-Q9000.analog-mono" \
! 'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert \
! avenc_aac compliance=experimental ! queue ! mux2. \
matroskamux name="mux2" ! filesink location=/home/sina/T2.mts
我想将第二个摄像头 (/dev/video1) 的视频旋转 180 度,因为它是倒置安装的,我该如何旋转?
videoflip
元素可以为您做到这一点。您可能希望使用 method=rotate-180
作为此元素的选项。然而,这需要对图像进行重新编码(例如 jpeg-decode 和 jpeg-encode)。
您可能想要调查 GstVideoOrientation
界面。 v4l2src
元素实现了这个接口并允许控制一些翻转选项。不过,您需要编写我们自己的 GStreamer 应用程序才能访问此接口。此外,由于翻转是在硬件设备本身中完成的,因此它可能适用于您的设备,也可能不适用于您的设备。