complex small world

どうしようもない日々の追想

ffmpeg command cheat sheet [Japanese (Mac)]

  • ターミナルからコマンドを打ち込む

詳細オプション

$ ffmpeg -h full

動画ファイルの圧縮codec情報を見る場合

$ ffprobe ファイル名

圧縮する場合

$ ffmpeg -i 入力ファイル名 出力ファイル名

オプションパラメータ

  • -f 圧縮ファイルコンテナ形式 (mp4, mov, aviなど)
  • -vcodec コーデック形式(h264, libx264など)
  • -vb ビットレート (一般的に数値が高い方が高精細だが、ファイルサイズ大)
  • -s 解像度 (1280x760などで指定)

具体例

$ ffmpeg -i locomo-03_81sec.mov -f mp4 -vcodec libx264 -vb 512k -s 1280x760 locomo-03_81sec_2.mp4


動画から画像切り出し方法

$ ffmpeg -i 入力動画名 -f image2 %06d.jpg

オプション情報

  • -ss 100: 抜き出し開始秒
  • -t 150:抜き出し終了秒
  • -r 24:抜き出しフレームレート

連番画像から動画生成方法

$ ffmpeg -r 30 -i image_%03d.png -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4

オプションパラメータ

  • -vcodec libx264:コーデック
  • -pix_fmt yuv420p: フォーマット
  • -vf reverse:逆に読み込むかどうか

//参考リンク http://dyama.org/ffmpeg/

Rawpy cheat sheet

import library

import rawpy

load raw file

raw = rawpy.imread("sample.raw")

check image format

print(raw.sizes)

check white balance

print(np.array(raw.camera_whitebalance))

check color matrix

print(raw.color_matrix)

raw data, width, height

raw.sizes.raw_height``raw.sizes.raw_width raw.raw_image

all post process

img_result = raw.postprocess()

numpy array conversion

raw_array = np.array(raw.raw_image).reshape((h, w)).astype('float')

save raw image data

import imageio
outimg = img_gamma.copy().reshape((h // 2, w //2, 3))
outimg[outimg < 0] = 0
outimg = outimg * 255
imageio.imwrite("sample.png", outimg.astype('uint8'))

--

reference

Pandas related error

TypeError: data type "datetime" not understood kaggleのコードを試そうとしたら、pandasのdatetime項目が読めない。 要は0.20以上でないとサポートしてないということらしい。

$ sudo pip install --upgrade pandas --user アップグレードしようとしたら、以下のエラー widgetsnbextension 3.0.8 has requirement notebook>=4.4.1, but you'll have notebook 4.2.0 which is incompatible. よってノートブックもアップグレード $ sudo pip install --upgrade notebook --user

keras1.0系と2.0系の違い

backendに何を使うかTheanoかTensorflowかkeras.jsoで指定する必要がありますが、 1系の"image_dim_ordering"が、2系では"image_data_format" に相当するようです。

というかchannel_firstか、channel_lastか、表記の順列の違いって、 theanoか、tensorflowかの違いだったんですね。

Keras2.0 -> Keras 1.0

ちょっとしたメモ。環境はMac, Anaconda2, Python2.7 keras2.0のアンインストール $ sudo pip uninstall keras

kerasの再インストール(バージョン指定, 1.2) $ sudo pip install keras==1.2

//---- ついでにtheanoのインストール $sudo pip install theano