またしばらく書いてなかった。日記書くにも意外と時間かかるんでな。
年末はコミケ行ったり飲み会あったりで忙しかった。 年始は4日朝まで帰省してだらだらしてた程度。ずっと膝にネコが居た。
コミケとか行くと俺もなんか本作りたいなーと思うんだが、どうせすぐ飽きるだろうしコミケに出す程の物も作れないだろうしやめといたんだが、毎度やってるPeerCastのオンラインイベントに出すんだったら良いかと思ったので作ることにした。PDFだけど。
イベントが3月18~20日なんだが、4月9日に技術書典2があってサークル募集してるってのに気付いた。どうせ書くんだし期日近いし、受かったらついでに印刷するって感じで申し込んでみるかー。 7日中に申し込み完了だったので急いで内容決めて申し込んでみたけど受かるかな?まあ受かんなくても書かなきゃいけないんだが。
作業は地味に進めていて、FLVからMPEG-2 TSへの変換はできた気がする。H.264とAACだけだけど、それ以外のFLVを使うことはほぼ無いので問題はない。
AACの詰め替えにちょっと苦労してたんだけど、FLVには生データで入ってくるAACのパケットに、MPEG-2 TSではADTSヘッダてのを前にくっつけて入れてやるだけで行けるようだ。まあそのADTSヘッダのフォーマットが分からなくてMPEG-2の仕様書見にまた図書館行ってコピってきたりしてたんだが。
FLVを受け取ってMPEG-2 TSに詰め直して吐き出すだけのプロキシサーバ的なのを作ってPeerCastStationから出力したFLVを食わせてみたんだけど、VLCでもWindows 10のWMPでも問題無く視聴できた。よしよし。
今は試しにRubyで作ってたんで、あとはこれをC#に移植してPeerCastStationに取り込めば一応は完成となる。コンテナ変換の仕組みは今無いのでその口を作るところから検討しないといけないんだがな。
MPEG-2 TSで出力できただけでは実際そんなに嬉しくもないので1、最終的にはセグメント毎に区切ってHTTP Live StreamingやMPEG-DASHで吐き出せるようにもしたい。そのあたりの仕様も調べないといけないが、これらは無料で仕様書が見れたはずなんで、少なくとも資料収集で困らないのは助かる。
Windows 10なら(8.1もいけるかも?)Windows Media Playerで視聴できるって利点はあるものの、インターネットキャッシュフォルダに延々とファイル溜め込むのであんまり便利ではない。 ↩