なるひこの Linux Printing お勉強日記 RSSフィード

ご注意!

ここはあくまでも私個人のブログであり、いかなる団体や組織の立場から離れた、私個人の知見なり学んだことなり勝手な思い(妄想ともいう)を書く場所であります。それを踏まえてお楽しみいただければ幸いです。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツはすべて クリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下に提供されています。

2012-01-03

GoProで撮った画像をiPhoneで見られるようにUbuntuで加工する(その1)

まだ3日なんですよね……すでに達成できる自信がなくなってきたんですけど(^^;

あ、明日から勤労のみなさまお疲れ様です。当方無職なのでのんびり日記などを書いて過ごさせて頂きますです。

さておき、今日は昨日の予告通り、ffmpeg を使って GoPro で撮った画像を iPhone に転送して観られるようにしたよってネタです。ひじょーにしょうもない結果になりましたスミマセン。

GoPro って?

GoPro というのはですねー、ここ数年のエクストリームスポーツ界で非常に使われるようになった小型のスチル&ビデオカメラです。

GoPro HD Helmet HERO ゴープロ ハイディフィニション ヘルメットヒーロー WCHDHH1

GoPro HD Helmet HERO ゴープロ ハイディフィニション ヘルメットヒーロー WCHDHH1

ヘルメットマウントと防水ハウジング付き、なおかつ HD ムービーがけっこう長時間取れるってことで、多くのエクストリームスポーツのビデオで大活躍してると思います。例えばカヤックのビデオなら

D

とかで使ってると思います (ボートのへさきのところについてるのがわかると思います)。

んでまぁ私はホワイトウォーターカヤックなどを嗜んでおりまして、その楽しみはとても多岐に渡っており非常に魅力的な娯楽だと思ってるのでことあるごとに宣伝してるんですが、どーにもこーにも釣れる人がいませんw

きっと進め方が悪いのかなー、論より証拠で動画とか使ったほうがいいのかしらと思って、アクションカムATC-2K(だっけ)ってのを持ってたんですけど、これSDHC読んでくれないんですよね。ので1時間ぐらいしか動画取れない。さすがにツラすぎるので、eBay経由で購入しました。


んで試しどりしたのだけどだけど

いやーハイデフはやっぱ綺麗ですねー。綺麗なんですけど、ディスク食うんですわ。

手元にあるのが43分流し取りしたやつで、3.9G! ちょっと、持ち歩いてスマートフォンで見せるってわけにはいきません。これは変換してサイズ減らさないとダメですわなー。

つことで、愛用の Ubuntu 11.10 の環境で ffmpeg を使おうとしたら、「あー H.264コンパイル時に指定されてないんだわーゴメン!」っていわれちゃった。なんと。権利上の問題でござるかな。動画とかはこれだから色々めんどっちいよもう……。

で、色々調べたんだけど、色々考えるのめんどくさいからもう出てきたハウツーのままやっちゃえ! っていうのが今回のネタでございます。


ffmpegx264 の最新をビルドするよ

多分ですが、要求を満たすためには ffmpeg、といっても、Ubuntuffmpeg パッケージは、ffmpeg からフォークした libav を元にコンパイルされてるわけですが、まぁそれに --enable-libx264 を付けてリコンパイルすればいいだけだと思うのです。apt-get source でパッケージソース取ってきてビルドしたほうが依存関係とか考えると色々良さそう。

だけど今回はめんどくさかったので Ubuntu のフォーラムに紹介されてたやりかたをそのままトレースしました。ので、以下はこのハウツーをそのままやってるだけなので読まなくていいです。

まずは下準備

今回、ffmpegx264 (と libx264-dev) は checkinstall で作ったパッケージをぶち込むので競合するからあっさりとさようなら。

sudo apt-get remove ffmpeg x264 libx264-dev

んでビルドに必要なものをエイヤッと放り込む。

sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \
  libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
  libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev

あ、ハウツーには書いてあるけど一部 multiverse にあるから enable にしておかないとダメすよみたいな。

関係ないけど Debian 系の build-essential って非常に便利で、他のディストリビューション使うと「えーとソフトをビルドするのに必要な最小構成って……?」っていちいち悩んでしまい悲しい。RH 系とか openSUSE にもこういうグループパッケージ的モノってあるのかしら。あったら教えてくだせー。

x264インストール

お次は x264 の最新を git で取ってきてビルドして checkinstall で入れる。おもいっきしコピペ

cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default

ここで checkinstall についてはぐぐってくださいね。曲がりなりにもパッケージのフリをしてくれるので便利便利。

ffmpegインストール

ハウツーの方は VP8 のライブラリ libvpx のインストールオプションで挟まるけど今回は省略して、お次は ffmpeg の方。こちらもおもいっきしコピペ

cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default

さっきもそうだけどこの awk の使い方参考になりますね。

さてこれでうまく行くはずなので、試しに:

$ ffmpeg
ffmpeg version git-2012-01-03-2ba3416, Copyright (c) 2000-2012 the FFmpeg developers
  built on Jan  3 2012 20:46:42 with gcc 4.6.1
  configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
  libavutil      51. 33.100 / 51. 33.100
  libavcodec     53. 50.100 / 53. 50.100
  libavformat    53. 29.100 / 53. 29.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 57.101 /  2. 57.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  5.100 /  0.  5.100
  libpostproc    51.  2.100 / 51.  2.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

よし、--enable-libx264 ついてる!

ということで試しにエンコしたらちゃんとできました。ぱちぱち。


終わりに

なんだか手抜き感満載ですみません。ホントは DEB パッケージの再構築やろうとして時間切れだったんです。

今の状態だと依存関係がぶっ壊れているので、例えば avidemux とかインストールできなかったりして色々悲しいので、あとでちゃんとやりたいすなー。

明日はもうネタ切れなのですけど、うーん、Apple AirPrint ネタでなにかやりますかねぇ〜。

それでは。

2010-02-21

Debian勉強会@木更津&でびあん温泉【仮エントリ】

相変わらず仮エントリ。

超簡単な総括。

  • 幹事の前田さん、宿泊担当のやまねさん、プレゼンターのやまねさん、日比野さん、前田さん、坂口さん、上川さん、現地アテンドをしていただいた大枝先生、ありがとうございました。
  • Debianの行事のはずなのにひたすらプログラミング言語の話をしていた気がするのはなぜだろう。
  • そして現代的なプログラミング言語意味論、特に型推論とかそこらへんを抑えるにはやっぱりML系は避けて通れないらしい。うむー。

詳しくは後ほど……ばたり。