水曜日, 6月 26, 2013

OpenLDAPのBerkeley DBファイルを特定の日時の状態に戻す

古いDebianで運用されているOpenLDAPのBerkeley DBに不整合が発生した。
念のためデータベースのディレクトリをコピーし、原因となる操作が行われる前の状態に戻した。

# cd /var/lib
#
# /etc/init.d/slapd stop
#
# cp -R -P ldap ldap.20130613
#
# db4.2_recover -c -v -t 06131100 -h ldap
#
# /etc/init.d/slapd start
#

水曜日, 5月 15, 2013

ffmpegでwmvファイルをmp4に変換 on Linux

$ ffmpeg -i hoge.wmv -b 968k hoge.mp4

このようにコマンドを実行する。

-i: 入力ファイルパス
-b: ビットレート(指定しない場合200k)

変換前の動画のビットレートが200kbpsを超えている場合、それを適切に指定しないと画像が粗くなってしまう。必要以上に大きい値を指定するとファイルサイズが無駄に大きくなってしまう。

ffmpegで動画ファイルからサムネイル画像作成 on Linux

$ ffmpeg -y -i hoge.wmv -f image2 -ss 2 -vframes 1 -s 320x240 hoge.jpg

このようにコマンドを実行する。

-y: 出力先ファイルを上書きする
-i: 入力ファイルパス
-f: 出力フォーマット
-ss: 開始位置(秒)
-vframes: 出力ビデオフレーム数
-s: 表示サイズ(横x縦)

縦横比はもとの動画と同じにしないと画像が歪む。

金曜日, 1月 18, 2013

メールのMIMEマルチパートの文字列をバイナリファイルに変換

メールの添付ファイル部分、例えば

--DC_BOUND_PRE_<1358488463.00267343d988> Content-Type: application/pdf; name="201301181454.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="201301181454.pdf"

こんな行から

--DC_BOUND_PRE_<1358488463.00267343d988>--

こんな行までを仮にhoge.txtとして保存する。
WindowsならCygwinのコンソールで

perl -MMIME::Base64 -ne 'print decode_base64($_)' < hoge.txt > 201301181454.pdf

を実行する。