Armadilloフォーラム

GStreamerでtextoverlay

y.nakamura

2015年1月17日 5時51分

中村です。

Armadillo-840で、GStreamerのtextoverlayを使いたいのですが、
どなたか、gstreamer1.0-x_1.0.8-1~bpo70+1_armhf.debのある
場所をご存じないでしょうか?

ftp://ftp.jp.debian.org/debian/pool/main/g/gst-plugins-base1.0/
には1.2.4より古いもの(ほしいのは1.0.8)がありません。

あるいは、GStreamerのtextoverlayを使ったことがある人は
いませんでしょうか?
使い方のヒントをいただけると助かります。

gstreamer1.0-x_1.2.4-1~bpo70+1_armhf.debを拾ってきて
"dpkg -x"でlibgstpango.soを取り出して、
atmark-dist~/romfs/usr/lib/gstreamer-1.0/に入れ、
$ make romfs
$ make image
したromfsイメージを使って
# gst-launch-1.0 videotestsrc ! "video/x-raw,width=800,height=480" ! \
textoverlay text=Hello ! fbdevsink device=/dev/fb1
のようにうごかしてみたのですが、動きませんでした。

バージョンの違いかと推測して、ATDE5(i386)環境の
/usr/lib/gstreamer-1.0/libgstpango.soを
Armadillo-840で試したのと同じ1.2.4の、つまり、
gstreamer1.0-x_1.2.4-1~bpo70+1_i386.debから
取り出したlibgstpango.soに入れ替えて
$ gst-launch-1.0 videotestsrc ! textoverlay text="Hello" \
font-desc="Verdana bold 80px" ! ximagesink
と実行してみたところ同じエラー
WARNING: erroneous pipeline: エレメント "textoverlay" がありません
になって動きませんでした。

長くなって(説明も難しいので)省略しますが、
「エレメント "textoverlay" がありません」というエラーであっても、
textoverlayエレメントが入っている/usr/lib/gstreamer-1.0/libgstpango.soは
読んでくれていると思われます。

ちなみに、ATDE5で元の1.0.8のlibgstpango.soを使えば、
$ gst-launch-1.0 videotestsrc ! textoverlay text="Hello" \
font-desc="Verdana bold 80px" ! ximagesink
でテストパターン画面の下の方に"Hello"と表示してくれます。

よろしくお願いいたします。

--
なかむら

コメント

at_makoto.harada

2015年1月17日 15時15分

>Armadillo-840で、GStreamerのtextoverlayを使いたいのですが、
>どなたか、gstreamer1.0-x_1.0.8-1~bpo70+1_armhf.debのある
>場所をご存じないでしょうか?

古いdebianパッケージが見つからない場合は、snapshot.debian.orgを探してみると見つかる場合があります。

こちらですかね。。
http://snapshot.debian.org/archive/debian/20130814T214257Z/pool/main/g/…

中村です。

haradaさん、ありがとうございます。

> 古いdebianパッケージが見つからない場合は、snapshot.debian.orgを探してみると見つかる場合があります。

からDLしたgstreamer1.0-x_1.0.8-1~bpo70+1_armhf.debに
入っているlibgstpango.soでなんとか動きました。
ただ、表示が□□□□□になってしまい、別のエラーメッセージもたくさん。
フォントがないとか、他にも足りないものがありそうです。

こんな感じです。

[root@armadillo840-0 (ttySC2) ~]# gst-launch-1.0 videotestsrc ! "video/x-raw,wid
th=800,height=480" ! textoverlay text="Hello" ! fbdevsink device=/dev/fb1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
 
(gst-launch-1.0:3409): Pango-CRITICAL **: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of:
  '/etc/pango/pango.modules'
You should create this file by running:
  pango-querymodules > '/etc/pango/pango.modules'
 
(gst-launch-1.0:3409): Pango-WARNING **: failed to choose a font, expect ugly output. engine-
 
type='PangoRenderFc', script='latin'
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

これは別問題ということで、とりあえず問題1つ、クリアです。
ありがとうございました。

--
なかむら

中村です。

> ただ、表示が□□□□□になってしまい、別のエラーメッセージもたくさん。
> フォントがないとか、他にも足りないものがありそうです。

このエラーと、文字が□□□□□になってしまうことが解決できましたので、
書いておきます。

/usr/arm-linux-gnueabihf/lib/pango/1.6.0/modules/
の下にある全てのもの(*.soしかない)を
atmark-dist-20141215/romfs/usr/lib/pango/1.6.0/modules/
の下にコピー。
$ cd atmark-dist-20141215
$ mkdir -p romfs/usr/lib/pango/1.6.0/modules
$ cp /usr/arm-linux-gnueabihf/lib/pango/1.6.0/modules/* romfs/usr/lib/pango/1.6.0/modules

atmark-dist-20141215/lib/prebuild/arm-linux-gnueabi/pango/1.6.0/module-files.d/
の下あるlibpango1.0-0.modulesを
atmark-dist-20141215/romfs/etc/pango/pango.modules
としてコピー。
$ mkdir -p romfs/etc/pango
$ cp lib/prebuild/arm-linux-gnueabi/pango/1.6.0/module-files.d/libpango1.0-0.modules romfs/etc/pango/pango.modules

このユーザランドのイメージを作成
$ make image

このイメージを使って次のように実行したところ、
エラーもなく、"Hello"と表示できました。
# gst-launch-1.0 videotestsrc ! "video/x-raw,width=800,height=480" ! \
textoverlay text="Hello" ! fbdevsink device=/dev/fb1

また、次のようにして大きな"Hello"もできました。
# gst-launch-1.0 videotestsrc ! "video/x-raw,width=800,height=480" ! \
textoverlay text="Hello" font-desc="Verdana bold 80px" ! fbdevsink device=/dev/fb1

--
なかむら