2014年4月24日木曜日

忘れるコマンドメモ

コマンドメモです。


検索
find ./path/to/file -type f -print | xargs grep 'hoge'

置換
find ./path/to/file -type f | xargs sed -i "s/hoge/hage/g"

特定のポートを使用しているプロセス
lsof -i:80

psコマンドに項目も表示
ps alx | head -1 && ps alx

pxの出力からgrep を除外
ps alx | head -1 && ps alx | grep "[p]ostgres"

2014年4月9日水曜日

Heartbleed Alexa top 10000


問題になってるopensslの件かな?

Heartbleed Alexa top 10000
ここに名を連ねている jpドメイン

nanapi.jp:443 - VULNERABLE
radiko.jp:443 - VULNERABLE
weathernews.jp:443 - VULNERABLE
www.fujitv.co.jp:443 - VULNERABLE

www.honda.co.jp:443 - VULNERABLE
www.nanapi.jp:443 - VULNERABLE
www.nhk.or.jp:443 - VULNERABLE


2014年4月5日土曜日

macのCPU情報

linuxのcpuinfoみたいなのは無いのかな?

ちなみに今使っているのは、1年以上前のmacbook air
2012年発売のモデルを秋葉で購入したやつ。
MacBook Air (WikiPedia)
i5 3317U

CPUはi5-3317U
2コア4スレッド、AVX

$ sysctl -n machdep.cpu.brand_string
>> Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz

$ sysctl hw.ncpu | awk '{print $2}'
>> 4

$ system_profiler SPHardwareDataType
      Model Name: MacBook Air
      Model Identifier: MacBookAir5,1
      Processor Name: Intel Core i5
      Processor Speed: 1.7 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache (per Core): 256 KB
      L3 Cache: 3 MB
      Memory: 4 GB

AVX対応はターミナルからでは調べられないのかな?

macでffmpeg その2 h265エンコード


とりあえず、libx265はリンクできているようなので、エンコードしてみる。
FFmpeg: How to generate a .mp4 with h.265 Codec?
 macはサンプル動画が入っていないようなので、ここから拝借。
サンプルムービーダウンロード (sharp)

ffmpeg -i data/sample2_c.mpg -c:v libx265 -c:a copy output.mp4

以下出力内容。
--------------------------------------------------------------------------------------------------
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr  3 2014 09:39:57 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libx265 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-ffplay --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpeg, from 'data/sample2_c.mpg':
  Duration: 00:00:24.93, start: 0.400422, bitrate: 1924 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], max. 3000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s
x265 [info]: using cpu capabilities: MMX2 SSE SSE2Fast SSSE3 SSE4.2 AVX
x265 [info]: Main profile, Level-3 (Main tier)
x265 [info]: WPP streams / pool / frames         : 8 / 4 / 2
x265 [info]: CU size                             : 64
x265 [info]: Max RQT depth inter / intra         : 1 / 1
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / refs          : 1 / 1 / 3
x265 [info]: Rate Control / AQ-Strength / CUTree : ABR-200 kbps / 1.0 / 1
x265 [info]: tools: rect amp rd=3 lft sao-lcu sign-hide
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf55.33.100
    Stream #0:0: Video: hevc (libx265) ([35][0][0][0] / 0x0023), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 30k tbn, 29.97 tbc
    Stream #0:1: Audio: mp2 (i[0][0][0] / 0x0069), 48000 Hz, stereo, 224 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libx265)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  750 fps= 14 q=0.0 Lsize=    1296kB time=00:00:24.95 bitrate= 425.5kbits/s   
video:605kB audio:663kB subtitle:0 data:0 global headers:0kB muxing overhead 2.213881%
x265 [info]: frame I: 8      Avg QP:34.84  kb/s: 3078.88
x265 [info]: frame P: 244    Avg QP:39.05  kb/s: 412.34 
x265 [info]: frame B: 498    Avg QP:43.19  kb/s: 45.55  
x265 [info]: global : 750    Avg QP:41.75  kb/s: 197.24 
x265 [info]: 78 of 244 (31.97%) P frames weighted
--------------------------------------------------------------------------------------------------
一応エンコードはできた。

結構汚いな。。。
しばらくは勉強しながら、エンコードオプション、ビットレートなど調べます。
あと、vp9も既に使えるようです。


2014年4月3日木曜日

homebrewリンク

本家
Homebrew
wiki/FAQ

Formulaの場所
/usr/local/Library/Formula

参考
homebrew の Formula を追加する
ソースの入手と再ビルド & デバッグ ~ Mac OS X Homebrew 編

macでffmpeg (h265エンコード) その1インストール

ほぼ半年ぶりにffmpegを触ってみる。
先日ver2.2がリリースされて、hevcのエンコードに対応したようです。
ということで、久しぶりにコンパイル。
今回はマックで。

すでに、homebrewは2.2に対応済みでした。
brew install ffmpeg
これだけで、ffmpegがコンパイルできてしまった。
(かなりショック。半年前にcentosにインストールしたときは、結構苦労した記憶が。。。)

ただし、もう少しオプションを付けて、コンパイルしてやる必要があります。
brew info ffmpeg
brew options ffmpeg
これで、make時のオプションを確認できます。
(h264オプションはあるが、h265(hevc)の記述がない。。。)

とりあえず、このオプション設定でやり直してみる。
brew install ffmpeg --with-libvpx --with-libvorbis --with-openjpeg --with-ffplay --with-tools

ffmpeg を実行
以下結果の表示
------------------------------------------------------------------------------------------------
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr  3 2014 08:52:57 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-ffplay --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
------------------------------------------------------------------------------------------------

やはり、h265に対応できていない。
 ということで、hevcエンコードを試すには、
・x265 or openhevc の用意(自前でmake?)
・ffmpeg にリンク(configure, makeオプション?)
が必要になる。

brewはmakeオプションは付加できるようだけど、configureオプションは付けられないようなので、以下を直接編集。
/usr/local/Library/Formula/ffmpeg.rb
(brew edit で対応するようだが、今回は勢いにまかせて、よくわからないまま、viで直接編集してしまった。)
264をキーワードに同じ感じで265を追加。(以下3行を適切に!)  option "without-x265", "Disable H.265 encoder"
  depends_on 'x265' => :recommended
  args << "--enable-libx265" if build.with? 'x265'
(h264と同じようにデフォルトでリンクされるようにした)

次にh265エンコーダーの本体を用意。
openhevc か、x265かわからないけど、自前で用意しなきゃと思いながらも、
brew search x265
と打ってみたら、用意されている。早速インストール。
brew install x265
 で、ffmpegを、もう一度インストール。
brew install ffmpeg --with-libvpx --with-libvorbis --with-openjpeg --with-ffplay --with-tools
ffmpegコマンドで確認。
------------------------------------------------------------------------------------------------
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr  3 2014 09:39:57 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libx265 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-ffplay --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Hyper fast Audio and Video encoder ------------------------------------------------------------------------------------------------
一応、libx265がリンクされている。

今日は、ここまで。

念のために。
今回変更したファイル
/usr/local/Library/Formula/ffmpeg.rb
これは、homebrewのファイルで、gitで管理されています。
なので、 /usr/local に移動して、
git add Library/Formula/ffmpeg.rb
git commit -m "h265のオレオレ対応"
としておいてください。
でないと、これ以降の brew update で、commit しろとメッセージが出て、そこで止まってしまうので。