RaspberryPi 3 のVLCは、ハードウェア動画再生支援で爆速にできるらしい。
前提としてRaspberryPi は MPEG ライセンスを購入しないとts動画が再生できないので、購入しておく。といっても、300円くらいだし、ネットでポチッ支払うだけ。詳しい手順は以下。
ハードウェア動画再生支援を受けられるVLCは、通常のインストールのしかた(apt-get -y install vlc)ではダメ。手動で make が必要なようだ。進め方はこのチュートリアルサイト参照。
Raspberry Pi • View topic - Tutorial: Compile VLC with HW acceleration - Jessie, RPi 2/3
$ sudo apt-get -y purge vlc
ダウンロードするファイルをブラウザから確認しておく。
http://download.videolan.org/vlc/
最新は 2.2.6 のようだ。拡張子が xz のがダウンロード対象。
$ wget http://download.videolan.org/vlc/2.2.6/vlc-2.2.6.tar.xz
ダウンロード開始。
解凍する。
$ tar Jxfv vlc-2.2.6.tar.xz
冒頭のチュートリアルサイトのとおり、インストール前に update を走らせる。
$ sudo apt-get -y update
$ cd vlc-2.2.6/
$ ./bootstrap
$ make -j3
あれ?エラーになる。
冒頭チュートリアルサイトには configure が無いから、そのせいか?
$ ./configure
./configure は終わったので、再度 make してみる。
$ make -j3
やはりエラーになる。
冒頭チュートリアルサイトをよく見直すと以下のコマンドあり。実行を忘れていた。字が薄くて気づかなかった。
sudo apt-get install autopoint gettext liba52-0.7.4-dev libaa1-dev libasound2-dev libass-dev libavahi-client-dev libavc1394-dev libavcodec-dev libavformat-dev libbluray-dev libcaca-dev libcddb2-dev libcdio-dev libchromaprint-dev libdbus-1-dev libdc1394-22-dev libdca-dev libdirectfb-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libegl1-mesa-dev libfaad-dev libflac-dev libfluidsynth-dev libfreerdp-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev libgles1-mesa-dev libgles2-mesa-dev libgnutls28-dev libgtk2.0-dev libidn11-dev libiso9660-dev libjack-jackd2-dev libkate-dev liblircclient-dev liblivemedia-dev liblua5.2-dev libmad0-dev libmatroska-dev libmodplug-dev libmpcdec-dev libmpeg2-4-dev libmtp-dev libncursesw5-dev libnotify-dev libogg-dev libomxil-bellagio-dev libopus-dev libpng12-dev libpulse-dev libqt4-dev libraw1394-dev libresid-builder-dev librsvg2-dev libsamplerate0-dev libschroedinger-dev libsdl-image1.2-dev libsdl1.2-dev libshine-dev libshout3-dev libsidplay2-dev libsmbclient-dev libspeex-dev libspeexdsp-dev libssh2-1-dev libswscale-dev libtag1-dev libtheora-dev libtwolame-dev libudev-dev libupnp-dev libv4l-dev libva-dev libvcdinfo-dev libvdpau-dev libvncserver-dev libvorbis-dev libx11-dev libx264-dev libxcb-composite0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb1-dev libxext-dev libxinerama-dev libxml2-dev libxpm-dev libzvbi-dev lua5.2 oss4-dev pkg-config zlib1g-dev libtool build-essential autoconf
コピペして一気に実行する。
インストール完了。
もう一度 make してみる。
やはりエラー。
./bootstrap をもう一度やればいいのだろうか?
$ ./bootstrap
./bootstrap はうまくいった。
make する。
$ make -j3
またしてもエラー。
もう一度 ./configure したらどうか。
$ ./configure
./configure はうまくいった。makeする。
$ make -j3
またしてもエラー。もう何回目か。
冒頭チュートリアルサイトを再度見直す。以下のコマンドを忘れていた。ここも字が薄くて見落としてた。
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 -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 -mcpu=cortex-a7 -mfpu=neon-vfpv4" LDFLAGS="-L/opt/vc/lib" ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2
コマンドは正常終了。make する。
$ make -j3
やっとうまく make が走った。RaspberryPi 3 はスペックが上がっているが、それでもmakeには一晩かかる。走らせたまま寝る。
ーーー
夜が明けて、make が終わっていた。make install する。
$ sudo make install
正常に進む。
インストール完了。
バージョンを確認したいので、ヘルプから確認方法を調べる。
引数 --version を付けて実行すればいいらしい。
$ vlc --version
たしかに、バージョン 2.2.6 がインストールされたのを確認。念のため再起動しておく。
$ sudo reboot
再起動後、テレビにRaspberryPi 3 を繋いで、vlcでハイビジョンを受信してみる。やりかたはこのへん参照。
動画再生支援が働いていれば、ハイビジョン映像くらいは余裕で見られるはずだ。実行してみる。
$ DISPLAY=:0.0 && cvlc -f http://PT3配信サーバアドレス:ポート/チャンネル
ダメだった…音は聞こえるけど、映像が来ない。osmcだと受信してテレビが見れるのに…
Raspbianでも見れておかしくないはず。もっと調べる。
ーーー
追記
cvlc ではなく、omxplayer でどうか試したが、やはり再生できなかった。
$ omxplayer http://PT3配信サーバアドレス:ポート/チャンネル