CPI共有サーバ(SV-Basic)でffmpegを使用する

共有タイプのレンタルサーバ CPIの共有サーバ SV-Basicでどうしてもffmpegを使用したく、案の定標準では利用できないのですが、対応した際のメモとなります。
CPサーバ上では、ソースからビルドが出来ないため別途、同じFreeBSD環境を構築してビルドし、CPIサーバ上に配置します。

ビルド用のFreeBSDのインストール

↓このあたりをみてVirtualBoxなどで環境を構築。
www.freebsd.org/doc/ja_JP.eucJP/books/handbook/bsdinstall.html

後で、ディレクトリの違いによる調整などが発生すると面倒なのでユーザやホームディレクトリは本番のCPIと同じになるように設定しています。

インストール環境

OS:FreeBSD-12.0-RELEASE-amd64
ホームディレクトリ:/usr/home/【CPIのユーザのホームディレクトリ】

環境変数をセット

OSが起動したらログインして設定をしていきます。
設置するユーザのホームディレクトリに移動

# cd /usr/home/【CPIのユーザのホームディレクトリ】
# vi ~/.cshrc

以下を記載。

setenv TZ JST-09
setenv LANG ja_JP.UTF-8
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin $HOME/gmp-6.2.0 $HOME/ffmpeg-4.2.2)
set dspmbyte utf8
setenv TMPDIR ~/tmp
setenv LIBRARY_PATH ~/lib
setenv LD_LIBRARY_PATH ~/lib
setenv C_INCLUDE_PATH ~/include
setenv PKG_CONFIG_PATH /usr/local/libdata/pkgconfig/:~/libdata/pkgconfig

gmpライブラリのインストール

gmpライブラリをダウンロードします。

# wget --no-check-certificate https://gmplib.org/download/gmp/gmp-6.2.0.tar.gz

ファイルを解凍してgmpディレクトリに移動

# tar zxvf gmp-6.2.0.tar.gz
# cd gmp-6.2.0

コンフィグレーションしてmake

# ./configure M4=m4 --prefix=${HOME} CC=clang
# gmake -j16 install

ffmpegのインストール

設置するユーザホームディレクトリに移動

# cd /usr/home/【CPIのユーザのホームディレクトリ】

ffmpegのダウンロード

# wget --no-check-certificate https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.gz

ファイルを解凍してffmpegディレクトリに移動

# tar zxvf ffmpeg-4.2.2.tar.gz
# cd ffmpeg-4.2.2

コンフィグレーションしてmakeしてインストール

# ./configure --disable-x86asm --enable-version3 --cc=clang --prefix=${HOME} --disable-ffplay --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-manpages --enable-small --enable-static
# gmake -j16 all
# gmake install ffmpeg ~/bin/
# gmake install ffprobe ~/bin/

動作確認

設置するユーザでログインしてffmpegが動くか確認します。
ffmpeg -versionを実行してバージョンが表示されればOKです。

% ffmpeg -version
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
configuration: --disable-x86asm --enable-version3 --cc=clang --prefix=/home/【CPIのユーザのホームディレクトリ】 --disable-ffplay --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-manpages --enable-small --enable-static
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100

必要ファイルをCPI上に設置

設置するユーザホームディレクトリに移動

# cd /usr/home/【CPIのユーザのホームディレクトリ】
# tar cvf ffmpeg.tar bin lib

ffmpeg.tarをCPIの設置するユーザホームディレクトリに置いて解凍します。
ffmpeg -versionを実行してバージョンが表示されればOKです。
パスが通っていないので、フルパスで指定します。

% /usr/home/【CPIのユーザのホームディレクトリ】/ffmpeg -version
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
configuration: --disable-x86asm --enable-version3 --cc=clang --prefix=/home/【CPIのユーザのホームディレクトリ】 --disable-ffplay --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-manpages --enable-small --enable-static
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100

以上で設置完了となります。

ビルド済ffmpegのダウンロード

ビルドするFreeBSD環境を構築できない場合は、下記からビルド済みffmpegをダウンロードいただければ利用できると思います。


ビルド済ファイルのダウンロード


尚、ffmpegを設定したCPI共有サーバプランはこちらです。


(Visited 51 times, 1 visits today)