動画連結の自動化Ⅱ

動画の説明

この動画では、前回使ったバッチファイルの作り方を解説しています。
「テキストファイルにコードを書く」→「フォルダを作成して連結したい動画を入れる」→「フォルダのパスをテキストファイルにコピペする」→「テキストファイルをバッチファイルに変更する」→「バッチファイルをダブルクリックする」という大まかな流れになっています。
テキストファイルのコードは下記の「補足」からコピペしてください。

補足

コピペ用コード↓

@echo off
setlocal enabledelayedexpansion

rem 動画フォルダに移動
cd /d [パスをコピー]

rem 連結動画用のフォルダを作成(存在しない場合のみ作成)
if not exist "連結動画" (
mkdir "連結動画"
)

rem mp4ファイル名を配列に格納
set i=0
for %%f in (*.mp4) do (
set /a i+=1
set "file[!i!]=%%f"
)

rem ファイル数の確認
if %i% lss 2 (
echo mp4 ファイルが2つ以上ありません。終了します。
pause
exit /b
)

rem 順列を生成し、テキストファイルを作成
call :generate_permutations 0

rem 生成したテキストファイルをffmpegで結合し、「連結動画」フォルダに移動後、テキストファイルを削除
for %%f in (*.txt) do (
rem テキストファイルの拡張子なしのファイル名を取得
set "filename=%%~nf"

rem ffmpegでファイルを結合し、「連結動画」フォルダ内にファイルを出力
ffmpeg -f concat -safe 0 -i "%%f" -c copy "連結動画\!filename!.mp4"

rem 結合後にテキストファイルを削除
del "%%f"
)

echo 動画連結が終わりました。
pause
exit /b

rem 順列を生成するサブルーチン
:generate_permutations
setlocal
set idx=%1
set /a idx+=1

rem 順列が全て生成されるまで処理を繰り返す
if %idx% lss %i% (
for /L %%j in (%idx%,1,%i%) do (
set "temp=!file[%idx%]!"
set "file[%idx%]=!file[%%j]!"
set "file[%%j]=!temp!"

rem まだ順列の続きがある場合、再帰的に呼び出す
call :generate_permutations %idx%

rem ファイルの順番を戻す
set "temp=!file[%idx%]!"
set "file[%idx%]=!file[%%j]!"
set "file[%%j]=!temp!"
)
) else (
rem 順列を出力する
set "filename="
for /L %%k in (1,1,%i%) do (
set "filename=!filename!!file[%%k]!"
)

rem 各ファイルをffmpeg用の形式でテキストファイルに出力 (UTF-8 BOMなし)
set "output="
for /L %%k in (1,1,%i%) do (
set "output=!output!file '[パスをコピー]\!file[%%k]!'`r`n"
)

rem PowerShellでBOMなしUTF-8でファイルを出力
powershell -Command "$Output = [System.Text.Encoding]::UTF8.GetBytes(\"!output!\"); [System.IO.File]::WriteAllBytes('%cd%\!filename!.txt', $Output)"
)

endlocal
goto :eof

動画が再生されない時

動画が再生されない場合や、動画が見にくい場合は下記の切り替えボタンをクリックのうえ、設定で画質の調整をしてください。

切り替え

OK
パスワードの取得方法