投稿記事

KnzkLiveの記事 (5)

nzws (ねじわさ) 2019/02/03 09:51

開発日誌: KnzkLive - アイテムを実装した

またまた今回も書いていきます。
そろそろKnzkLiveじゃなくて別のことやるかもしれない...

前回記事~2019/02/03までの差分はこちら
二週間で 2,322 additions and 812 deletions だそうです。

アイテムを実装した

ついにアイテム機能を実装しました!!!


(99万ポイントなのは単純に検証用サーバーです)

絵文字投下だと例えば「配信者のアイコン」「左から右」「100個」「回転あり」の場合、こんな感じになります。やばいですね。

KnzkLiveのアイコンができた

@Xiltvs に作ってもらいました。プレイヤーのウォーターマークなどにも使用されます。

センシティブモードを追加した

なんかちょっとやばめな配信をする時にはセンシティブを有効にすると、リスナーに警告が表示されます。(いわゆるNSFWのような状態)

なお、配信中に有効化した場合でも一旦全員のプレイヤーが停止されこのポップアップが表示されます。

NGワード, ユーザーブロック機能を追加した(配信者向け)

コメントでのNGワードや、配信者が強○退出を行えるユーザーブロック機能を追加しました。
大変でした。(そんだけ)

さいごに

現状KnzkLiveの配信サーバーはGCPの無料枠を使用している、というのは前言ったのですが、もう3分の1消費してしまったのでちょっと焦りだしてます。
クレジットが切れた時の移転先サーバーはVultrあたりを予定しています。安いし普通にパワーあるので学生の強い味方ですね。

あと......


学年末テストまであと二週間やん

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

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

nzws (ねじわさ) 2019/01/22 06:24

開発日誌: KnzkLive - KnzkPointを実装した

今回もKnzkLiveのアップデートについて書いていきます。

KnzkPointを実装した

まあタイトルの通りなのですが、前回言っていた「ポイントシステム」を追加しました。

現在、KnzkLiveのログインユーザー全員に100ポイントプレゼントしてるのでぜひどうぞ。
基本的なポイントの取得方法としては、1公開トゥートあたり2ポイントという感じで貰えます。ただ、Twitterアカウントのユーザーは対象外なのでどうしようか検討中だったり...

現状の仕様としては、ユーザー間で投げ合うポイントとしてしか使い道ありませんが、今後のアップデートで配信アイテム投下などなどできるようにしていくつもりです。

あと、これに合わせて @TIPKnzk アカウントを稼働開始しました。
https://knzk.me/@TIPKnzk

@tipknzk tip @Knzk 100

と投稿すると、@Knzkに100ポイントを渡せる、みたいな感じでKnzkPointを簡単に投げられるアカウントです。
ネタがあれば今後も機能追加していくのでぜひ。

最後に

今年のゴールデンウィークちょっと楽しみな事があったりするので待ち遠しいです。
学年末テスト?なにそれ美味しいの?

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

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

nzws (ねじわさ) 2019/01/17 18:23

開発日誌: KnzkLive & あけましておめでとうございます(17日遅れ)

あけましておめでとうございます (17日遅れ)

お久しぶりです。今年もよろしくお願いいたします。(殴

どうでもいいこと

Macbook Air届いたー!!!

本題

今回はKnzkLiveの最近のアップデートについて書いていきます。Creating.Socialの開発は一旦お休み中です。

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

1. 投票機能を追加した


配信者が自由に設定できる投票機能を追加しました。ユーザーはコメント欄の上から投票できます。また、配信者のアカウントからMastodonに投票開始・結果を投稿する事ができます。


配信者は投票期間中は人数のみが分かり、投票締切するまではどうなっているのか分からないようになっています。


投票結果は自動的にコメントされます。投票開始時に設定すればMastodonにも投稿されます。

2. ワイドビュー機能を追加した


「ワイドビュー」は、全画面表示とは少し異なる表示方法です。
全画面表示では表示されないコメント欄が表示されます。
また、全画面表示はディスプレイに固定されますが、ワイドビューではブラウザの枠に固定されます。(ワイドビューを有効にした後にブラウザを全画面にする事でディスプレイに固定する事も可能です)

ワイドビュー自体はブラウザのFullscreen APIではなく、CSSでゴリ押ししているだけなのでブラウザによって使用できないなんて事も(多分)ありません。

3. Twitterログイン・コメントに対応した


ログイン方法にTwitterを追加しました。Twitterでログインすると、コメントをTwitterIDで投稿できたり、コメントと同時投稿でツイートする事ができます。

Mastodonログインとの相違点としては、Mastodonではハッシュタグをつけた全ての投稿がコメント欄に表示されますが、Twitterではハッシュタグをつけた投稿は読み込まれず、あくまでKnzkLive上で書いたコメントのみ読み込まれます。
また、TwitterへのツイートはMastodonとは異なりサーバーを経由するため、レートリミットを他のKnzkLiveユーザーと共有します。そのため、制限に達するのが早いかもしれません。

4. コメントのカウンター・統計を追加した



地味に面倒だった内容です。
というのも、前の記事で書いたように、Mastodonに投稿したコメントはクライアント側で全て読み書きするため、サーバーサイドでは誰がどのくらいMastodonに投稿しつつコメントしたというのが把握できないためです。
そのため、NodeでKnzk.meの連合タイムラインをチェックし、特定ハッシュタグが含まれた投稿を見つけたらカウントする、という方式を取っています。
まあ多少取り逃すかもしれないけど仕方ない...

今後のアップデートについて

アイテム投下機能を追加したい

ツ○キャスみたいに、お茶を投下したり面白い機能を増やしたいです。
ある程度仕様とかは考え終わっているのですが、問題がポイントシステムをどう実装するのか...というので、課金制度は税金とかの関係であまり使いたくないなーって感じなので色々考え中です。

配信ができるユーザーを増やすかも...?

神崎が許可したユーザーに対して、配信権限を渡すかもしれません。
また、その際に「KnzkLive」がタイトルだとアレだから「〇〇Live」って変化できるようにすると面白いかも...とかも考え中です。

さいごに

今期は「私に天使が舞い降りた!」「かぐや様は告らせたい」「デート・ア・ライブⅢ」あたりを観ているのですが、どれも中々良いです。
あと今書いてて気がついたけどかぐや様のHPだけhttpsでびっくりしました。

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

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

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

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

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

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索