イントロダクション
通常の契約をして、ssh でログインするトコまでは割愛しておく🌝
私の契約している環境では FreeBSD 9.1-RELEASE だったので、ホームディレクトリ上に実行ファイルやライブラリを構築しなければならない。
従って、以下の環境変数の設定と各ディレクトリを作成をしておく。
環境設定
環境変数は好みのシェルに合わせてログイン時に自動的に読み込むようにして置くことで、毎回手動で入力する事が省くことができるから、初期のシェルが csh だったので、.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)
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
ディレクトリの作成
% mkdir -p ~/tmp ~/lib ~/libdata ~/include
以下のライブラリは、日本放送協会が展開している「らじるらじる」を、録音する際に必要になるので、録音しない場合は飛ばしてもいい。
注:20180727 現在では rtmpe プロトコルを用いての配信終了したそうなので、以下の gmp のインスコはスルーしてよい。
必要ライブラリのビルド
% cd ~ && fetch -o- ftp://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz | bsdtar xf -
% cd gmp-6.2.1 && ./configure M4=m4 --prefix=${HOME} CC=clang
% gmake -j4 all && gmake install
ご本尊の build は、上記のライブラリを読み込むか否かで、configure のスイッチを変更する必要があるので注意する事。
ご本尊のビルド
% cd ~ && fetch -o- https://ffmpeg.org/releases/ffmpeg-5.0.1.tar.xz | bsdtar xf - && cd ffmpeg-5.0.1
% ./configure --disable-x86asm --enable-gmp --enable-openssl --enable-version3 --cc=clang --prefix=${HOME} --disable-ffplay --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-manpages --enable-small --enable-openssl --enable-static --progs-suffix=`pwd | awk -F- '{print $NF}' | tr -d .`
注:gmp ライブラリをインスコしていなければ、--enable-gmp を削除すること
% gmake -j4 all
% install ffmpeg`pwd | awk -F- '{print $NF}' | tr -d .` ~/bin/
% install ffprobe`pwd | awk -F- '{print $NF}' | tr -d .` ~/bin/
注:Makefile 使って install すると使わないファイルもインストールするのでバイナリだけインストールする。
これで、ffmpeg がコマンドラインから使えるようになる。
最後に後始末として不要なら、ソースファイルの tarball や作業ディレクトリを削除しておけば、無駄な容量消費を抑えられる。
% # 必要であれば gmp も削除する
% cd ~
% rm -Rf gmp-6.2.1
% rm -Rf ffmpeg-5.0.1
コンクルージョン
この手順書では、ffmpeg コマンドの後ろに便宜上バージョン番号を付しいるが、不要の場合は ./configure 及び install コマンド中の pwd ...
の記述を削除すれば従来通りのバージョン番号の付さない実行形式が生成される。