【发布时间】: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 来列出你所有的插件