Android tablet N80RK

Vido N80RK

買いました。一ヶ月くらい前に。
Android カメラアプリの開発用にしようとしたのですが、
200万画素の背面カメラにはオートフォーカス機能がありませんでした。
OCR とか到底無理じゃないか……orz
しょうが無いので OCR の前処理のテストとか読書用に使っております。

Mac の adb に認識させる

USB で Mac に接続して adb devices を実行してみたら N80RK が認識されていませんでした。
以下のように USB の Vendor ID を調べ、 adb_usb.ini に追記すると認識されるようになりました。 Mac には lsusb コマンドが無いんですね。

$ /usr/sbin/system_profiler SPUSBDataType
                (略)
            N80RK:

              Product ID: 0x0010
              Vendor ID: 0x2207  (Fuzhou Rockchip Electronics Co., Ltd.)
              Version: 2.22
                (略)
$ echo "0x2207" >> ~/.android/adb_usb.ini && adb kill-server

それで、 adb で何をやりたかったというと、
たとえばスクリーンショット。

$ adb shell screencap /sdcard/001.png
$ adb pull /sdcard/001.png ./

…… pull コマンドとかってワイルドカード使えないのが困りますよね。
あるいはページめくりのためにタップするのが面倒臭いので、コマンドで周期的にタップ。

$ for i in {001..317}; do
    adb shell input tap 100 600 && sleep 60
done

うーん、やっぱりちゃんとしたタブレット用スタンド欲しいなあ。


参考

PDFを画像ファイルに

「pdfを画像ファイル」で検索してる方がいるらしいので、PDFファイルから画像を取り出す方法をちょっと調べてみました。主に Mac か Linux 環境向けです。Windows の場合は……「かんたんPDFダイエット」とか使えばいいんじゃないですかね。

Poppler (または Xpdf) を使う

Poppler に “pdftoppm” というコマンドがありますのでそれを使います。

pdftoppm hoge.pdf output

と実行すると、hoge.pdf をファイル名の先頭に output をつけた画像ファイルに出力します。
主に以下のようなオプションがあります。

-png, -jpeg  :PNG, JPEGファイルを生成
-gray    :グレースケールのPGMファイルを生成
-r 数字    :解像度 (DPI) を指定
-o      :奇数ページのみ
-e      :偶数ページのみ

-png, -jpeg, -tiff, -gray などのオプションが無いと PPM ファイルを生成するはず。その場合は ImageMagick の mogrify で変換しましょう。

mogrify -format png output*.ppm

以下、ヘルプのコピペです。

% pdftoppm --help
pdftoppm version 0.22.0
Copyright 2005-2012 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Usage: pdftoppm [options] [PDF-file [PPM-file-prefix]]
  -f <int>                 : first page to print
  -l <int>                 : last page to print
  -o                       : print only odd pages
  -e                       : print only even pages
  -singlefile              : write only the first page and do not add digits
  -r <fp>                  : resolution, in DPI (default is 150)
  -rx <fp>                 : X resolution, in DPI (default is 150)
  -ry <fp>                 : Y resolution, in DPI (default is 150)
  -scale-to <int>          : scales each page to fit within scale-to*scale-to pixel box
  -scale-to-x <int>        : scales each page horizontally to fit in scale-to-x pixels
  -scale-to-y <int>        : scales each page vertically to fit in scale-to-y pixels
  -x <int>                 : x-coordinate of the crop area top left corner
  -y <int>                 : y-coordinate of the crop area top left corner
  -W <int>                 : width of crop area in pixels (default is 0)
  -H <int>                 : height of crop area in pixels (default is 0)
  -sz <int>                : size of crop square in pixels (sets W and H)
  -cropbox                 : use the crop box rather than media box
  -mono                    : generate a monochrome PBM file
  -gray                    : generate a grayscale PGM file
  -png                     : generate a PNG file
  -jpeg                    : generate a JPEG file
  -tiff                    : generate a TIFF file
  -tiffcompression <string>: set TIFF compression: none, packbits, jpeg, lzw, deflate
  -freetype <string>       : enable FreeType font rasterizer: yes, no
  -aa <string>             : enable font anti-aliasing: yes, no
  -aaVector <string>       : enable vector anti-aliasing: yes, no
  -opw <string>            : owner password (for encrypted files)
  -upw <string>            : user password (for encrypted files)
  -q                       : don't print any messages or errors
  -v                       : print copyright and version info
  -h                       : print usage information
  -help                    : print usage information
  --help                   : print usage information
  -?                       : print usage information

Automator を使う (Mac OS X 限定)

Mac OS X の自動化ツール Automator に PDF 関連のアクションが結構あります。
「PDF ページをイメージとしてレンダリング」というアクションが今回の目的にあいそうです。
「奇数ページと偶数ページを抽出」というアクションもありますね。

スクリーンショット 2013-02-07 4.58.09

rtmpdumpでNHK-FMを録音する

PC(というかMac)でNHK-FMを録音できないかと頼まれたのでやってみました。

必要なもの

  • rtmpdump

ストリーミングを保存するコマンド。ソースからビルド(後述)。

  • ffmpeg

保存したflvファイルを変換するコマンド。Homebrewでインストール。

rtmpdump のビルド

Homebrew で手に入る version 2.3 だと失敗するらしいのでソースからビルド。

git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
make SYS=darwin
sudo make install SYS=darwin

make install のときも SYS=darwin が要るんですな。

録音スクリプト

以下のようなスクリプト (nhkfmrec.sh) を作りました。
引数なしで実行するとその時点から2時間+2分の録音が始まります。
第一引数で録音時間を分で指定することができます。念のため内部で2分追加してますが。
RTMPDUMP, FFMPEG, SAVEDIRは環境に応じて変更してください。

#!/bin/sh
XDATE=`date -v+1M +"%Y-%m%d-%H%M"`
STOPMINS=${1:-120}
STOPSECS=`expr ${STOPMINS} \* 60 + 120`
RTMPDUMP=/usr/local/bin/rtmpdump
FFMPEG=/usr/local/bin/ffmpeg
AFCONVERT=/usr/bin/afconvert
SAVEDIR=/Users/hoge
FLVFILE=${SAVEDIR}/NHK-FM_${XDATE}.flv
AACFILE=${FLVFILE%.flv}.aac
${RTMPDUMP} --rtmp "rtmpe://netradio-fm-flash.nhk.jp" \
    --playpath 'NetRadio_FM_flash@63343' \
    --app "live" \
    -W http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf \
    --live \
    -B $STOPSECS \
    -o ${FLVFILE}
${FFMPEG} -i ${FLVFILE} -vn -acodec copy ${AACFILE}
if [ $? != 0 ]; then
    ${FFMPEG} -i ${FLVFILE} ${AACFILE}
fi
${AFCONVERT} -f m4af -d aach -b 48000 ${AACFILE}
#rm ${FLVFILE} ${AACFILE}
exit 0

rtmpdumpコマンドで録音したファイルを flv → aac → m4a と変換してます。
--rtmp--playpath の値を変えればNHK第一や第二も録音できるはずです。

タイマー録音

Mac は完全に launchd に移行してるのかと思ったら cron も動いてるので cron で予約録音しました。launchdのためにXML書くの面倒臭いです。
crontab -e を実行して以下のように入力します。ZZコマンドで保存して終了。

59 20 * * 0 /path/to/nhkfmrec.sh 120

この設定だと「毎週日曜日20時59分に /path/to/nhkfmrec.sh 120 を実行」という意味になります。

参考

暖かくなりました 2009

ので散髪致しました。もう羽虫が発生してますね。そういえば燕も翡翠も活躍中。職場は機械が多いので暖かいを通り越して暑いです。まあ、暖房も碌にしてませんでしたから。

 ところで Miro.app というアプリケーションが頻繁にフリーズしてしまいます。eucjpがどうとか。言語環境を “English” に変更するとまともに動くようになります。前バージョンまでこんなことなかったような気がするんですが。

参考:After upgraded, Miro is crashing every time i start it.

週末なのでアップデートとか

§ Macports

またも、いつの間にやら Macports が Ver.1.7.1 にバージョンアップしておりました。只今アップデート中です。やっぱり Qt4-Mac のビルドが時間かかりますねえ。

§ LUMIX DMC-LX3

 桜を撮りに出かけたいのですが、生憎の雨。まだ散らないでー。

§ PIXUS MP980

 昔に溜め込んでいた新聞のスクラップをスキャンしてさっぱりしたいと思います。PIXUS MP980(複合機)買いましたし!

Macports を 1.7 にしてみました

昨年にリリースされていたみたいですね。

で、何故かまた mimms のアップグレードでエラー発生。環境変数QMAKESPECが設定されていないとか何とか。

しょうがないので mimms が依存している qt4-mac パッケージからインストールしなおしました。mimms自体は小さいのにqt4-macが巨大なので、インストールに何時間もかかるんですよねー。


% sudo port uninstall qt4-mac
% sudo port install mimms +qt4_mac

運良く(?)これでちゃんとインストールできました。原因がよく分かりませんねえ。

Windows 7 Beta インストール

OS インストールマニア(?)の血が久々に騒いだので仮想環境にインストールしてみました。

先ずは Microsoft から Windows 7 Beta の ISO ファイルをダウンロード。吾は 64-bit 版を選択しました。ダウンロードには Windows Live ID が必要だそうです。プロダクトキーが発行されるのでメモしておきましょう。

次に仮想環境の準備。今回は Sun の VirtualBox を使いました。メモリーを 512 MB のまんまにしてしまった……orz

HDDを新規に作成し、ダウンロードした ISO ファイルを指定して仮想マシンを起動。

見た目……まるっきり Vista でしたねえ。えーと、インストールは場所を指定するだけでした。

終了後、再起動するとユーザーの作成とプロダクトキーの入力を求められました。

使用感ですが……メモリーを少なく設定してしまったからか、それとも VirtualBox だからなのか、やや遅いです。

外付けHDDが壊れたー!

姉さん、事件です。iMac に繫いで Time Machine でバックアップ中に暴走した外付けHDD (Maxtor OneTouch III) が認識されなくなってしまいました。電源落とす方が稀だったからなあ……。バックアップは兎も角(大事ですが)、外付けHDDにしか保存していないファイル(Webラジオの録音したのとか)にアクセスできないのが痛手です。ドライブ本体ではなく、ケースのチップがいかれたのだと祈って、ケースだけ買い換えようと思います。ドライブ本体が壊れてしまったのなら……内蔵HDDを追加で買って入れ込みましょう。

  iMac の Firewire (IEEE1394a) ポートが空いているので Firewire 接続できるケースがいいのですが、USB のものより 5000 円くらい高くなるようです。うーん。しかし iMac の USB ポートに余裕はないし……。

新しい MacBook が発表されました

リーク通り、アルミの削り出しボディです。このところの Apple は秘密主義じゃなくなったの?
といいますか、遂に MacBook から Firewire が撤去されました。うーん。

今回、購入はスルーの方向で。 FMV-LOOX R 買ったばっかりですから。 “MacBook” という名前じゃなくなったら買いましょうか。