見出し画像

【自動化】YouTube切り抜き動画で稼ぎ散らかすツールの作り方

割引あり

現在の仕上がりはこんな感じ

手作り感は否めませんが、自動化&省力化の目的は十分に達成できているかなと思われます。

アプリ化はまだ完成してませんが、一応CLIの状態でも動きますんでスクリプトはメンバーシップの掲示板にて公開しています。初月無料&無言参加OKですので、興味のある方は覗いてみて下さい。

記事が面白かったらフォロー&♥よろしくお願いしますm(_ _)m

経緯

自分がよく見るVTuberの切り抜き動画を作りたいなーと思いながらも、性格的に面倒臭い作業は絶対に続かないと思ったので、切り抜き動画を簡単に生成するツールを作る所から始めました。

2022年の12月頃から構想し、切り抜きツールを作り始めてすでに5か月ほど経過してしまいましたが、ようやくそれなりの形になったので実際に切り抜きチャンネルを運営してテストしています。

テスト運用中のyoutubeアカウントはこちら

システムの要件

切り抜き動画生成システム僕が求めた条件はこんな感じ

  • 無料

  • 可能な限り自動化(必要最低限は手動)

  • コピーコンテンツの回避

  • 収益化

  • pythonで作りたい

さらに必要最低限のオリジナリティを確保しつつ、限界まで自動化するために必要な機能を下記のように定義しました。

必要な機能

  • 動画・チャットデータのDL

  • 切り抜き位置の特定

  • 文字起こし

  • テロップデータの校正

  • ワードクラウド作成

  • ネガポジグラフ作成

  • 切り抜き動画出力

  • 動画の結合

  • タイトルの自動生成

上記の機能の集合体を僕は切り抜きツールと呼んでいます。それぞれの機能はほとんどがpythonのライブラリで実装可能でしたが、どのライブラリを使うかとかの検証にかなり時間を使ってしまいました。

それぞれの機能の仕組み&アイデア、使っているライブラリなどは次のような感じです。


動画・チャットデータのDL

youtubeの動画データダウンロードするライブラリはいくつかありますが、動作が早くコードがシンプルな「yt-dlp」を使っています。yt-dlpの仕様や使い方は別のブログの方で詳しく解説していますんで、興味のある方は読んでみて下さい。

さらに動画の切り抜き位置やオリジナルの解析コンテンツを表示するため、ライブ配信のチャットデータもまとめて取得しておきます。チャットデータの取得には「pytchat」ライブラリを使用しています。

これら二つのライブラリを使って動画データとチャットデータを一括取得するコピペスクリプトは下記で公開してます。


切り抜き位置の特定

僕が切り抜き動画を作る際に、面白いと思う位置を特定するために参考にしていた要素が二つあります。それは、

  • 動画のチャプター

  • チャット件数

この二つを参考に面白い/盛り上がっている箇所を特定しています。

動画のチャプターに関しては話題の切れ目として分かりやすいですし、タイトルから話の内容が予測できるので面白いそうな位置へざっくりジャンプする事が可能になります。

ただしこのチャプター機能はコメント欄でファンの方が作成されている物を収集しているので、それくらい濃厚な固定ファンが付いてるyoutuberでないと発動できない機能なのは課題。

チャットの件数に関しては、視聴者が盛り上がるような何かが起こるとチャットのコメントがダーーーっと一気に流れるの見た事ありませんか?あれを1分毎に集計してグラフ化すれば、視聴者がチャットで盛り上がっているシーンがすぐにわかるんじゃないか?という発想から作ってみました。画像はこんな感じ。

んで、これらの要素をyoutubeの再生バーに重ねて表示すれば、使いやすいんじゃないかと思い作ってみた切り抜きエディタがコチラ。

赤い点にマウスオーバーするとチャプターが表示されクリックするとジャンプします。グラフが尖っている箇所がチャットコメントで盛り上がった場所なので、盛り上がっている箇所を切り抜くならこの仕組みで十分イケます。

当ツールでは用いていませんが、動画を読み込ませるだけで自動でシーン別に動画を分割してくれる超絶便利なpythonライブラリとかもあります。


文字起こし

文字起こしはwhisperという最強文字起こしライブラリがあるので、無料でシステムを構築するなら今の所1択です。whisperの文字起こし力は下記の記事でテストしましたが文句なしでした。

ここから先は

3,254字 / 5画像 / 2ファイル
この記事のみ ¥ 0〜

よろしければサポートお願いします、頂いたサポートは活動費として使用させて頂きより有意義な記事を書けるように頑張ります!