MoviePyでビデオクリップの注釈
14956 ワード
AWS、Kubernetes、Python、JavaScriptなどのコンテンツを書く.すべての最新のコンテンツを表示するには、必ずvisit my blog そして、私のニュースレターを購読してください..
このポストはMoviePy 私のサイトについて記録した短いビデオにいくつかのキャプションを注釈するライブラリ
必要条件 親しみPipenv . 参照here Pipenvの上の私のポストのために.
始める
を作成しましょう
ビデオの注釈
例として、私が編集している私のビデオのGIFです.
閉じるこの動画はお気に入りから削除されています
ビデオを見ることから、デモで本質的に3つのものがあります: 表示タスクとサブタスク. サブタスクの並べ替え. 現在の目標を開きます. これらはそれぞれ0 : 00、0 : 03、0 : 06秒のマークで起こります.
我々は、これらの各MoviePyのおかげで簡単にいくつかのキャプションを追加することができます.
イン
我々は今、Aを作成したい
によるとMoviePy TextClip docs , 私たちは
The
最後に、我々は一緒にそれらをすべて一緒に構成することができます
スクリプトが完了したら、我々は今見ることができます
結果は次のようになります.
概要
今日のポストは、使用する方法を示しました
私は私が将来的にいくつかの時間を節約するために働いている私のビデオのいくつかを注釈するのを助けるためにこれを利用することを望んでいる.
最後のコードは次のようになります.
資源と更なる読書 The ABCs of Pipenv MoviePy TextClip docs Pipenv MoviePy GitHub - project code フォトクレジット
もともと私の投稿blog . 遅滞なく新しいポストを見るために、そこのポストを読んで、私の会報を購読してください.
This is Day 12 of the #100DaysOfPython challenge.
このポストはMoviePy 私のサイトについて記録した短いビデオにいくつかのキャプションを注釈するライブラリ
workingoutloud.dev
.必要条件
始める
を作成しましょう
hello-moviepy
ディレクトリとインストール枕.# Make the `hello-moviepy` directory
$ mkdir hello-moviepy
$ cd hello-moviepy
# We will write everything in main.py
$ touch main.py
# Add this stage, you will need to add you video clip - I added mine to the `hello-moviepy` directory
$ cp path/to/wol-dev.mp4 .
# Init the virtual environment
$ pipenv --three
$ pipenv install moviepy
この段階で、ビデオを注釈するためにスクリプトを書くことができます.ビデオの注釈
例として、私が編集している私のビデオのGIFです.
閉じるこの動画はお気に入りから削除されています
workingoutloud.dev
サイト.それは約9秒長さと私はそれにいくつかのテキストを追加したい.ビデオを見ることから、デモで本質的に3つのものがあります:
我々は、これらの各MoviePyのおかげで簡単にいくつかのキャプションを追加することができます.
イン
main.py
, 次を追加します.from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
video = VideoFileClip("wol-dev.mp4")
上記のコードでは、単に必要なモジュールをインポートし、VideoFileClip
ビデオファイル(プロジェクトのルートディレクトリからの相対パス).我々は今、Aを作成したい
TextClip
ビデオの3つのポイントの各々のためのオブジェクト.によるとMoviePy TextClip docs , 私たちは
TextClip
コンストラクタは、テキスト、フォント、色、およびフォントサイズの周りにいくつかの関連する引数を取ることができます.The
TextClip
インスタンス自体には、位置、期間、開始時刻を設定するメソッドへのアクセスがあります.賢明なデフォルトを関数に抽象化し、実装します.def text_clip(text: str, duration: int, start_time: int = 0):
"""Return a description string on the bottom-left of the video
Args:
text (str): Text to show
duration (int): Duration of clip
start_time (int, optional): Time in video to start at (in seconds). Defaults to 0.
Returns:
moviepy.editor.TextClip: A instance of a TextClip
"""
return (TextClip(text, font="Arial", fontsize=24, color='black')
.set_position((20, video.h - 44))
.set_duration(duration)
.set_start(start_time))
# Make the text. Many more options are available.
text_clip_one = text_clip("Create tasks and subtasks", 3)
text_clip_two = text_clip("Sort subtasks by table header", 3, 3)
text_clip_three = text_clip("View goals", 3, 6)
ヘルパーメソッドを作成した後、我々はTextClip
私たちがビデオに追加したいそれぞれの異なる注釈のインスタンス.最後に、我々は一緒にそれらをすべて一緒に構成することができます
CompositeVideoClip
オブジェクトとビデオファイルを書き込みます.I am also writing out a
.gif
file to use as a preview of the video on this post.
# Overlay text on video
result = CompositeVideoClip(
[video, text_clip_one, text_clip_two, text_clip_three])
result.write_videofile("wol_dev_edited.mp4", fps=25)
result.write_gif("wol_dev_edited.gif", fps=8)
これでスクリプトを実行できますpython main.py
. 進行状況を示すいくつかの進捗バーがあります.スクリプトが完了したら、我々は今見ることができます
wol_dev_edited.mp4
and wol_dev_edited.gif
にhello-moviepy
ディレクトリ.結果は次のようになります.
概要
今日のポストは、使用する方法を示しました
MoviePy
パッケージをプログラムにビデオにいくつかのテキストキャプションを追加します.私は私が将来的にいくつかの時間を節約するために働いている私のビデオのいくつかを注釈するのを助けるためにこれを利用することを望んでいる.
最後のコードは次のようになります.
from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
video = VideoFileClip("wol-dev.mp4")
def text_clip(text: str, duration: int, start_time: int = 0):
"""Return a description string on the bottom-left of the video
Args:
text (str): Text to show
duration (int): Duration of clip
start_time (int, optional): Time in video to start at (in seconds). Defaults to 0.
Returns:
moviepy.editor.TextClip: A instance of a TextClip
"""
return (TextClip(text, font="Arial", fontsize=24, color='black')
.set_position((20, video.h - 44))
.set_duration(duration)
.set_start(start_time))
# Make the text. Many more options are available.
text_clip_one = text_clip("Create tasks and subtasks", 3)
text_clip_two = text_clip("Sort subtasks by table header", 3, 3)
text_clip_three = text_clip("View goals", 3, 6)
# Overlay text on video
result = CompositeVideoClip(
[video, text_clip_one, text_clip_two, text_clip_three])
result.write_videofile("wol_dev_edited.mp4", fps=25)
result.write_gif("wol_dev_edited.gif", fps=8)
資源と更なる読書
element5digital
もともと私の投稿blog . 遅滞なく新しいポストを見るために、そこのポストを読んで、私の会報を購読してください.
Reference
この問題について(MoviePyでビデオクリップの注釈), 我々は、より多くの情報をここで見つけました https://dev.to/okeeffed/annotating-video-clips-with-moviepy-2m00テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol