So-net無料ブログ作成

Raspberry Pi 2 ffmpegのコンパイル [Raspberry Pi]

Raspberry Pi 2 でffmpegをコンパイルしてみる。
参考にしたのはお気に入りの動画を携帯で見ようのブログ。

iPhoneで再生するための動画に変換したいので、faac,fdk-aacエンコーダーとx264エンコーダーを組み込む。
ただし、faacとfdk-aacを組み込んだバイナリは再配布禁止になってるので、
自分でコンパイルした。

まずは、コンパイルに必要な準備。
yasmのインストール
% sudo apt-get install yasm
automakeのインストール
% sudo apt-get install automake
libtoolのインストール
% sudo apt-get install libtool


fdk-aacのコンパイル
ソースのダウンロード
% wget http://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-0.1.4.tar.gz
解凍
% gzip -cd fdk-aac-0.1.4.tar.gz | tar xvf -
コンパイル&インストール
% cd fdk-aac
% ./configure --prefix=/usr/local --disable-shared
% make
% sudo make install
% cd ..


faacのコンパイル
ソースのダウンロード
% wget http://downloads.sourceforge.net/faac/faac-1.28.tar.bz2
パッチのダウンロード
% wget http://abechin.sakura.ne.jp/sblo_files/k-tai-douga/ffmpeg/faac-1.28.diff
解凍
% bzip2 -cd faac-1.28.tar.bz2 | tar xvf -
パッチをあてて、コンパイル&インストール
% cd faac
% patch -p1 < ../faac-1.28.diff
% ./bootstrap
% ./configure --prefix=/usr/local
% make
エラーが出たので、ソースを修正。
% vi common/mp4v2/mpeg4ip.h 下記のように/* */でコメントアウトする。
  /*
  #ifdef __cplusplus
  extern "C" {
  #endif
  char *strcasestr(const char *haystack, const char *needle);
  #ifdef __cplusplus
  }
  #endif
  */
% make
またエラーになったので、Makefileを修正
% vi frontend/Makefile
  LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++ -lws2_32
  の一番後ろの -lws2_32 を削除して、下記のようにする。
  LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++
% make
% sudo make install
% cd ..


libx264のコンパイル
ソースのダウンロード
% git clone git://git.videolan.org/x264
テスト用の動画をダウンロードしておく
% wget http://media.xiph.org/video/derf/y4m/park_joy_420_720p50.y4m
コンパイル&インストール
% cd x264
% ./configure --prefix=/usr/local --enable-static
% make fprofiled VIDS="../park_joy_420_720p50.y4m"
% sudo make install
% cd ..


ffmpegのコンパイル
ソースのダウンロード
% git clone git://source.ffmpeg.org/ffmpeg.git
コンパイル&インストール
% cd ffmpeg
% ./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --extra-ldflags=-static --optflags="-O2 -finline-functions"
% make
% sudo make install
% cd ..


% ffmpeg -codecs > codecs.txt
として、
 DEA.L. aac AAC (Advanced Audio Coding) (decoders: aac libfdk_aac ) (encoders: aac libfaac libfdk_aac )
 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb )
のようにエンコーダーが入っていればOK


Windows用にコンパイルをした時の話はまたそのうち。

タグ:Raspberry Pi

Raspberry pi 2 OSの設定

OSのインストール
Windowsマシンでの作業。
OSのイメージファイルをRaspberryPiのダウンロードページからダウンロードする。
標準のRASPBIANをダウンロードした。ファイルサイズが大きいのとサイトが混んでる(?)せいか結構時間がかかる。
ダウンロードが終わったらファイルを解凍しておく。

次に、OSのイメージファイルをMicroSDに書き込むソフト DD for Windows をダウンロード。
DD for Windowsを解凍しておく。

WindowsマシンにMicroSDカードを接続して、DD for Windowsを管理者権限で実行する。
ドライブはMicroSDのドライブを指定して、ファイルにはRASPBIANのイメージファイルを指定して、
書き込みボタンを押すことで、イメージファイルをMicroSDカードへ書き込む。

この後からRaspberry Pi で作業。

Raspberry Pi 2 にMicroSDカードを指して、TVとUSBキーボードを繋ぎ、その後に電源を繋ぐ。
電源が入るとRASPBIANのOSが立ち上がり、セットアップ画面になる。
まずは、MicroSDカードの全ての容量を使えるようにするために、Expand Filesystem を実行する。
次は、タイムゾーンの設定。
Internationalisation Options -> Change Timezone -> Asia -> Tokyo
次は、日本語キーボードを使えるようにするため、
Internationalisation Options -> Change Keyboard Layout -> Generic 105-key(Intl) PC
-> Other -> Japanese - Japanese (OADG 109A)
として、再起動する。
ログイン画面が出るので、ユーザー名 pi パスワード raspberry でログインして使えるようになる。

無線LANアダプタを使えるようにする。
無線LANアダプタを挿入する。
% lsusb
でUSBに繋がったことを確認する。
無線LANの設定 /etc/wpa_supplicant ファイルを修正する。
% sudo bash
% cd /etc/wpa_supplicant
% wpa_passphrase ssid passphrase >> wpa_supplicant.conf
ssidには無線LANのSSIDを入力
passphraseには無線LANのパスワードを入力する。
その後ファイルを下記のように修正する。
% vi wpa_supplicant.conf
network={
ssid="xxx"
psk=xxx
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP TKIP
group=CCMP TKIP
}
次に、無線LANを固定IPアドレスで指定するための設定をする。
% cd /etc/network
% vi interfaces
iface wlan0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
これで再起動する。
% sudo reboot
起動したら pi raspberry でログインし、
% ifconfig
% iwconfig
で無線LANに繋がっていることを確認する。
RASPBIANのOSを最新に更新する。
% sudo apt-get update
% sudo apt-get upgrade
更新されたら再起動しておく。
無線LANが繋がると、PCからSSH(TeraTermなど)を使ってRaspberry Piにログイン出来るようになる。

必要なツールのインストール
% sudo apt-get install chkconfig
% sudo apt-get install ftp

不要なデーモンの停止
% sudo chkconfig dhcpcd off
% sudo chkconfig triggerhappy off
% sudo chkconfig lightdm off
% sudo chkconfig motd off
% sudo chkconfig plymouth off
% sudo chkconfig avahi-daemon off
% sudo chkconfig rsync off
% sudo chkconfig dbus off
再起動しておく。

NTPで時計の同期
% sudo bash
% vi /etc/ntp.conf
server行をコメントアウトして、下記を追加
pool ntp.xxx.ne.jp iburst
% server ntp restart
うまく動いてるか確認
% ntpq -p
として、サーバー名の左側に"*"が付いていることを確認した。

MicroSDカードへの書き込むを減らすためにswapの無効化をする。
% free -h
total used free shared buffers cached
Mem: 927M 199M 727M 0B 22M 135M
-/+ buffers/cache: 40M 886M
Swap: 99M 0B 99M
99MのSwapが設定されている。
% sudo swapoff --all
% free -f
total used free shared buffers cached
Mem: 927M 64M 862M 0B 9.4M 26M
-/+ buffers/cache: 29M 898M
Swap: 0B 0B 0B
% sudo apt-get remove dphys-swapfile
% sudo reboot で再起動

と、ここまでがOSインストール後にやること。

タグ:Raspberry Pi 2

ラズパイ

ずっと欲しいと思ってたRaspberry Pi。

タバコの箱より小さい筐体にARMを積んだPCでLinuxが動くから自宅サーバーにしたいなーとずっと思ってました。(ケースは別売り、基本は基盤むき出しのまま)
今年に入ってから新機種 Raspberry Pi 2が出て、しかもMicrosoftがWindows10も対応しますって発表したので、これはもう買うしかない。
ってことでやっとアマゾンでポチっとしました。
本体にはHDMIが付いてるからTVに繋げば画面が出る。USBは4ポート。有線LANポート付き。電源はUSBのMicroBコネクタから供給。CPUは4コアと結構パワフル。と特殊なものは必要なくてそのまま使えるのも魅力。

動かすために必要なもの
・Raspberry Pi 2 本体:4500円くらい。
・ケース(なくてもいいけど):1500円くらい。
・MicroSD(OSはここに入れる) : 16GBあれば足りそう。今回は32GBを用意。
・無線LANアダプタ:あると便利。BUFFALO WLI-UC-GNMを用意。
・USBキーボード:家にあるもの。
・HDMIケーブル:家にあるもの。
・USB TypeA-MicroB ケーブル:Android携帯で使うものと一緒。
・USB電源アダプタ:家にあるもの。出来れば1A以上欲しい。

今回は本体とケースセット&MicroSD&無線LANアダプタをまとめてぽちりました。

OSはRaspberry PiのホームページからRaspbian(DebianベースのLinux)のイメージをダウンロードして、PCを使ってSDカードにそのイメージを書き込み、そのSDカードをラズパイに挿すことで起動するようになります。

SDカードを挿して電源を入れると問題なくOSが立ち上がったので、ロケールとタイムゾーンと日本語キーボードの設定をしてReboot。
再起動後に無線LANの設定をしてネットが繋がることを確認して、NTPの設定をして、OSのアップデート(更新はなかった)までして、念のためReboot。
再起動に問題なく動くことを確認しました。
特に設定しなくてもWindowsPCからSSHでログインも出来ることも確認したので、TVもUSBキーボードもLANケーブルも繋げなくても動くからケーブルがじゃまにならないし、SSHでログインしてメンテも出来るのでサーバーにも最適な感じ。

ちょっとしたトラブル
・一番始めの起動前から無線LANアダプタを付けたまま起動してみたら、起動中にエラーが出てまともに起動しなかった。無線LANアダプタを外して起動することで問題なし。
・キーボードを外して起動してみるとやっぱり起動中にエラー。無線LANアダプタを外して再起動出来た。

これ以降は無線LANアダプタを付けたままでもちゃんと起動することを確認したしたから問題はなさそう。

これからいろいろ遊んでみたい。
image1.JPGimage2.JPG

ギネス缶

ギネス ドラフト缶
よく見ると右上にUFO写ってるな
IMG_1253.JPG

nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:moblog

ベルビュークリーク

左がサクランボ風味のベルビュークリーク
右はデュシャス・ド・ブリュゴーニュ(ベルギービール)だったかな?

IMG_1833.JPG

ドイツビール

ドイツビール3つ
うちに遊びに来てくれた友達が見たことないビールを持って来てくれたよ
IMG_2387.JPG

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:moblog

ポーラナー

PAULANER
IMG_1947.JPG

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:moblog

白穂乃香

日本の白ビールうまかった
IMG_2079.JPG

nice!(1)  コメント(2)  トラックバック(0) 
共通テーマ:moblog

安房麦酒

千葉の鴨川シーワールドに行った時だな
IMG_1162.JPG

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:moblog

風の谷のビール

伊豆に行くと売ってる
IMG_1543.JPG

メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。