
どうも、こんばんは、447rです。
最近、動画編集の自動化(YMM4のプロジェクト作成)に挑戦しているんですが、これまではいわゆる「黒い画面」で文字だけ打って動かしてたんですよ。AIといろいろ考えながらやってるんだけど、それでもさ。
あの画面ってだけで緊張するじゃん?(笑)
というわけで、「誰でも使えるWebアプリ(GUIってヤツ)」への改造に挑戦してみました!
Pythonの Streamlit っていうのを使ったんだけど、これがもう、魔法みたいにすごかった...( ゚Д゚)
まるで市販のアプリ!?ブラウザで動いちゃった
今まではコマンドをポチポチ打ってたのが、なんとブラウザ上で動くアプリになりました(^^)/
今回実装したのはこんな機能。
- ファイル読み込みが楽ちん: CSVとかExcelファイルを、ドラッグ&ドロップでポイっと入れるだけ。
- 配役設定が視覚的に!: 「このキャラの声は誰にする?」っていうのを、画面上のプルダウンで選べるようにしました。
これ、動いた瞬間マジで感動したわ...。
「俺、実は天才なんじゃないか?」って一瞬錯覚したよね(すぐにエラーが出て現実に引き戻されたけど)。
開発の裏側:スクロール地獄との戦い
でもね、すんなりいったわけじゃないんです。
最初は何も考えずに作ったら、読み込むデータ量が多いと画面が縦にビローンって伸びちゃって。
「生成ボタン」を押すために、ひたすらスクロールしなきゃいけないという**「スクロール地獄」**が完成しました( ゚Д゚)( ゚Д゚)( ゚Д゚)
指がつるわ!ってことで、解決策を導入。
- 表のエリアに高さ制限(300px)を設定して、その中でスクロールするように変更。
- 大事なボタンは「サイドバー」に移動。
これで、どこにいてもサッとボタンが押せるようになりました。UX(ユーザー体験)って大事だね、うん。
Excelが読めない問題も解決
あと、地味にハマったのがExcelファイル。
Googleスプレッドシートからダウンロードした .xlsx ファイルを読ませたら、盛大にエラーを吐いて止まりました(´;ω;`)
「え、CSVはいけるのになんで!?」ってなったけど、どうやら専用のライブラリ(openpyxl)が必要だったみたい。
ちゃんと「これはCSV」「これはExcel」って自動で判断するロジックを入れて、無事に解決!
安心安全のセキュリティ設計
ちなみに今回のツール、セキュリティもバッチリ意識してます。
GoogleのAPIキーとか怖い情報は一切使わず、「ダウンロードしたファイルを読み込ませるだけ」の仕様にしました。
しかも処理は全部自分のPC内(ローカル)で完結するから、外部にデータが漏れる心配もナシ!
これなら安心して使えるよね(^^♪
というわけで、黒い画面を卒業して、ちょっとだけ文明開化の音がした開発セッションでした。
次は実際に生成されたファイルをYMM4に読み込ませて、演出とかをいじっていこうと思います。
まだまだ先は長いけど、一歩前進ってことで。
明日も頑張りましょう。でしたとさ。