without written permission. # 辞書形式に変換 # javascript表記なので更に整形. No reproduction or republication without written permission. 開始時刻と終了時刻を指定すれば指定動画ファイルから動画を切り出してくれる。, 今回開発したCLIでは切り出し位置は盛り上がり時間のリストの各要素に対して、盛り上がった時間が中央になるように各要素±1分の合計2分間を切り出している。(切り出し時間はCLIで指定できるようにした方がいいかもしれない), 抽出時間範囲をこのように設定したのには二つの理由がある。 1人でこのブログ用に配信してるところなのでさびしいですが、、。, 通常と違うところはわかりますか? q2=Queue() #秒間コメント数記録用のキュー Why not register and get more from Qiita? next_url= iframe["src"] 5 YouTubeライブチャットにコメントできない原因・対処法 ・ アクセス集中 ・ ライブをYouTubeのアプリで視聴 ・ ライブ時の連続投稿 ・ 通信環境が悪い; 6 コメントを背景透過しYouTubeLIVE配信に挑戦! ・ YouTubeのこの記事が気になった人へのおすすめ! #print("取得できないコメントです") 参考URL:https://blog.hubspot.com/marketing/how-long-should-videos-be-on-instagram-twitter-facebook-youtube, 動画DLとチャット解析は独立した処理なので並列処理を行うことにした。しかし、pythonにはGIL(Global Interpreter Lock)という仕組みがあり、1プロセスに1つのインタプリタしか割り当てられないので1プロセスでは並列処理ができないことが判明した。(もっと正確には、GILを取得している1スレッドはPythonのコードの実行を行えるが他スレッドは動かせないとのこと)、どうやら複数プロセスを扱う必要があるらしい video_path=q.get() YouTube Liveのチャット(コメント)は、ライブ中にリアルタイムで取得することはYouTube Data APIを用いることで可能なのですが、アーカイブから取得するという操作はAPIにはありません。. (・・・略) お気に入りのタイトルは『けものフレンズ3』。サーバル、いつ実装されるのかな?? 'CNET', 'ZDNet' 'TechRepublic' and 'CNET News.com' are trademarks of A Red Ventures Company. samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["authorName"]["simpleText"] 現在PyPlには公開していません、外部パッケージ依存のエラーが頻発して保守が大変なので一部機能を見直してwebサービスとしてリリースしました。是非利用してみてください。 YouTube Live のチャットで NG ワードを含むものを非表示にする。 - NG ワードを自由に設定 - ライブ配信、アーカイブ、プレミア公開に対応 ## 使用方法 インストール後、アドレスバーの右にある拡張機能のアイコンを左クリックし、非表示にしたい NG ワードを一行ごとに入力してください。 令和はデジタルとアナログが融合する幸せな時代!? (・・・略) samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["id"] YouTubeは、視聴しているチャンネル上で他のユーザーのコメント履歴やアクティビティーを確認できる新機能「Profile card」をリリースする。 pros.join() time_msec=int(samp["replayChatItemAction"]["videoOffsetTimeMsec"])#コメントした時間のミリ秒を取得 # "https://www.youtube.com/live_chat_replay?continuation=" + continue_url が次のlive_chat_replayのurl そこで、複数のプロセスを扱うためのモジュールであるmultiprocessingを用いた。 流れるコメントの色も変えられるようですね。, などの方法もブログに書いてみようと思いましたが、視聴者側というより配信者側の話が多そうなので、また今度にしようと思います。, 配信やっていて毎度思うことで、いくつか前のブログにも記したような気がするのですが、「チャットログをCSVファイルか何かで残したい」んですよね。, YouTube内の配信の設定で samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["authorPhoto"]["thumbnails"][0]["url"] YouTube Liveのチャットを解析することで盛り上がり箇所を抽出している。 チャットデータの取得 . 視聴者側の端末でミュートされていることが大半です、、、。 スムーズに開発できるのはいいが外部パッケージに依存することでデメリットもある。可用性が低かったり保守が難しいという点だ、外部パッケージを起因としたエラーは修正に時間がかかる場合があり、また、修正後の最新verのリリースを待たなければならない. What is going on with this article? ※動画DL処理を消去したので動画DLはできません, YouTubeLiveの生放送から盛り上がった箇所を自動抽出するwebサービス作りました。是非使ってみてください。https://t.co/fYxddc2jOV, 生放送は再生時間が長く全て見るのに時間がかかる、そこで盛り上がった箇所だけ自動で抽出できたら便利だと思ったので作成 All Rights Reserved. #print(coment) The Japanese edition of 'CNET' is published under license from A Red Ventures Company., Fort Mill, SC, USA. ※動作は Mac/Windows で確認しています。, アプリ自体の透過処理を行いたかったのですが、Windowsだとうまく動作しなかったので断念しています。 Copyright (c) 2020 ASAHI INTERACTIVE, Inc. All rights reserved. falseとtrueの表記を直す samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["timestampUsec"] samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["authorExternalChannelId"] また、事前に使えそうなパッケージなどを探していたらいい感じのが見つかったのも開発に踏み切った要因の一つ, 大きく分けて、動画DL、チャットの解析、動画切り出し、という3つの処理を行っている。また、動画のDLとチャットの解析は互いに独立した処理なので並列処理で実装した。 インストールの方法は割愛します。まったく難しくはないです。, 任意のYouTube ライブのストリームにジャンプして、先ほどのアイコンをクリックすると、、、, たーのしー!ように見えますよね。 YouTubeライブでは視聴者がコメントを送信する機能があり、配信中に出演者にメッセージを表示させてチャットで会話をすることができます。YouTubeライブのコメントのやり方とコメントを透過させる方法を簡単にご紹介します。 ↓ dict_str = scrp.text.split(" = ",1)[1] 抽出処理の時間分待ち時間削ってないし、500ms分固定でプラスしてるのもイケてないのかも。 某所のコメントログでは比べるとどちらも抜けがあるしチャットは結構きついのかなぁ FaceBook: https://www.facebook.com/minakawa.daiki, 専門学校HALのプログラミングが好きな人が集まっている同好会です。HALの在学生に限らず、OB, OGなども存在します。. 通常はブラウザの右側に表示されていますが、ちょっと面白い表示方法を見つけたので紹介しますね。, Chromeのアドオンの、『YouTube Live Chat Flow』というものを使用します。 samp["replayChatItemAction"]["videoOffsetTimeMsec"], チャット取得コード(長いので一部省略) 取得できるチャットデータ comment_count=q2.get() (・・・略), チャットの取得方法がわかったので次は、生放送における「盛り上がり」の定義とはなにか?について考えた。 配信者の方のお役に立てれば良いと思っています。, https://electron.atom.io/docs/api/webview-tag/ pros=Process(target=videodl, args=(q,video_objct)) #動画DL #print("コメント探索") YouTubeLiveの生放送から盛り上がった箇所を自動抽出するCLI pros.start() samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["message"]["simpleText"] がんばって考えたこの企画・コーナーはウケてるかな? #Chrome拡張機能 ; #YouTube; #YouTube Live; 1万人も夢じゃない! インスタグラムでフォロワーを増やす方法. 以下に概要図を示す。, YouTube Liveの生放送からのチャットデータの取得方法はこちらのサイトが詳しく解説しているので参考にさせていただきました。詳しい解説などはこちらのサイトをご覧下さいhttp://watagassy.hatenablog.com/entry/2018/10/06/002628, やっていることはBeautiful SoupでのHTMLの解析、1チャットにはあらゆるデータが含まれているのでこの中からチャット文と投稿時間を取得する, 1チャットから取得できるデータ一覧 ちなみに社内では、代表のMSTをはじめとする多数の勇者がパーティを組んで、こぞってウォーク(冒険)へ出かける様子をしばしば見かけます。, さて、われわれLIVEプロダクション事業部では、スマートフォンゲーム・コンシューマーゲームの番組に限らず、それ以外にも音楽系、学術系、企業の発表会など多岐にわたり、番組・映像コンテンツの"ライブストリーミング配信"のお仕事をさせてもらっております。(実績や近況は弊社Facebookページをぜひフォローしてください!), これらの配信、『YouTube Live』を用いて配信をすることが多いのですが、配信をしている側からすると、チャットで視聴者のみなさんがどういう反応をしているのか、実は、というか、かなり気になっております。. 以前、YouTube Live Player「Madoka」を作った時に、コメビュの部分がAPIの都合上、ポーリングでしか取得できず、なかなか厳しいものがあったので、リアルタイムで取得できないかと考えていました。 よくよく考えて見たら、WebViewで乗っけちゃえばよくね?って思ったのでやってみま #ユーザーエージェント情報(ブラウザとかの情報) q2.put(c_count) samp["replayChatItemAction"]["actions"][0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["authorPhoto"]["thumbnails"][1]["height"] がしかし、まだUSUMはおろかピカチュウ&イーブイもクリアしてません、、。 #overflow.yt-live-chat-header-renderer{ margin-right: 32px; }, https://github.com/minakawa-daiki/YLCV/releases/tag/v0.1.0, https://electron.atom.io/docs/api/webview-tag/, you can read useful information later efficiently.