前提
今回作成したプログラムは、dji pocket2で撮影した動画をyoutubeにアップロードするツールです。
あくまで自分のために作ったものなのでほとんどの人には使えないものだと思います。
ただ、dji pocket2で動画を撮影して、そのまま上げるような方には便利に使ってもらえるかな。
そんな人いないかもしれないけど、、、、
やりたいこと
dji pocket2で動画を撮影した後、SDカードを取り出してPCに接続し、コマンドラインからコードを一つ叩けば編集アップロードが完了するようなものを作ります。
dji pocket2で撮影した動画は5分くらいで細切れになっているのでそれを統合するintegrate.pyとyoutubeに動画をアップロードするupload.pyの二つのスクリプトを作りました。
詳細なコードはここに挙げてあります。
https://github.com/shunkat/AutoUploaderDJIPocket
詳しいコードの解説は割愛します。
前提条件
私のPCはmacです(sonomaにしました)
1. スクリプトの概要
-
integrate.py: 特定のディレクトリから.MP4ファイルを検索し、それらを結合します。結合が成功すると、結果を
upload.py
スクリプトに渡してYouTubeにアップロードします。 - upload.py: 指定されたビデオファイルをYouTubeにアップロードします。OAuth2認証を使用してYouTube APIにアクセスします。
2. 必要なツールとライブラリのインストール
2.1 必要なツール
- ffmpeg: ビデオの結合に使用します。こちらからダウンロードしてインストールします。
2.2 Pythonライブラリのインストール
pip install httplib2 oauth2client google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
3. 使用方法
3.1 設定
- Google Developers Consoleで新しいプロジェクトを作成し、YouTube Data API v3を有効にします。
- OAuth 2.0 クライアントIDを作成し、ダウンロードしたJSONを
client_secrets.json
として保存します。 -
integrate.py
のstorage_path
変数を適切に設定します。(一時的に保存する場所の設定)
3.2 実行
- SDカードをPCに接続します。
- ターミナルまたはコマンドプロンプトで以下のコマンドを実行します:
python integrate.py "あげたい動画のタイトル"
4. スクリプトの概要
具体的なコードはgithubにあげたので見てください。
-
integrate.py
-
.LRF
ファイルを削除します(不要な場合)。 -
.MP4
ファイルを検索し、名前順にソートします。 - ffmpegを使用してビデオを結合します。
- 結合が成功した場合、
upload.py
を呼び出してYouTubeにアップロードします。
-
-
upload.py
- OAuth2認証を使用してYouTube APIにアクセスします。
- ビデオのメタデータ(タイトル、説明、カテゴリなど)を設定します。
- ビデオをYouTubeにアップロードします。
まとめ
このスクリプトを使用することで、ビデオファイルの結合とYouTubeへのアップロードを簡単に、迅速に行うことができます。カスタマイズや拡張を行うことで、さらに多機能なツールを作成することも可能です。
自分は自分用の作業用BGMを作ったりして使っていますー!
ツールを作るのって楽しいですね〜
ではまた!