rtmpdump-2.4 for zaurus

久しぶりの更新です。

kanon さんのコメントで知ったのですが、NHK のネットラジオ「らじる★らじる」が始まったようですね。

軽くぐぐってみると、既に Linux PCで聞く方法は確立されているようですが、radiko player に同梱している rtmpdump (v2.3) より新しいバージョンの rtmpdump (v2.4)が必要らしいです。

某大型掲示板でも話題になっていたので、試しに rtmpdump-2.4 をビルドしてみました。

アプリまで仕上げるには少し時間がかかるので rtmpdump コマンドだけ公開します。radiko playerという名前ももう当てはまらないし (^^;

rtmpdump-2.4 + mplayer (radikoplayer同梱のもの) でらじるが聞けることを確認しました。

最新の git リポジトリに対するパッチも同梱してあります。 

先に試したい方はどうぞ〜。

ワンセグ野郎の夢敗れたり・・・

ちょっと間が空いてしまいましたが、前回注文したワンセグチューナー届きました!

早速空けてみると・・・・。

チューナー届いた・・・けど? 
チューナー届いた・・・けど?

あれ?ちょっとリモコンの見た目が違う。

もしかして・・・・・。PCに挿して lsusb を打ってみると・・・。 

$ lsusb -s 1:4
Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp.
がぼーん!sianoじゃない!!!
蟹チップじゃねーか! 
皆さん注意してくださいね!(もう遅いか・・・?)

ちょっと冷静になって、違いを見てみる。

左: RTL2382  右: siano 
左: RTL2382(使用不可)  右: siano(使用可)

明らかにリモコンが違う。 

写真は撮り忘れたけど、CDのレーベル面も違っていて、RTL2832は赤と白で、sianoは水色と白でした。

あと細かいところでは、中の基板の色が違うらしい。

上: RTL2382  下: siano 
上: RTL2382  下: siano

緑がsianoで、オレンジが蟹チップ。これで混ざっても見分けられる。

 

RTL2382 を調べてみると、一応、DVB-Tという、ヨーロッパなどで使われているワンセグ規格用なら、RTL2382のLinuxドライバはあるらしいけど・・・。改造すれば使えるのかなぁ・・・。

ダメ元でハックしてみるか・・・。 

 

どうすんのよ、これ 

どうすんだよ、こんなに買っちゃったのに・・・。(泣) 

siano製チューナーでLinuxワンセグ野郎!!

ーーーーーーー7/20追記 ーーーーーーー

注意!このエントリ内にあるワンセグチューナーは現在ではモデルチェンジしているらしく、中身はsiano製ではなくなってしまいました!

RTL社製のいわゆる蟹チップで、Linux はもちろん、Windows環境でもワンセグ野郎は実現できません!!!

ーーーーーーー7/20追記 ーーーーーーー

さて、LOG-J200 で一通りワンセグ録画から mp4 変換までできるようになりました。

で、なぜ今更古いチューナー使ってワンセグ録画なのかというと、Linux限定ながら、最近新たにワンセグ録画できるチューナが見つかったそうなのです!! そのチューナが届くまでの予行練習というわけです。

動作報告があったチューナーは siano社というチップメーカを使用した CVOC-E121 という製品です。

CVOC-E121 (LinuxTV Wikiより)
CVOC-E121 (LinuxTV Wikiより)

これ用の Linux ドライバが公開されています。元々はブラジル向けのワンセグドライバだったようですが、日本でもそのまま使えるそうです。まとめサイトまで作られています。

この CVOC-E121 は早くも入手困難ですが、同じチップを使った別の製品を見つけた方がいます!
それがこれ!


ISDB-T Digital TV Receiver USB Dongle with IR Remote Controller + Antenna

DealExtreameという海外の通販サイトで送料無料で購入できます。しかも格安の$17.76でした。

とりあえず使えるか分からないので 1 つだけ買ってみました。

届いたやつがこれ

届きました
ワンセグチューナー届きました

ブログに書こうと思い、型番やメーカーを探したんですが、わかりませんでした・・・。中国製のDigital TV-Stick ということしかわかりません。

とりあえず動作確認しようとWindowsにドライバとアプリをインストールしたんですが・・・・シリアルキーがありません(え?)

CDのケースに貼られていると書かれているんですが、そんなものありませんでした。

シリアルキーは・・・・?
シリアルキーは・・・・?

私が買ったやつがたまたまそうだっただけかもしれないですが、Windowsで使用することを考えて買う場合はお気を付け下さい。たまたま Linux 用に買ったんで助かりましたが・・・。

動作確認もできないまま不安な気持ちで Linux でまとめサイトを参考にドライバをビルドしてみたところ・・・・・

使えましたー!!

迷わずチャンネル数分買ってしまいました。これで夢の24時間ワンセグ野郎が実現できるかも!!

ーーーーーーー7/20追記 ーーーーーーー

現在ではモデルチェンジしているらしく、中身はsiano製ではなくなってしまいました!

RTL社製のいわゆる蟹チップで、Linux はもちろん、Windows環境でもワンセグ野郎は実現できません!!!

ーーーーーーー7/20追記 ーーーーーーー 

 

・・・と買ってから思ったんですが、もしかしたらこっちでも使えるかもしれません。


USB DVB-T TV Dongle with Remote

これは1つで$12.75。付属品が全く同じに見えるのと、LED、リモコン受光部の位置も全く同じなのでOEMで中身的には同じかなと・・・・。保証はできないですが。

ーーーーーーー7/20追記 ーーーーーーー

こちらもすくなくとも今買えるのはRTL社製のチップらしいです。ご注意を!!

ーーーーーーー7/20追記 ーーーーーーー 

これが使えると、ワンセグ野郎用に8ch分揃えてバルクレート適用すれば$100に収まりますね。

1個くらい買って試したいですが、既にこっちを8ch分(約$130)注文してしまったのでちょっとお金が・・・。

届くのが楽しみです。

Linuxでワンセグ録画 その4 (TSストリームをMP4ファイルに変換)

前回の続きです。今回はTSストリームから .mp4 へ変換します。

変換するには、TSConverterを使います。TSConverter は元々 Windows のコマンドプロンプト用のソフトですが、Rubber Duckie さんのところで UNIX 系で動かすためのパッチを公開しています。

パッチはここからダウンロードできます。Rubber Duckieさんの2009/5/252009/9/22010/3/4のブログを参考にパッチを当てていきます。

また、Linux では一部ビルドできない部分があったので、簡単なパッチ(TSConverter-linux.patch)を作りました。Rubber Duckieさんの2010/3/4で書かれているバグ修正も入っています。

あと、DtsEdit, MP4Box のフルパスを指定していて、環境変数で変えられるようになっているのですが、勝手に $PATH から探してもらった方が楽なので、フルパス指定を無くしてます。

$ cd ~/project/oneseg/file
$ wget http://theremin.hostoi.com/file/TSConverter_9_01.zip
$ wget http://rduck.web.fc2.com/TSConverter_4_26_patch.tar.bz2
$ wget https://petit-noise.net/system/files/TSConverter-linux.patch
$ cd ..
$ unzip file/TSConverter_9_01.zip
$ cd TSConverter
$ unzip Source.zip
$ tar xf ../file/TSConverter_4_26_patch.tar.bz2
$ cd Source
$ nkf -e -Lu TSConverter.cpp > TSConverter.c
$ mv TSConverter.h TSConverter.h.dos
$ nkf -Lu TSConverter.h.dos > TSConverter.h
$ patch -p1 < ../TSConverter090426.patch
$ patch -p0 < ../../file/TSConverter-linux.patch
$ gcc -o TSConverter TSConverter.c
$ cp TSConverter ~/project/oneseg/bin

 

これで TSConverter はビルドできるのですが、TSConverter は内部で DtsEdit と MP4Box というコマンドを使っていますので、これらもビルドする必要があります。

mp4box は gpac というプロジェクトの一部?らしく、以下でダウンロードできます。

  • http://gpac.wp.institut-telecom.fr/

ただ、ソースのtarballが無いみたいなので、svn checkout して取り出します。

$ cd ~/project/oneseg/
$ svn co https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac

私が checkout したときは r3247 でした。

そのままビルドすると、mp4box コマンドが libgpac.so を必要とするので、単体で実行可能なように libgpac をリンクするように configure します。

$ cd gpac
$ ./configure --static-mp4box
$ make -j5
$ cp bin/gcc/MP4Box ~/project/oneseg/bin

最後のコマンドでバイナリを ~/project/oneseg/bin にコピーしてます。

 

最後は DtsEdit です。

DtsEdit は TSConverter 同様、元々 Windows 用だったのですが、TSConverter同様 Rubber Duckie さんとこで UNIX 系への移植が行われています。

DtsEdit の開発者のサイトはすでに無くなっており、ソースコードを探し回ったところ、sourceforge プロジェクトのrec10の中に取り込まれている事が分かりました。(探すのに苦労しました・・・)

ただし、リリースされている tarball には DtsEdit が含まれていないので、こちらも svn リポジトリから直接 checkout します。

$ cd ~/project/oneseg/
$ svn checkout http://svn.sourceforge.jp/svnroot/rec10/tstools/DtsEdit

私が checkout したときは r862 でした。

Rubber Duckieさんによるパッチはここからダウンロードできます。

$ cd ~/project/oneseg/file
$ wget http://rduck.web.fc2.com/DtsEdit_20081009_patch.tar.bz2
$ cd ../DtsEdit
$ mkdir patch
$ cd patch
$ tar xf ../../file/DtsEdit_20081009_patch.tar.bz2
$ cd ..
$ for file in src/{*.cpp,*.h}; do echo $file; nkf -wd $file > $file.tmp; mv $file.tmp $file; done
$ cd src
$ nkf -w ../patch/DtsEdit.patch | patch -p1
$ rm stdint.h

このままビルドすると、libgpac.so が無いと言われてビルドに失敗するので、前でビルドした libgpac_static.a をスタティックリンクしてしまいましょう。

Makefile を以下のように変更します。

DtsEdit: $(OBJS)
#    $(CPP) -o $@ $(OBJS) -lgpac -L/usr/local/lib
    $(CPP) -o $@ $(OBJS) ../../gpac/bin/gcc/libgpac_static.a -lz -L/usr/local/lib

乱暴にパス指定してリンクしてしまいます。gpacのディレクトリは適当に変更してください。

これで DtsEdit がビルドできます。

$ make
$ cp DtsEdit ~/project/oneseg/bin

長かったですが、これでようやく TSConverter が使えるようになります。

色々ビルドしましたが、~/project/oneseg/bin の下は以下のような感じになっていると思います。

$ ls ~/project/oneseg/bin/
DtsEdit  MP4Box  TSConverter  dvbstream  mplayer

ここにパスを通して、以下のようにTSストリームをダウンロードし、mp4ファイルに変換できます。

$ export PATH=~/project/oneseg/bin:$PATH
$ dvbstream -c 0 -f `expr 21 \* 6000 + 395143` 8192 -o > test.ts
-----省略------
^CCaught signal 2 - closing cleanly.
$
$
$ TSConverter test.ts
AVC-H264 import - frame size 320 x 180 at 14.985 FPS
AVC Import results: 190 samples - Slices: 8 I 182 P 0 B - 190 SEI - 8 IDR
AAC import  - sample rate 24000 - MPEG-4 audio - 2 channels
Saving /home/tomo/project/oneseg/test.mp4: 0.500 secs Interleaving
$

これで test.mp4 が生成されます。あとは適当なプレイヤーで再生するだけです。

試しに zaurus の mplayer (attyさん作) で再生させてみたところ、映像のデコードが間に合わないみたいですね。H264のデコードは zaurus では QVGA サイズでも厳しいようです。

Android携帯のHTC Desire (X06HTII) で再生してみたらちゃんと再生できました。これで通勤中に録画したワンセグを見ることができそうです。

長いくせに興味ない人にはつまらないエントリですいません ^^;

ドメイン失効の危機!!

昨日 6/8 に petit-noise.net ドメインの期限がきてしてしまいました。

私の不注意もあるんですが、ドメイン管理社からの事前メールが届いておらず、いきなり当日にドメイン削除のメールが届いたので慌てて更新したんですが、間に合ったかどうか・・・。

ということで、しばらくすると、このドメインは使えなくなる可能性があります。更新出来ていなかったときのために、念の為、無料のDDNSドメインを取ろうと思います。

サポートに問い合わせたら、まだ更新できているかわからないそうです。 また、期限切れ後の更新はサポート対象外らしくサポートできない、30日くらい経ってドメインが使えていなかったら返金するとの回答でした。30日経たないと結果がわからないって・・・。

また事前メールが4通配信されるはずだったんですが1通も届いていなかったので、ついでに聞いたところ、事前通知メールは送信されていると、定型のコピペ文章が返ってきました。 きっと同様の問い合わせが多いんでしょう。

登録しているメールアドレス(サーバ)を変更すると受信できるかもしれないと書かれていました。じゃぁ、どうやって受信可能なメールアドレスか確認するんだよ、また期限切れまで待つのか?と突っ込みたくなりました。

最後には事前通知メールは補助的なもので自分でも期限を管理してくださいと書かれていました。まぁ、たしかにそうかもしれません。

安いドメイン会社を使っていたので仕方ないのかもしれませんが、ちょっと残念な対応でした。

以前別のドメイン会社を使っていたのですが、当時使っていた別のドメインの期限が切れた(元々削除の予定だった)とき、わざわざ電話で確認してくれて、手厚いサポートに驚いたものです。その分(?)ドメインの値段も高かったですが。

サポート周りのコストを削って安くしてるんでしょうから、仕方ないですね。安い分、もう少し自分がしっかりしなければいけなかったと反省です。