• OBSがソフトエンコーダだった件

    RiotBlue PlayerをOBSで3ストリーム同時配信していましたが、CPUの使用率が100%になってました!
    メモリも7GBを使用している!(搭載は8GB)

    配信に使っているサブ機はそれなりのGPUを内蔵しているAMD A12-9800Eなのになんで?
    と思ってOBSの設定を確認したら出力のエンコーダがx264(ソフトエンコーダ)しか選べなくなってました。
    どうやらOBSは内蔵GPUのエンコード機能を利用できない仕様だったようです。

    何か良い方法は無いかとネットを調べたら、タイムリーなことに2023年1月のOBS Ver29からIntel/AMDの内蔵GPUのエンコード機能に対応したと書かれていました。ラッキー!これはバージョンアップするしかない!

    バージョンアップした結果、出力のエンコーダにハードウェア(H.264 AMD)が選べるようになりました。
    エンコーダの設定を変更したところ、CPU使用率が100%から80%に下がりました。メモリの使用量も4.8GBに減りました。GPUの使用率は50%程度です。

    nVIDIAのGPUを搭載したPCを使っている人が多いと思いますが、ビデオカードを搭載せずにOBSを使っている人は、バージョンアップをオススメします。


  • 音声のミュートが解除されないバグ

    YouTubeでの同時ストリーム配信を確認していた気が付いたのですが、曲の切り替わり時に音声がミュートのままになることがありました。

    次の曲の再生まで音声ミュートが継続されることになります。

    なんとなく原因はわかるので、今週末に修正したいと思います。


  • RiotBlue PlayerとOBSを使ったYouTube同時配信

    RiotBlue PlayerのデモをYouTubeで24時間配信していましたが、3ストリームの同時配信を開始しました。

    3ストリームの内容は、

    1. ビジュアル系バンド(明志雨音さん)
    2. 心地よい声で睡眠導入(詩姫さん)
    3. ヴァイオリン演奏と歌(舞弦ウラさん)

    Riot Blueの個別メンバーの特徴ある歌で再生しています。

    実は、以前から異なるジャンルの複数ストリーム同時配信をしたいと考えて、OracleのVirtualBoxで仮想PCを構築してテストしたこともありました。
    しかし、VirtualBoxではGPUの機能を使うことができないようで、CPUがソフトエンコードして負荷が高くなり複数配信はできませんでした。

    今回、1つのPCでOBSを複数起動できることを知り、それならばGPU機能を使えるので同時配信できるのではないかと考えて試したらできました!

    そもそも私が配信に使っているPCのCPUは、AMD A12-9800E (TDP 35Wの省電力)でCPU性能はそれほど高くありません。
    AMDは内蔵GPUの性能がそれなりにあるので、3ストリーム同時配信が可能だったのだと思います。

    今の環境では3ストリームが限界かもしれません。各ストリームの配信設定は下記のようになっています。

    解像度: 1280×720
    フレームレート: 30fps
    映像ビットレート:2000kbps
    音声ビットレート:160kbps

    ,

  • YouTube Liveのチャンネル登録者数、視聴者数、高評価数を表示するGASスクリプト

    Riot Blueの音楽部室で雨音さんが、「配信画面に高評価数や同時接続者数をいいかんじで表示する方法」を探していたので、Google Apps Script(GAS)で作成しました。

    世の中に求めている人がいるかもしれないのでGASのスクリプトを公開します。

    最新版はチャンネル登録者数も表示できるようにしています。(YouTube DATA APIの仕様で1,000人以上は+10ずつしか増えません、10,000人以上は+100ずつしか増えません)

    スクリプトを一般公開するにあたり、実際に動作させるWEBアプリのURLは公開していません。

    理由は、万が一にも大勢に人がこのWEBアプリを実行すると、GASのスクリプト実行回数制限で私自身が作成した他のスクリプトを実行できなくなる可能性があるためです。

    自身のアカウントのGASに私の作成したスクリプトをコピペして、WEBアプリを実行するようにお願いします。

    https://script.google.com/d/1IpZXzwYAni9vaGjaFnY-g2HNS1yMT6jFJ1fCS1DAeT3giNY7Lf4_VO9Q/edit?usp=sharing


  • 自動ツイートの文字数について

    Twitterの文字数制限は、半角280文字、全角140文字です。

    自動ツイートでTwitter APIでメッセージを送信する時、テキスト文字列の中の改行は’\n’のエスケープ文字を使います。

    Twitterは改行は半角1文字と扱うと思っていたので、改行の文字数をカウントする時に+1としていました。

    しかしツイートのテキストに含まれる改行は’\n’なので、文字列としては+2で文字数がカウントされるんです。

    改行がたくさんある場合は、その分だけ文字列の文字数は280文字を超えても大丈夫って事みたいです。

    試しに下記の文字列をツイートしたらできました。文字列の文字数としては294文字ありますが、改行を1文字とすれば280文字になります。

      chrMessages =
       ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘1234567890\n’ +
        ‘123\n’;

    改行だけ文字数の数え方を変えるのは面倒なので、気にせず+2でカウントする処理とします。

     


  • 耐久配信のバグ問題は勘違い

    耐久配信の再生ができないというバグ、実は勘違いでした。

    勝手に10時間を秒変換した時に16ビット符号付整数の上限を超えるからと推測していましたが、やはりJavaScriptの数値型にはそのような制限はありませんでした。

    それでは、なぜ、私のiPhoneで再生ができなくなったか?

    私のiPhoneはデュアルSIMで、データ通信を楽天モバイルにしているのですが、楽天モバイルの電波が悪い時にOCNに切り替えて戻すのを忘れてました。

    OCNは毎月のデータ通信の上限が2GBなので、月末に使い切って速度制限がかかり、YouTube動画を再生するには厳しい状態になってました。

    RiotBlue Playerには、YouTubeからの応答が無くなった時の対応として、10秒経過しても再生できない場合は次の曲を再生する仕組みがあります。

    速度制限がかかっている場合は、再生できずに次の曲を再生しようとするが再生できないというループに入り込んでいたのだと思われます。


  • 耐久配信のバグ問題、自宅で再現せず

    耐久配信のバグ問題、自宅PCで再現しませんでした。

    iPhoneでも試しましたが再現しません。

    ■再現方法

    1. 雨音のラジオボタンをチェック
    2. 曲名検索で「ハイブリッドレインボウ」を検索
    3. PLAYボタンを押す
    4. 12/31配信のハイブリッドレインボウで再生時間が3桁の分表示になり再生ができない

    困りました


  • 耐久配信でバグ発生?

    RiotBlue Playerで、雨音さんの年末の耐久配信の曲を再生すると、再生が進まない異常状態が発生します。

    どうやら開始時間を秒に換算した時に、16ビット符号付整数型の32767をオーバーする事が原因かもしれません。

    データベース側は、16ビット符号無し整数型なので問題無いです。

    JavaScriptの変数には型指定が無いので、なぜそうなるのか早急に調査します。


  • RiotBlue Player 3.0.3をリリース

    RiotBlue Player 3.0.2をリリースしたばかりですが、見た目で気になった部分があったので再度スタイルシートを変更しました。

    3.0.2でこっそり変更したボタン表記がバグってましたw

    背景の枠がついたので、よりアプリっぽくなりました。


  • RiotBlue Player 3.0.2をリリース

    久しぶりにバージョンアップです。

    といっても背景色をこのサイトと同じような薄いブルーにしただけですw

    これまでダークモード以外は背景色を設定していませんでした。

    OBSのブラウザ機能でRiotBlue Playerを表示する背景が真っ黒になってしまうので、スタイルで背景色の設定が必要と思って設定しました。

    結局は、OBSのブラウザのプロパティにカスタムCSSの欄があって、背景色を黒に上書きされてるだけでした。

    ,

2024年11月
 123
45678910
11121314151617
18192021222324
252627282930