0

Gstreamer で画像ベクトルを作成しようとしています。そのために、次のように videomixer gref を使用します。

gst-launch -e \videomixer name = mixer \
 sink_0::xpos = 0 sink_0::ypos = 0 \
 sink_1::xpos = 100 sink_1::ypos = 0 \
 sink_2::xpos = 200 sink_2::ypos = 0 \
 sink_3::xpos = 300 sink_3::ypos = 0 \
 sink_4::xpos = 400 sink_4::ypos = 0 \
 sink_5::xpos = 500 sink_5::ypos = 0 \
 sink_6::xpos = 600 sink_6::ypos = 0 \
 sink_7::xpos = 700 sink_7::ypos = 0 \
 sink_8::xpos = 0 sink_8::ypos = 0  \
! xvimagesink \
filesrc location = 0.jpg \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_0. \
filesrc location = 1.jpeg \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_1. \
filesrc location = 2.png \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_2. \
filesrc location = 3.png \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_3. \
filesrc location = 4.png \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_4. \
filesrc location = 5.png \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_5. \
filesrc location = 6.JPG \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_6. \
filesrc location = 7.png \
! decodebin2 ! ffmpegcolorspace  \
! imagefreeze ! videoscale method = 1 ! video/x-raw-yuv, width = 100, height = 100 ! mixer.sink_7. \
filesrc location = bg.jpg \
! decodebin2 ! ffmpegcolorspace \
! imagefreeze ! mixer.sink_8.

しかし、私には問題があります。いくつかのタイプの画像でしか機能しないようです(.pngでは非常に多く、.jpgではそうではありません)。わかりません。decodebin はファイル形式に依存しないはずですよね。ベクターの各要素に同じ png ファイルを配置しようとしましたが、問題はありません。次のエラーが発生しました:「データ ストリーム内部エラー」。

アイデアはありますか?

ありがとう !

(私の英語について申し訳ありません、私はフランス人です)

4

1 に答える 1

0

まず、使用している gstreamer のバージョンを教えてください。(0.10 または 1.0)。0.10 を使用する場合は、videomixer2 を使用することをお勧めします。

videomixer は入力フォーマットに非常に敏感なので、videomixer の各入力パッドに、「video/x-raw-yuv, format=(fourcc)AYUV, width=100,高さ=100"

透過PNGがない場合は、これを使用することをお勧めします: "video/x-raw-yuv, format=(fourcc)I420, width=100, height=100" 動作するはずです

于 2013-10-24T19:19:59.580 に答える