投稿記事

開発日誌の記事 (8)

nzws (ねじわさ) 2018/10/27 20:44

KnzkLive: 「Mastodonに投稿しない」コメントが面倒だった話

KnzkLiveについてはこちらを御覧ください。
https://ci-en.net/creator/2092/article/23720

最初に、KnzkLiveのコメントの仕組みについて

KnzkLiveは、Mastodonのハッシュタグタイムライン「#knzklive_(配信ID)」を取得し、
またコメント投稿も自動的にハッシュタグを付けているだけので、
コメントに見せかけたただの簡易Mastodonクライアントのような仕組みでした。
そのためコメント部分の実装はすぐに終えることができていました。

また、Mastodonのハッシュタグを使用する事で、KnzkLiveにログインできない他インスタンスのアカウントからもコメントする事が可能です。

この仕様による問題

しかし、この仕様だと配信に興味のないフォロワーのHTLを汚してしまうという問題があり、色々なユーザーや神崎に改善できないかというお話を頂いていました。

そもそも、ツイキャスやニコ生など、大体の配信サイトでは独自のコメントシステムで独自のデータベースを構築している為、特に問題なくコメントできます。
KnzkLiveでもそういった実装をすればいいじゃん、と言われてもKnzkLiveは特殊なので単純にそういった仕様にするわけにもいかないのです。

最初にも書いたように、KnzkLiveはKnzkLiveにログインできない他インスタンスのアカウントからもコメントする事ができます。これは、Mastodonのハッシュタグを使用しているからできるものであり、例えば他配信サイトのように完全に分離してしまうとこれが出来なくなってしまいます。

ツイキャスはTwitterに投稿する/しない選べるじゃん

という事も伺った事がありますが、(これはあくまで私の考えですが)ツイキャスのコメントは完全に独自DBから読み込んでいて、投稿時にTwitter投稿を選ぶ事でコメントのついでにTwitterに投稿するといった一方通行の仕様だと思います。
KnzkLiveでは、投稿するだけでなくハッシュタグの投稿を拾っていかないといけない双方向の仕様なのでそう簡単な問題でもありませんでした...

最終的に実装した仕様

最終的に、Mastodonのハッシュタグは使用したまま、Mastodonに投稿したくないコメント用に別で独自コメントシステムを作成し、クライアントが両方の投稿を混ぜ合わせるという最強に意味不明な仕様になりました。
私の謎落書きです。

独自のコメントシステムは、基本的にPHPで処理し、受信のみsocket.ioを使用しています。

まとめ

とまあ、割と大変でしたが、無事実装する事ができました。
しかし、現状の問題としては、PCとAndroidは正常に閲覧できるのに、iOSは時刻処理が上手く行っていないのか、時系列がぐちゃぐちゃになっているので、これも直していきたいです。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/10/08 00:10

開発日誌: KnzkLive

KnzkLiveという、「広告なし, 配信時間無制限の生配信コミュニティ!」がテーマの生放送サービスをベータで公開しました。 https://live.knzk.me/

Knzk(神崎おにいさん)を知らない方はこちらとか見ていただければ
ちなみに私がメインでいるSNSはKnzk.meです

技術自体はデータベース等メインの処理をPHP、配信サーバはNodeJSでNode-Media-Serverというのを改造して使用しています。

それぞれオープンソースで公開しています。
https://github.com/KnzkDev/KnzkLive
https://github.com/KnzkDev/KnzkLive-Publish-Server

10月7日に行った記念配信の様子はこんな感じです。(あいにくSSを撮り忘れて神崎のを借りました)

サーバはメイン処理が自宅サーバ、配信サーバがGCPといった感じに分けていて、どのくらいの負荷が来るのか分からずそれなりにハイスペックなのを作成したものの、実際はそこまで大丈夫でした。(この配信では20~30人ぐらい同時視聴がありました)

なお自宅サーバはあった物を使用して、GCPも無料枠で構築したので実際自宅サーバの電気代程度しかかかりませんでした(が、今後も続けるとなるとGCPをどうしようか)

最初は配信がプツプツしてまともに使えないんじゃないだろうか、とか色々考えてしまいましたが、今回やってみるとかなり快適で、スマホから見ても遅延が~5秒ほどでできていて安心しました。

KnzkLiveは今後も続けるそうなので、沢山頂いた要望を実装してもっと使いやすく、面白く楽しい生配信サービスにしていきたいです。
色々な人に来ていただけてとても楽しかったです!!ありがとうございました!!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/09/28 23:08

開発日誌: Free Thinkers

現在開発中の「Free Thinkers」は、私の友人が企画したもので「悩み事、考え事を解決するためのリアルタイムチャットサービス」です。

(...どこかのサイトに似てる...?)

現在、開発は割と進んでいて、ログイン処理部分、ルーム作成、入退出管理、基本的な投稿部分は完成している状態です。

  • フォローして頂くと開発中のSSが見れます

フォロワー以上限定無料

開発日誌などを作成します!

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 »

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索