記事内に広告が含まれています。

AIでMP4プレーヤーを作ってみよう

『作ってみよう』第3弾!
前回は自分が欲しい機能だけを入れた画像ビューワーを作成しました。

コードを出してもらい実際に起動させて、『これ何か違うな?』と感じたらAIに即相談。
すぐに解決策を提示してもらい、自分好みのビューワーを完成させました。

今回は自分好みのMP4プレーヤーを作ってみます。

AIに相談するだけでMP4プレーヤーは作れるのか

過去2回ともAIに相談するだけで自分の欲しいものができているので今回も期待大!
今からどんなものができるのかウキウキしています。

そもそも作れるのか?

けんじ
けんじ

mp4プレイヤーをpythonで作れますか?

AIの回答を要約

PythonでMP4プレイヤーを作ることは十分に可能です。

Pythonでの動画再生機能の実装は、UIを自由に作れる「TkinterとOpenCV」、または高機能で安定性の高い「PyQt/PySide」の利用が一般的です。

プレイヤーの基本構造は、読み込んだ動画データをフレーム単位で分解し、適切な速度で連続描画するループ処理によって成り立っています

特に映像と音声の同期処理は難易度が高くなるため、開発の目的や必要な機能に合わせて最適なライブラリを選定することが重要です。

今回は高機能のものはいらない

簡単なプレーヤーでいいので、1つ目の【UIを自由に作れる「TkinterとOpenCV」】でお願いしてみます。

けんじ
けんじ

1つ目の【UIを自由に作れる「TkinterとOpenCV」】で作成をお願いします。

欲しい機能は
・通常の再生機能
・コマ送り機能
・キャプチャ機能
・回転機能(90度ごと)
・ファイル名変更機能 です。

ご要望に合わせて、OpenCVとTkinterを組み合わせたMP4プレイヤーのコードを作成しました。

事前準備
事前に以下のコマンドをコマンドプロンプトで実行して、必要なライブラリをインストールしてください。

pip install opencv-python pillow

音声が出ない!?

事前準備終了後、コードを提示してもらいコピペして起動させると、映像は再生されるのですが音が出ない。

どうやらAIは音が出ないことを理解しているようで、このコードは映像の制御に特化しているため音声再生機能が含まれていないのだとか。
Pythonで音声と映像を完全に同期させるのは非常に複雑らしい。

動画プレーヤーなのに音声は出ないのは致命的ですね・・・だけど私はこれでいい!

動きの激しい動画(スポーツ映像など)を、コマ送りしつつキャプチャしたいだけなので音声はなくともOK。
さらに自分好みに試行錯誤を重ねていきましょう。

その後実際にお願いしたいこと

途中経過のコードは長くなるので省きますが、以下のことを都度お願いして作成していきました。

追加した機能

  • ソフトを起動した際はブランク表示
  • 動画をドラッグ&ドロップで反応するようにして
  • シークバーを追加して
  • 全画面表示機能
  • 再生時はもう少し滑らかに(ちょっとカクカクしてる)
  • キャプチャ画像のファイルサイズが大きいので抑えて
  • ソフト自体の動作が若干重く感じる
  • コマ数をもう少し細かく
  • スペースキーでも停止・再生できるようにして
  • キャプチャ画像の保存先フォルダを指定できるようにして
  • 90度回転で左回転と右回転を選択できるようにして
  • ストップ時に右キーで1コマ進む 左キーで1コマ戻るにして
  • 明るさ調整をつけたのですが、基準を50として今どれくらいなのかわかるようにして
  • 全画面時Sキーでキャプチャできるようにして
  • 3秒前に戻る、3秒後に進むボタンを追加して
  • 全画面時にはXキーで3秒前に戻る、Cキーで3秒後に進む にして
  • キャプチャ完了の際にポップアップ通知は出さなくてOK

エラー修正依頼

  • 現状だとコマ送りしかできず、コマ戻りができない
  • 全画面表示にしても、再生画面自体が大きくならない
  • シークバーのつまみを掴んでもスムーズに移動することができない

計9回AIとやり取りを行いました。
要望の数に対してエラーの数の少なさがさすがはAI。

その数少ないエラーも1回指摘するとすぐに直りました。

自分だけのMP4プレーヤー完成

無骨ながらも、余分な機能が一切ない自分だけのMP4プレーヤーができました。
もっと改造する点はあるのですが、ひとまずはこれだけできればOK。

全画面表示にすれば各種キーで対応した動きをさせることも可能。
キャプチャ画像もボタンを押せばこの通りです。

まとめ

作ってみたの企画も3回目。
慣れてきたせいもあってか、こちら20分足らずで完成できました。

音声機能を犠牲にしたってとこもありますが、欲しい機能は手に入ったので満足。

皆さまも是非オリジナルの動画プレーヤーを作ってみてはいかがでしょうか。