0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

shotcutのタイムラインに動画を追加する

Posted at

目的

前回記事「Pythonとffmpegで動画の無音部分をカットする」により、たくさん動画を作ったので、shotcutのタイムラインに追加する処理を作ってみた。

背景

前々回記事「shotcutで動画作ってyoutube投稿してみた」、前回記事に引き続き、shotcutのmltファイルを直接加工して、動画を追加するpythonコードを作ってみた。

環境

  • Windows10 バージョン21H1(OSビルド19043.1348)
  • Python3.9.1
  • Shotcut 21.10.31

セットアップ

以下の記事のセットアップを参照のこと。
前回記事「Pythonとffmpegで動画の無音部分をカットする」
前々回記事「shotcutで動画作ってyoutube投稿してみた」

使い方

GitHubからSource code(zip)をダウンロードして、展開する。
展開したパスを「c:\Git\traning\」として、加工前の動画ファイルが「c:\Git\traning\python\Movie\test.mov」なら以下のコマンドを実行する。

cd c:\Git\traning\python\Movie
python movieCutter.py c:\Git\traning\python\Movie\test.mov

すると、「*_part*.mov」な分割ファイルが生成されるので、以下のようなスクリプトを書いて実行すると、プレイリストに分割ファイルが追加され、test1.mltに保存される。

テストコード:プレイリストに動画追加
from shotcutHelper import *
# カレントフォルダ以下で「*_part*.mov」を再起検索して、
# 見つけたファイルをトラックmail_binに追加して、保存する
app = ShotcutHelper('./せんちゃんネル/テンプレート.mlt')
movies = glob.glob('./**/*_part*.mov', recursive=True)
app.add_movies('main_bin', movies)
app.save_xml('./せんちゃんネル/test1.mlt')

(プレイリストのIDは'main_bin'である)
image.png
↓ 追加された
image.png

また、以下のようなスクリプトを書いて実行すると、タイムラインに分割ファイルが追加され、test2.mltに保存される。

テストコード:タイムラインに動画追加
from shotcutHelper import *
# カレントフォルダ以下で「*_part*.mov」を再起検索して、
# 見つけたファイルをトラックplaylist0に追加して、保存する
app = ShotcutHelper('./せんちゃんネル/テンプレート.mlt')
movies = glob.glob('./**/*_part*.mov', recursive=True)
app.add_movies('playlist0', movies)
app.save_xml('./せんちゃんネル/test2.mlt')

(ただし、存在する動画トラックのIDが'playlist0'とする)
shotcutのタイムラインのV1のIDは、
image.png
mltファイルを直接開くと、以下の赤線の様にID="playlist0"であることが確認できる
image.png
↓ タイムラインに追加された(二つ目のCloudsは、隙間がないように前詰めされたようだ)
image.png

おわりに

やっていることは、ただのxml編集なので、難しいところはなかった。
トラックの追加とテロップの追加もそのうち挑戦してみたい。

関連リンク

参考サイト

Pythonの順序付き辞書OrderedDictの使い方
Python 日付フォーマット チートシート

ドキュメント

MLT XML Annotations

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?