お絵描き伝言ゲームのgifファイルをmp4動画に変換する方法
はじめに
お絵描き伝言ゲーム(Gartic Phone)では、
みんなで振り返りするときにみんなの回答と絵をgifファイルとして保存できます。
保存したGifをTwitterなどにそのまま投稿できますが、
(面白すぎて)厳選できなかったので1つの動画にしたいなと思ったのがきっかけです。
前提条件
- 動作環境はWindows
- FFmpegをインストールしておく
処理手順
- 保存したgifファイルを1つのフォルダに格納
- gifファイルをmp4ファイルに変換
- mp4を1つに結合
gif2mp4.cmd
rem gifファイルの保存先フォルダ
SET INDIR=D:\dengongame\20220328
rem mp4一覧のファイル
SET LISTFILE=D:\dengongame\20220328\mylist.txt
rem 出力するmp4動画のパスとファイル名
SET OUTFILE=D:\dengongame\20220328output.mp4
rem FFmpegの実行ファイルのパス
SET FFMPEGEXE=C:\ffmpeg\bin\ffmpeg.exe
rem カレントディレクトリを移動
CD /D "%INDIR%"
rem フォルダのgif->mp4に変換
for /r "%INDIR%" %%f in (*.gif) do (
"%FFMPEGEXE%" -i %%f -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" %%f.mp4
)
rem フォルダ内のmp4フォルダを一覧に出力
TYPE NUL > "%LISTFILE%"
FOR %%I in (*.mp4) DO (
ECHO file '%%~FI' >> "%LISTFILE%"
)
rem 一覧のフォルダを1つのmp4ファイルに結合
"%FFMPEGEXE%" -f concat -safe 0 -i "%LISTFILE%" -c copy "%OUTFILE%"
解説
実行時のパス設定
- 保存したgifファイルを1つのフォルダに格納
- gifファイルをmp4ファイルに変換
- mp4を1つに結合
rem gifファイルの保存先フォルダ
SET INDIR=D:\dengongame\20220328
rem mp4一覧のファイル
SET LISTFILE=D:\dengongame\20220328\mylist.txt
rem 出力するmp4動画のパスとファイル名
SET OUTFILE=D:\dengongame\20220328output.mp4
rem FFmpegの実行ファイルのパス
SET FFMPEGEXE=C:\ffmpeg\bin\ffmpeg.exe
rem カレントディレクトリを移動
CD /D "%INDIR%"
rem フォルダのgif->mp4に変換
for /r "%INDIR%" %%f in (*.gif) do (
"%FFMPEGEXE%" -i %%f -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" %%f.mp4
)
rem フォルダ内のmp4フォルダを一覧に出力
TYPE NUL > "%LISTFILE%"
FOR %%I in (*.mp4) DO (
ECHO file '%%~FI' >> "%LISTFILE%"
)
rem 一覧のフォルダを1つのmp4ファイルに結合
"%FFMPEGEXE%" -f concat -safe 0 -i "%LISTFILE%" -c copy "%OUTFILE%"
解説
実行時のパス設定
SETコマンドで実行時のフォルダやパスを指定しています。
mylist.txtはgifからmp4に変換したmp4一覧を出力するために使用します。
rem gifファイルの保存先フォルダ
SET INDIR=D:\dengongame\20220117
rem mp4一覧のファイル
SET LISTFILE=D:\dengongame\20220117\mylist.txt
rem 出力するmp4動画のパスとファイル名
SET OUTFILE=D:\dengongame\20220117output.mp4
rem FFmpegの実行ファイルのパス
SET FFMPEGEXE=C:\ffmpeg\bin\ffmpeg.exe
カレントディレクトリの移動
/Dオプションを使いドライブ変更も行っています。
rem カレントディレクトリを移動
CD /D "%INDIR%"
gifファイルをmp4に変換
フォルダ内のgifファイルでループし、FFmpegにオプション指定しながらmp4に変換しています。
-i %%f :入力ファイル
-movflags faststart :メタデータを動画ファイルの先頭に
-pix_fmt yuv420p :動画フォーマット
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" %%f.mp4 :おまじない1
rem フォルダのgif->mp4に変換
for /r "%INDIR%" %%f in (*.gif) do (
"%FFMPEGEXE%" -i %%f -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" %%f.mp4
)
mp4を1つに結合
フォルダ内のmp4ファイルを%LISTFILE%(mylist.xt)に出力し、
出力したmp4ファイルを1つのファイルに結合します。
rem フォルダ内のmp4フォルダを一覧に出力
TYPE NUL > "%LISTFILE%"
FOR %%I in (*.mp4) DO (
ECHO file '%%~FI' >> "%LISTFILE%"
)
rem 一覧のフォルダを1つのmp4ファイルに結合
"%FFMPEGEXE%" -f concat -safe 0 -i "%LISTFILE%" -c copy "%OUTFILE%"
コマンド実行
gif2mp4.cmdをダブルクリック
改善点
- 保存フォルダのドラッグ&ドロップにする
- 作業完了したmp4ファイルを削除する
おわり
変換した動画はyoutubeにアップできます。
これでいつでもどこでも思い出し笑いができますね
参考リンク
-
動画変換時のエラー対応 ↩
Author And Source
この問題について(お絵描き伝言ゲームのgifファイルをmp4動画に変換する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/khinat/items/c05a91ba2089ac7a4c46著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .