【问题标题】:How to rotate image clockwise?如何顺时针旋转图像?
【发布时间】:2012-08-19 08:12:02
【问题描述】:

根据this gstreamer 管道

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

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

gst 启动文件rc location=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 启动文件rc location=test.jpeg ! JPEG格式!视频翻转 方法=顺时针! ffmpeg色彩空间!杰佩根!文件接收器 location=testClockwise.jpeg

但现在出现此错误:

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

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

【问题讨论】:

  • 做一个 gst-inspect jpegdec。如果您没有它,则意味着您没有安装的依赖项。 libjpeg?安装依赖项并重建 gst-plugins-good 或在安装 libjpeg 后重新安装。还有 ffdec_jpeg 或类似的东西可用。做一个不带参数的 gst-inspect 来列出你所有的插件

标签: embedded-linux gstreamer


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多