動画を大量生成するツールを作ってみた1

未分類

以前投稿した「スマホ 一つで 簡単 にできる AI 動画を量産し 稼ぐ 方法を試してみた」という記事は覚えていますか?
動画の台本をAIで作って、それをCanva動画にして大量生産するという内容の記事です。
結局Canvaの有料プランに加入する必要があって途中で断念するというグダグダになったやつです。
もし、まだ読んでいない方はぜひ読んでください^^

睡眠朗読動画でノーリスクで200万稼ぐAI副業試してみた
皆さんは「睡眠朗読動画」って知っていますか?名前の通りなのですが、小さな子供を寝かしつけるときなんかに聞かせる朗読をしている動画のことです。小さなお子さんがいる人なんかは良くお世話になっているという人も多いんじゃないでしょうか?この睡眠朗読...

この前はとんでもないへなちょこっぷりを発揮しましたが、「ツールが使えないのなら別のツールを使えばいい」と思いませんか?
そう思い同様の機能を提供するツールがないか調べました。
今回はその結果報告をしていきます。

とは言ったものの、どちらかというと自分の備忘録的なやつなんで、だらだらと書き綴っていくだけです。
プログラミングとかわからない人にはつまらないかもです。

今回作りたいもの

詳しくは冒頭で紹介した記事を読んでほしいのですが、元の動画に異なるテロップを入れた動画を複数用意するツールを作っていきたいです。

CSVファイルかなんかにテロップを用意して、プログラムでそれらを自動で1セット入れたら動画として出力する。
これをCSVファイルに入れてあるテロップすべてに対して行っていき、最終的には動画がたくさん作られている。
というCanvaの一括作成機能と同等の機能を作っていくわけです。

調べた結果

結果を申しますと、残念なことに代替ツールを見つけることはできませんでした。
検索するときのワードがいけなかったのか、シンプルに調査が足りないのか、、、
そこでアプローチを変えてChat GPTに聞いたところ画像のような回答が返ってきました。

どうやら動画の大量生産できるツールはありそうです。
提案してもらったツールは大きく分けて2種類ありました。

1つ目は同様の機能がある別サービスです。
こちらに関しては実際にサイトに登録したのですが、
ツールの使い方がわからず断念しました。

2つ目は動画編集ソフト+プログラミングで自動化するというものでした。
こっちは大変ですが頑張ればできるかな?
ということでブログのネタ集めも兼ねて挑戦してみることにしました。

今回Chat GPTに提案してもらったツールで試したのは以下の三つです。

  • Drive View
  • Open shot
  • FFmpeg

Drive View

こちらはCanvaみたいにオンラインで使える動画編集ツールです。
Chat GPTに提案してもらったツールの分類のうち1つ目の「同様の機能がある別のツール」です。

先ほども述べたように使い方がわからないので諦めました。
海外の製品なので英語のツールだったりで速攻やめました。

Just a moment...

OpenShot

次に試したのがOpenShotです。
Drive Viewのがわからないので「動画編集ソフト+プログラム」のツールを使うことにして最初に試しました。

OpenShot 動画エディター | Linux、Mac、Windows向けの、フリーで、オープンで、受賞歴のある動画エディターです!
OpenShotは、Linux、Mac、Windows向けで、受賞歴のある、フリーでオープンソースの動画エディターです。わくわくするビデオエフェクト、タイトル、オーディオトラック、アニメーションを使って動画を作成します。

結論を言うとこれもダメでした。
理由としてはプログラムからOpen Shotを使えなかったからです。
CUIからの操作もできず、コードの実装が難航しそうだったのでこれも諦めました。
詳しく話すと長くなるのでざっくりとした説明になりますが、CUIとは黒い画面にコマンドを打ち込む方法で操作するやつです。

CUIはこんな感じだよ

「CUIで使えないってことはプログラムでも使えねぇじゃん」
僕の直感がそう告げていました。
詳しい人いたら教えてください。

FFmpeg

Drive Viewもダメ、Open Shotもダメ、というわけで次にFFmpegに挑戦してみました。
調べてみるとプログラミング言語のPythonとの組み合わせで自動化とかやっている人が結構いるみたいで、「これならいけかも!」と思いとりあえずで手を出してみました。

適当にChat GPTに要件を伝えてコードを生成してもらい、自前のパソコンで実行。
「はは、すげぇさすがは文明の利器」

しかし、エラーが表示されて動画を作ることができませんでした。
実行時のログをChat GPTに送り、コードを修正してもらい再び実行。
同様のエラーが出てきてしまったのでChat GPTにまた相談。
そんな感じのことを繰り返していました。

何回かChat GPTとPythonと自分の三つ巴の戦いを繰り広げていたところあることに気づきました。
「フォント関連のエラーが多いことに!」
Chat GPTにエラーメッセージを送ると大抵「フォント関連の~」といわれることに気づいたんですよ!

デフォルトのコードではWindowsに元から搭載されているフォントを使用することになっていたんですが、これがいけないんじゃないかと思いフリーフォントをネットからダウンロードすることにしました。

予想はビンゴでした。

なんと、エラーしか吐かなかったPython君が動画を作っているではありませんか!
しかし、問題はまだ残っていました。

CSVファイルの中身
この時作られた動画たち どう見ても数が足りない

テスト用のCSVファイルには10種類のテロップを記入しているにもかかわらず、
作成された動画は6個しかなかったのです。

再びコードを実行して、Chat GPTにコードを直してもらって、また実行して、、、、、
というループをしていくことになりました。

エラーメッセージを読み込ませてもChat GPTはこんな感じでコードを修正してくれるのですが、
修正後のコードでも同じエラーが出てきました。

再びChat GPTに相談すると今度は同じ回答で修正前のコードを提案してくるのです。
どつぼにはまり数時間格闘することになります。

何時間か経って、あることを思いつきます。

「フォントとFFmpegの相性が悪いんじゃないか?」

というわけで今度は別のフォントを使うことにしました。
が、結果は変わらず動画は正しく出力されないままでした、、、、

そこで、Windowsに標準で入っているシステムフォントを試してみました。
結果は「そもそもパスの書き方がわからねぇ」というオチでした。
パスというのはファイルやフォルダの位置をコンピュータでも分かるようにする書き方のことです。

「なんだこれ、パスのコピーもできないし、フォントをクリックするとなんか別のフォントが出てくるんやが、、、、どうやって書いたらいいんだ?」
といった感じでまた無限ループの中をさまよい続けることになります。

何時間か戦ってまた「クオーテション(’とか”のこと)関係の返信が多い」ことに気づきました。
そこで「テロップの文章にクオーテションが入っていることが原因なのではないか」という仮説を立てて、CSVファイルと出力された動画を見比べました。

結果はあたりでした。
文章の中に’が含まれるものは動画として出力されていませんでした。

しかし、大問題がありCSVファイルから文章を取り出して動画のテロップに加工するコードはここまでのループの中で何度も修正をしていたのです。

Chat GPTがコードを修正して、エラーが出たら修正前のコードを提案するというバカみたいなループでずっといじっていた部分の修正が必要だったのです。

その後どうしたかというと、諦めました。

正直、今の自分では無理です。
圧倒的に知識と技術が足りません。

文章の中に’があると正しく動作しない。
逆にいえば’が無ければきちんと動く!

ということで文章の中に’が無いことを前提としたプログラムのまま先に進むことにします。

残る課題としてはテロップの位置と大きさです。

テロップの大きさは「 f”drawtext=fontfile=~」のfontsaizeの値を調整するだけなので簡単です。
実際のコードではフォントサイズを変数で指定してます。
これで大きさ調整が楽になります。

位置もx=(w-text_w)/2:y=(h/2-text_h/2)+'{y_plus}’の部分で調整ができます。

これで動画作成ツールバージョン1の完成と思いきや問題が発生しました。

テロップが画面からはみ出ます。
文字の見やすさを意識してフォントサイズを大きくしたのはよかったのですが、
テロップは1行で表示するようになっているので長い文章は画面から見切れてしまうのです。

Chat GPTに相談したところ文章の長さに応じて改行をするのが簡単だというので、
とりあえずはその方向でコードを実装することにします。

Chat GPTにコードを生成してもらい、実行して微調整して、、、完成です!
動画もいい感じです!

とりあえずこれで動画作成ツールv.1は完成です。

今後の方針というか、やりたいことは

  • 文章に「’」が入っていても動画を作成できるようにすること
  • GUIでの実装
  • 文章の長さに応じてフォントサイズや改行を行う自動調整の実装

の3つです。

とりあえず、ツールが使える状態になってよかったです(涙)

次回はツールの使用方法をまとめていきたいと思います。

ここまで自分が足りに付き合ってくださりありがとうございました。
この記事が誰かの役に立てば幸いです。

コメント

タイトルとURLをコピーしました