在gstreamer中旋转视频

时间:2015-09-18 19:47:01

标签: video rotation gstreamer pipeline

我有这个管道同时从两个网络摄像头录制:

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°,因为它的安装面向下,我该如何进行旋转?

1 个答案:

答案 0 :(得分:1)

videoflip元素可以为您执行此操作。您可能希望使用method=rotate-180作为此元素的选项。然而,这需要重新编码图像(例如,jpeg-decode和jpeg-encode)。

您可能需要调查GstVideoOrientation界面。 v4l2src元素实现了此接口,并允许控制某些翻转选项。您需要编写我们自己的GStreamer应用程序才能访问此接口。此外,由于翻转是在硬件设备本身完成的,因此它可能适用于您的设备,也可能不适用。