忍者ブログ

素人翻訳

適当に翻訳する。

ffmpeg/ffplay、X11非対応のSDL

この記事では ffmpeg-2.7.2 を使用。最新の ffmpeg では同梱されているヘッダが違ったり、SDL2が採用されていたりするので注意。

SDLを入れたのにffmpeg/ffplayが使えない。

[XXX@localhost ~]$ ffplay
bash: ffplay: コマンドが見つかりません
ffplayにはSDL2ではなくSDL-1.2.15が必要。

SDL-1.2.15を入れてffmpegを再構築。
[XXX@localhost ~]$ ffplay aaa.mp4
ffplay version 2.7.2 Copyright (c) 2003-2015 the FFmpeg developers
built with gcc 4.4.5 (GCC) 20101001 (Vine Linux 4.4.5-6vl6)
configuration: --prefix=/usr/local
...
...
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

SDL構築時にX11関連の開発ライブラリがなければ、
X11非対応のSDLになってしまうらしい。

SDL-1.2.15/src/video/x11/SDL_x11video.hによると次のものが必要。
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
...
#include "../Xext/extensions/xf86dga.h"
...
#include "../Xext/extensions/Xinerama.h"
...
#include <X11/extensions/Xrandr.h>
...
#include "../Xext/extensions/xf86vmode.h"
...
#include "../Xext/extensions/xme.h"
...
../Xext/extensions/...で始まるヘッダはSDLパッケージ内に存在するので、
libX11-1.5.0
xproto-7.0.23
libXrandr-1.3.2
をソースコードから構築。

必要なもの。
----------------------------
X11R7.7/proto/xproto-7.0.23
X11R7.7/lib/xtrans-1.2.7
X11R7.7/proto/inputproto-2.2
X11R7.7/proto/kbproto-1.0.6
X11R7.7/xcb/xcbproto-1.7.1
X11R7.7/xcb/libpthread-stubs-0.3
X11R7.7/lib/libXau-1.0.7
X11R7.7/xcb/libxcb-1.8.1
X11R7.7/proto/xextproto-7.2.1
X11R7.7/lib/libX11-1.5.0

X11R7.7/proto/randrproto-1.3.2
X11R7.7/lib/libXext-1.3.1
X11R7.7/proto/renderproto-0.11.1
X11R7.7/lib/libXrender-0.9.7
X11R7.7/lib/libXrandr-1.3.2
----------------------------

構築時の設定。
[XXX@localhost ~]$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
[XXX@localhost ~]$ export LD_LIBRARY_PATH="/usr/local/lib"
[XXX@localhost ~]$ export CFLAGS="-I/usr/local/include"

途中から、
[XXX@localhost ~]$ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig"


全てインストールした後、SDL-1.2.15を再構築して終了。(ffmpegも作りなおす)
sudo make uninstall
make clean
./configure --prefix=/usr/local
make
sudo make install


libX11-1.5.0
./configure --prefix=/usr/local
...
...
checking for poll... yes
checking keysym definitions... configure: error: Cannot find keysymdef.h
keysymdef.h はxproto-7.0.23にある。


libX11-1.5.0しかインストールされていない環境で(libXrandrなし)
SDL-1.2.15を構築しようとすると以下のエラーが出る。
./configure --prefix=/usr/local
make
...
...
./src/video/x11/SDL_x11video.h:50 から include されたファイル中,
./src/video/x11/SDL_x11dga_c.h:24 から,
./src/video/x11/SDL_x11dga.c:30 から:
./src/video/x11/SDL_x11dyn.h:45:33: error: X11/extensions/XShm.h: そのようなファイルやディレクトリはありません
In file included from ./src/video/x11/SDL_x11dga_c.h:24,
from ./src/video/x11/SDL_x11dga.c:30:
./src/video/x11/SDL_x11video.h:77: error: expected specifier-qualifier-list before ‘XShmSegmentInfo’
make: *** [build/SDL_x11dga.lo] エラー 1
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

06 2020/07 08
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

最新コメント

[04/05 NONAME]

ブログ内検索

広告

バーコード

広告