前回(IBM SpeechToTextをPythonで実装2)の続きです。
前回字幕化した内容を動画に結合し、YouTubeにアップロードしていきます。
成果物は以下です。
一般的なGUIの動画編集ソフトを一切使わずに作成したため、
後半の画面遷移が少し早い印象がありますが、
概ねよくできたと思います。
【7分でGoogleアカウントの登録とYouTubeへの動画のアップロード(限定公開)を説明 Google account registration and YouTube video upload
動画に関する編集作業(撮影、結合、分割、字幕追加)は全てCUIフリーソフトの
FFMPEGで行いました。
FFMPEG所感
・低スペックのPCを利用した都合上、特に撮影の部分で、
処理落ちが多く感じました。本格的に録画するのであれば、
OBSやBandicamといった撮影用のソフトウェアの導入を検討したほうが
よさそうです。
苦労した点
・撮影中にPCが保存している前回の入力内容などが表示されてしまい、
余計な動画の編集が必要になった。
・説明の流れ上、どうしても必要な場面では、画像を動画にかぶせることで
モザイクのようなことをした。
・字幕と動画のタイミングを合わせるために、プログラムで字幕用の
ファイルを作成した。
(参照「IBM SpeechToTextをPythonで実装2」)
利用したFFMPEGのコマンドの説明
詳細な説明は以下の通りです。
撮影
以下のプログラムをrecord.bat といったファイルに記載して実行します。
実行後、batファイルと同じフォルダに
「recoding_年月日_時分秒マイクロ秒.mp4」のファイルが出来上がります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@echo off :start set yyyymmdd=%DATE:/=% set HHmmSSsss=%time::=% set outfile=recoding_%yyyymmdd%_%HHmmSSsss%.mp4 set opt1=-show_region 0 -framerate 30 -draw_mouse 1 set opt2=-video_size 1280x800 -offset_x 0 -offset_y 0 set opt3=-i desktop -pix_fmt yuv420p SETLOCAL ENABLEDELAYEDEXPANSION if not "%mod%" equ "1" ( set /p inp="press [s] to start, [q] for quit : " if not "!inp!" equ "s" goto :eof set mod=1 "%~0" %* ) ffmpeg -f gdigrab %opt1% %opt2% %opt3% %outfile% set mod=0 goto :start |
結合
1 |
ffmpeg -safe 0 -f concat -i [定義ファイル名] -c:v copy -c:a copy -map 0:v -map 0:a [出力ファイル名] |
分割
[開始地点(秒)]の値を調整することで、任意の地点から動画を抜き出します。
0なら最初から抜き出します。
1 |
ffmpeg -ss [開始地点(秒)] -i [入力する動画パス] -t [切り出す秒数] [出力する動画パス] |
字幕追加
[入力する字幕パス]はsrtファイル形式(※)で準備する必要があります。
(※)次のような形式です。
[番号]
[表示開始時:分:秒:マイクロ秒] –> [表示終了時:分:秒:マイクロ秒]
[表示するテキスト]
例:1~5秒まで「皆さんこんにちは。」と表示する場合。
1
00:00:01:000 –> 00:00:05:000
皆さんこんにちは。
1 |
ffmpeg -i [入力する動画パス] -vf subtitles=[入力する字幕パス] [出力する動画パス] |
モザイク(画像の張り付け)
動画の指定秒数の間だけ画像を表示する方法が見つけられなかった為、
動画をモザイク前とモザイク中、モザイク後に分けて、
モザイク中のものに以下のコマンドを適用後、
再度3つのファイルを結合しました。
時間指定の方法は、後日調査結果をまとめたいと思います。
1 |
ffmpeg -i [入力する動画パス] -i [入力する画像パス] -filter_complex "overlay=[X座標]:[Y座標]" [出力する動画パス] |
音楽と動画の合成
1 |
ffmpeg -i [入力する動画パス] -i [入力する音楽パス] -c:v copy -c:a mp3 -map 0:v:0 -map 1:a:0 [出力する動画パス] |
動画に利用した音楽
音楽はshimtoneさんのmallowと言う曲をお借りしました。
落ち着いた曲で 作業用BGMとしても 利用しやすかったです。
今後も似たような動画を作成する際にはお世話になりたいと考えています。
コメント