モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

RtmpClient for Windows Runtime を公開しました

 どうもー! とうとう公開… というか今日に間に合わせたかった理由は明日から大学が始まりますし、何より風のタクト HD が発売されるからです! はい、まあ失踪する前に公開しておきたかった、ってのがあります。大学が始まるとそもそもデバッグする時間がかなり減るので (そもそもこのデバッグ環境は構築するのに encoder、server、A/V source など複数のものを用意しそのうえで正しく接続できる環境下にある必要があります)、更新頻度もたぶん下がりますね…

概要

  1. とうとう完成した… ここまでたどり着くのが長かった
  2. 使い方みたいな
  3. 今後の展望

1. とうとう完成した… ここまでたどり着くのが長かった

 およそ 6 か月間 (といってもほかのことに取り組んでいた時期もありますが)、この RtmpClient 開発にかかわってきました。最初 Windows 8 では Media Extension 系は vanilla C++ じゃないと実装できなく、もともと「ニコ生アプリ作ろう」って意気込んでいたので、URL パラメーターとして渡せば細かい問題も解決するだろうという、ニコ生だけを視野に入れていたものでした。しかし、うまく再生されずお手上げ状態。

 ここで、Windows 8.1 Preview が登場した。私は朝起きてすぐそれをぶちこみ、今日まで使っている。ある日、MSDN で見つけた、「MediaStreamSource だと!?」 もしかしたら、これでうまくいくかもしれない、という希望の光の筋が見え、もともとは vanilla C++ 実装を WinRT 仕様に変えていった。そして、音声が流れた。うれしかった。もちろん、そのあと映像も流れたが、映像と音声がきちんと同期された状態にはならなかった。

 RTM までこのまま待つべきなのか? 自分に問いかけ、「それじゃあ夏休みがもったいない…」ということで、WinRT としてふさわしい形のリファクタリングや、ActionScript の NetConnection や NetStream を模倣した形にしていきたいということをめざし実装を開始。とうとうそれが今日、一つの形として完成したのである。

 本命はこれから。これから如何にこのライブラリーの完成度を高められるかが勝負だと思う。

2. 使い方みたいな

 さて、一気にライトウェイトな言葉を使って使い方を紹介したいと思います! ↑は語り口調をイメージしながら書いてたのですが、ここからはらららコッペパン BGM が流れている体でお願いします~。

2.1. ライブ配信だけでいいよ。

 SimpleVideoClient というものがありますので、こちらを利用してください。これは NetConnection、NetStream をラッピングしてさらに簡単に使えるようにしたものです。デモアプリはこれを使って実行する形になっています。

2.2. リアルタイム通信をしたい。

 NetConnection や NetStream を扱ってください。比較的いろいろなことができるようにこちらの実装も順次していきたいと思います。まだ終了トランザクションや、ストリーム削除トランザクションのほうが完成していません。悪しからず。

3. 今後の展望

 とりあえず、RTM 出るまでは風タク HD と大学の体慣らしということでプログラミングはしばらくおやすみ。夏休みずっとコード書き続けたので疲れました。まあ、今からが俺の夏休みかもなw

総括

 なんとか公開できてよかった! しかしまだまだ実装すべきことはたくさんある。頑張っていきたいですね。おわり。

Mntone/RtmpClient
https://github.com/mntone/RtmpClient