0

根据this gstreamer管道

gst-启动 videotestsrc !videoflip方法=顺时针!ffmpeg色彩空间!ximagesink

顺时针旋转视频流。我过去曾在嵌入式 Linux Leopardboard 上成功测试过这个视频管道,但我需要旋转单个图像,所以我修改了这样的管道:

gst-launch filesrc 位置=test.jpeg !videoflip方法=顺时针!ffmpeg色彩空间!文件接收器位置=testClockwise.jpeg

我修改的管道导致以下错误:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstVideoFlip:videoflip0: 
   not negotiated
Additional debug info:
../../../../src/libs/gst/base/gstbasetransform.c(2253): 
   gst_base_transform_handle_buffer (): 
   /GstPipeline:pipeline0/GstVideoFlip:videoflip0:
not negotiated
ERROR: pipeline doesn't want to preroll.

为什么没有协商 GstVideoFlip:videoflip0?为什么管道不想预卷?如何修复这些错误?

编辑:所以。我将 jpegdec 和 jpegenc 添加到我的管道中,如下所示:

gst-launch filesrc 位置=test.jpeg !JPEG格式!videoflip方法=顺时针!ffmpeg色彩空间!杰佩根!文件接收器位置=testClockwise.jpeg

但现在得到这个错误:

警告:错误的管道:没有元素“jpegdec”

但是为什么,因为 jpegdec 和 jpegenc 都在gst-plugins-good Elements中?

4

1 回答 1

2

您的管道读取 jpeg。不是 YUV/RGB。所以你需要解码你的jpeg文件,按照你的方式翻转它,将它重新编码为jpeg,然后将它写入一个文件。

于 2012-08-24T06:29:04.967 回答