0

これによると、gstreamerパイプライン

gst-launch videotestsrc ! ビデオフリップ方式=時計回り! ffmpegcolorspace ! ximagesink

ビデオ ストリームを時計回りに回転します。過去に組み込み Linux Leopardboard でこのビデオ パイプラインを正常にテストしましたが、個々の画像を回転させる必要があるため、パイプラインを次のように変更しました。

gst-launch filesrc location=test.jpeg ! ビデオフリップ方式=時計回り! ffmpegcolorspace ! filesink location=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 location=test.jpeg ! jpegdec! ビデオフリップ方式=時計回り! ffmpegcolorspace ! jpegenc ! filesink location=testClockwise.jpeg

しかし、今このエラーが発生します:

警告: 誤ったパイプライン: 要素 "jpegdec" がありません

しかし、なぜ jpegdec と jpegenc は両方ともgst-plugins-good Elements にあるのでしょうか?

4

1 に答える 1

2

パイプラインは jpeg を読み取ります。YUV/RGB ではありません。したがって、jpeg ファイルをデコードし、現在の方法で反転し、jpeg に再エンコードしてから、ファイルに書き込む必要があります。

于 2012-08-24T06:29:04.967 に答える