ほぼテレビとして使っている、うちのRaspberryPiでOMXPlayerでアラーム代わりに動画を再生するようにしていたのですが、Cronからだとキーボード操作が上手く行かなかったので、GUI基本のVLCならと思いaptでインストールして、上手く行ったもののOMXPlayerのようにハードウェア援助がないため、カクカクになってしまいました。
そのため、ハードウェア援助対応のVLCをビルドをしてみることにしました。
ビルド方法
自ビルドでないVLCをアンインストール
まずは、aptでインストールしたかもしれないVLCを完全にアンインストールします。
sudo apt purge vlc libvlc-bin libvlc5 libvlccore8 vlc-bin vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization
そして、念のためパッケージの更新とパッケージリストの更新
sudo apt update
sudo apt upgrade
ビルドのために必要なパッケージのインストール
↓これは既にインストール済みの人も多いかもしれません。
sudo apt install autopoint pkg-config libtool build-essential autoconf
↓VLC関連のパッケージ
sudo apt install liba52-0.7.4-dev libasound2-dev libass-dev libavahi-client-dev libavc1394-dev libbluray-dev libbz2-dev libc6-dev libcairo2-dev libcddb2-dev libcdio-dev libchromaprint-dev libdbus-1-dev libdc1394-22-dev libdca-dev libdirectfb-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libebml-dev libfaad-dev libflac-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgcc-6-dev libgcrypt20-dev libglib2.0-dev libgme-dev libgnutls28-dev libgpg-error-dev libgsm1-dev libjpeg62-turbo-dev libkate-dev liblircclient-dev liblivemedia-dev liblua5.2-dev liblzma-dev libmad0-dev libmatroska-dev libmodplug-dev libmp3lame-dev libmpcdec-dev libmpeg2-4-dev libmtp-dev libncursesw5-dev libogg-dev libopus-dev libpng-dev libpulse-dev libraw1394-dev libresid-builder-dev librsvg2-dev librtmp-dev libsamplerate0-dev libsdl-image1.2-dev libsdl1.2-dev libshine-dev libshout3-dev libsidplay2-dev libsnappy-dev libsndio-dev libspeex-dev libspeexdsp-dev libssh-gcrypt-dev libssh2-1-dev libstdc++-6-dev libtag1-dev libtheora-dev libtinfo-dev libtwolame-dev libudev-dev libupnp6-dev libva-dev libvcdinfo-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx11-dev libx264-dev libx265-dev libxcb-keysyms1-dev libxcb1-dev libxml2-dev libxvidcore-dev libzvbi-dev zlib1g-dev libgdk-pixbuf2.0-dev libgtk2.0-dev libnotify-dev libqt5x11extras5-dev libxi-dev libsmbclient-dev libxext-dev libxinerama-dev libxpm-dev libaa1-dev libcaca-dev libegl1-mesa-dev libgles1-mesa-dev libgles2-mesa-dev libxcb-shm0-dev libxcb-xv0-dev libxcb-randr0-dev libxcb-composite0-dev libavcodec-dev libavformat-dev ibswscale-dev
参考サイトの内容にlibavcodec-dev
libavformat-dev
ibswscale-dev
をプラスしています。
結構多いですね(*_*)
ソースコードのダウンロード
2018/01/17現在の最新ソースコードは2017/12/21更新のVLC-2.2.8なのでこれをダウンロードします。
最新バージョンの確認は↓のサイトからチェックしてください。
ソースコードダウンロード
wget https://download.videolan.org/vlc/2.2.8/vlc-2.2.8.tar.xz
パッチダウンロード
wget http://www.linuxfromscratch.org/patches/blfs/svn/vlc-2.2.8-ffmpeg3-1.patch
展開
tar -xJf vlc-2.2.8.tar.xz
ビルドする
展開したフォルダに移動
cd vlc-2.2.8
順番にビルド作業をやっていきます
./bootstrap
パッチ当てと修正?
patch -Np1 -i ../vlc-2.2.8-ffmpeg3-1.patch
sed -i 's/error-implicit-function-declaration//' configure
環境変数の設定
export CFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -I/opt/vc/include/GLES2 -I/opt/vc/include/EGL -mfloat-abi=hard -mcpu=cortex-a7 -mfpu=neon-vfpv4" CXXFLAGS="-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/mmal -I/opt/vc/include/interface/vchiq_arm -I/opt/vc/include/IL -mfloat-abi=hard -I/opt/vc/include/GLES2 -I/opt/vc/include/EGL -mcpu=cortex-a7 -mfpu=neon-vfpv4" LDFLAGS="-L/opt/vc/lib"
Configureする
./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2
Make
make -j3
SDカードの性能や、HDDの性能によりますが30分は時間が掛かるのでコーヒーでも飲んでください。※エラーが出てもコーヒーを吹き出さないように(笑)
Makeがちゃんと通れば
sudo make install
で完了です。
これでVLCのビルドは完了で、ターミナルからVLCで立ち上がります。
Raspbianの全てのプログラム的なのには再起動後に有効になります。
VLCのRaspberryPi用の設定
まだ、このままではハードウェア援助は受けられないので、VLCを立ち上げて少し設定します。
VLCの適当な場所で右クリックして、
「設定」→「シンプル」→「ビデオ」→「出力」を「OpenMAX ILビデオ出力」にします。
※この場合、ハードウェア援助を受けれるものの動画再生中は強制フルスクリーンになります。(シークバーは早送りのときなどに、焼付で出てきます)
VLCのキーボード操作は適当に検索してください。
総括的な何か
VLCは単体で殆どの動画が再生できるのでいいですね。(画質は別として)
他に書くこともないのでこれで〆させて頂きます。
コメント
貴重な情報をご提供いただきありがとうございます。
2018年06月05日現在、パッチダウンロードのリンク先が既に存在していなかったので、3.0.3-1で試しているところです。
vlc関連パッケージのインストール最終項目が’ibswscale-dev’となっていましたが正しくは’libswscale-dev’のようでした。
./configure で
checking for the Wayland protocols… not found
…と、Wayland protocols が入ってないとと怒られましたので、これは
sudo apt install wayland-protocols
…とすることで、./configure まではできたのですが、今の所 Make が通らない状況です。
もう少し自力で頑張ってみますが、なにかキッカケ的なモノでもご存知であれば教えて頂けるとありがたいです。
コメントありがとうございます。
ライブラリ関連はaptのレポジトリの中でも結構頻繁にメンテされているので、その関係かもしれませんね。
これをやったのは随分前なので、記憶が曖昧なのですが、下記サイトを参考に行ったので参考にして頂けると幸いです。
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=195221&sid=f649fe8f06a5b908a72430206bdc4441
直接的な解決にはならなくてすいません。