JKCommentGetterを使えば、ニコニコ実況のコメントを簡単に取得できる。これをLinuxで使ってみる。

JKCommentGetterの導入

ソースを取得する

git clone https://github.com/ACUVE/JKCommentGetter.git

実行してみる

$ cd JKCommentGetter
$ ruby JKCommentGetter.rb
JKCommentGetter.rb.orig:82: invalid multibyte char (US-ASCII)
JKCommentGetter.rb.orig:81: syntax error, unexpected $end, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END

エラーが出て動かない

文字コードを指定すると動く

$ ruby -Ku JKCommentGetter.rb
** 引数が足りません **

Usage: ruby JKCommentGetter.rb チャンネル 取得時間範囲のはじめ 取得時間範囲のおわり [option...]
Options:
  -m sec  --margin sec                取得時間範囲の前後を指定秒だけ広げます
  -s sec  --start-margin sec          取得時間範囲のはじめを指定秒だけ早くします
  -e sec  --end-margin sec            取得時間範囲のおわりを指定秒だけ遅くします
  -f [filename]  --file [filename]    出力するファイル名を指定します
  -x  --xml                           出力フォーマットをXMLにします
  -j  --jkl                           出力フォーマットをJikkyoRec互換っぽくします
  -t  --time-header                   NicoJKフォーマットの一番初めに時刻ヘッダを追加します
  -o comment  --comment commment      ファイルの頭の辺りに指定したコメントを追加します
  -b path  --base-path path           ファイル出力のフォルダを指定します
  -d  --directory                     チャンネルと同じ名前のフォルダの中にファイルを出力します
  -c  --check-file                    取得時間範囲がよく似たファイルが存在する場合ダウンロードしなくなります
  -a sec  --check-range sec           よく似たファイルと判定する時間範囲を設定します
  -r num  --retry num                 取得エラーが発生した際に再取得へ行く回数
  -i cookie  --cookie cookie          Cookieとして利用する文字列を与えます
  -p  --perfect                       完全なコメントが取得できたと保証できない時にエラーで落ちるようにします
  -w  --working-directory             カレントディレクトリをスクリプトがあるフォルダにします
  -h  --help                          このヘルプを表示し終了します

    詳細は README.md をご覧ください

スクリプトを直接実行するにはJKCommentGetter.rbとJKComment.rbの先頭に次の二行を追加する。

#! ruby -EUTF-8
# -*- mode:ruby; coding:utf-8 -*-
$ vi JKComment.rb
$ vi JKCommentGetter.rb #追記
$ chmod +x JKComment.rb JKCommentGetter.rb
$ ./JKCommentGetter.rb

そのままではログインにCookieが必要なので、自動取得できるようにする。JKCommentGetter.rbのgetCookieを書き換えてcurlでCookieを取得させる。

diff

emailとpasswordはそれぞれ書き換える。

次のように使う

$ ruby -Ku JKCommentGetter.rb jk1 `date -d "4:00" +%s` 30m -x -f output.xml

この場合、NHK総合の4時から30分後までのログをXML形式でoutput.xmlに保存される。日付はUNIX時間かYYYYMMDDhhmmss形式で指定する。終わりの時間は経過時間を数字にs,m,h,dなどの単位をつけても指定できる。詳しい使い方は配布元に書いてある。

簡易スクリプト

対話形式でチャンネルと時間を指定するシェルスクリプトを書いてみた。

$ sh jkget.sh -x -f /path/to/output.xml
jk1   NHK 総合    jk101  NHKBS-1            jk231  放送大学
jk2   Eテレ       jk103  NHK BSプレミアム   jk234  BSグリーンチャンネル
jk4   日本テレビ  jk141  BS 日テレ          jk236  BSアニマックス
jk5   テレビ朝日  jk151  BS 朝日            jk238  FOX bs 238
jk6   TBS テレビ  jk161  BS-TBS             jk241  BSスカパー!
jk7   テレビ東京  jk171  BSジャパン         jk242  J Sports 1
jk8   フジテレビ  jk181  BSフジ             jk243  J Sports 2
jk9   TOKYO MX    jk191  WOWOWプライム      jk244  J Sports 3
jk10  テレ玉      jk192  WOWOWライブ        jk245  J Sports 4
jk11  tvk         jk193  WOWOWシネマ        jk251  BS釣りビジョン
jk12  チバテレビ  jk200  スターチャンネル1  jk252  IMAGICA BS
                  jk201  スターチャンネル2  jk255  BS日本映画専門チャンネル
                  jk202  スターチャンネル3  jk256  ディズニー・チャンネル
                  jk211  BSイレブン         jk258  Dlife
                  jk222  TwellV             jk910  SOLiVE24
Channel>1
jk1
Date>4:00
2015年  2月 22日 日曜日 04:00:00 JST
Length(min)>30
/path/to/JKCommentGetter.rb jk1 1424545200 30 -x -f /path/to/output.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    57    0     0  100    57      0     49  0:00:01  0:00:01 --:--:--    51
log: jk1 を 2015-02-22 04:00:00 +0900 から 2015-02-22 04:30:00 +0900まで取得します
log: スレッド1424545201から読み込み開始: start_time=2015-02-22 04:00:01 +0900, end_time=2015-02-22 16:20:03 +0900
log: スレッド1424545201から629コメント読み込んだ: 2015-02-22 04:00:09 +0900
log: スレッド1424545201から読み取り完了: size=629
log: スレッド1424458801から読み込み開始: start_time=2015-02-21 04:00:01 +0900, end_time=2015-02-22 04:00:15 +0900
log: スレッド1424458801から1000コメント読み込んだ: 2015-02-22 01:06:28 +0900
log: スレッド1424458801から読み取り完了: size=6
log: /path/to/output.xml へ出力します
OFFSET: 0

OFFSETには開始時間を再生時間0秒に合わせるための秒数が表示される。こめたんぷれいやのシフトなどに指定する。

ソース

再生ソフト(Windows)

Linuxのソフトは不明。Androidにはエンコードが必要だがNicoLがある。

TVTestTvTPlayプラグインとNicoJKプラグインを利用する。
導入に手間はかかるがTSファイルの時間に合わせてログが再生される。この場合はrecpt1などにsidオプションを指定するとTOTが削られ使用できなくなる。TSファイル専用。
こめたんぷれいや
コメント設定でシフトを設定する必要はあるが、TSファイル以外の動画にも対応する。TSファイルの再生にはLavFiltersが必要。

2月 22nd, 2015

Posted In: ソフトウェア

タグ: , , , ,

Leave a Comment

Qtを使い始めたのでインストール手順をまとめる。QtにはQt CreatorというIDEが含まれているので他に何も用意しなくても開発が始められる。

Qt Projectのサイトのダウンロードページから"Qt Online Installer for Windows"をダウンロード
install_qt5.1_01

ダウンロードしたファイルを実行
install_qt5.1_02

Nextをクリックして少し待つ
install_qt5.1_03

インストール先とQt Creatorの関連付けを指定する
install_qt5.1_04

インストールするパッケージの選択
Qt Creatorのチェックは外せない
install_qt5.1_05
Qt Maintenance Toolを使って後からパッケージを追加することもできる

変更しなくてもWindowsアプリは開発できるが、Androidアプリの開発をする場合はチェックしておく
install_qt5.1_06

ライセンスに同意する
install_qt5.1_07

スタートメニューのフォルダ名
install_qt5.1_08
そのままで問題ない

Installをクリックしてインストール開始
install_qt5.1_09

UACが出るので許可
install_qt5.1_10

しばらく待つ
install_qt5.1_11

インストール完了
install_qt5.1_12

11月 4th, 2013

Posted In: ソフトウェア, プログラミング

タグ: , , ,

Leave a Comment

3月に、仕事に就けたのを機会にP-07AからELUGA X(P-02E)に機種変更した。

P-02E

LTE+クアッドコアを条件に考えていたら、ハードキーや片手操作が好みだったのでこの機種にした。前の機種を選んだ理由もプッシュオープンやWオープンだったり外面の機能で選ぶ傾向がある。結果、P505i→P902is→P906i→P-07AとPanasonicの端末しか使ったことがない。全く期待していなかっただけに、スマートフォンまでPanasonicを選ぶとは思わなかった。

不具合はディスプレイに縦縞が出てフリーズするのとカメラの起動失敗があったが、どちらもアップデートで修正されて現在は快適。USBホストや有線での外部ディスプレイは使えないが、あまり使わない機能なので問題ない(USBホストは置くだけ充電と相性がよさそうだが)。標準のフィットホームもフィットキーも悪くない。ドロワーはその場で表示されて最低限の機能しか持たないので使いやすい(カテゴリ整理のランチャーを使ったら面倒になった)。

HTC J butterflyを借りてみたら、USBカバーが開けにくかったり、通知領域にトグルがなかったり、ELUGA Xの方が使いやすいように感じた。TPUケースをつけたら持ちにくい上に、端が押せなくて全面に細かい傷がついたので使うのをやめた。クリップ付きの紐ストラップをつけたので、落下はまだない。

他人のを設定した経験から、特に迷うことなく使えて小型PCとしか思ってなかったので、PC同様に環境構築して満足してしまった。

dビデオを契約させられたので、3月末にdtabも注文した。

入社2ヶ月で、転職がすでに決まってる。何が起こるかわからない。

5月 12th, 2013

Posted In: ハードウェア, 雑記

タグ: , , ,

Leave a Comment