あなたの天然記念物(忌中) @yrntrlmnmnt

こちらのバッチファイルに統合しました。 → https://tabtter.jp/diary/2750

だんだん、膨れてきました。
動画編集の素材準備用なので、AviUtlで読めればOKです。
WAVはSoXで48kHzにリサンプル、音量正規化します。
AviUtlのAVI/AVI2入力プラグインで読み込みを確認済み。
なぜかMediaPlayerでは百発百中で再生不可です。
※バッチファイル中のサブルーチンavi_update_wavは未使用(動作未チェックのため)

このバッチファイルが使っているツールは
・ffmpeg
・SoX
・wmal2pcm
です。これらをPATHに追加してあります。

@echo off

setlocal enabledelayedexpansion

rem ffmpegでよく使うパラメタ
set acodec=-acodec pcm_s16le -ac 2
set vcodec=-vcodec rawvideo -pix_fmt bgr24
set vflip=-vf vflip
set overwrite=-y

rem 変換後のファイル名
set dest_avi="%~dpn1.avi"
set dest_wav="%~dpn1.wav"

rem 説明
echo 変換前:%1
echo avi:%dest_avi%
echo wav:%dest_wav%

if /i .mts == %~x1 (
call :mts2avi %1 %dest_avi%
) else if /i .flv == %~x1 (
call :flv2avi %1 %dest_avi%
) else if /i .wmv == %~x1 (
call :wmv2avi %1 %dest_avi%
) else (
echo 拡張子が違います。
pause
exit /b 1
)

call :avi2wav %dest_avi% %dest_wav%
rem call :avi_update_wav %dest_avi% %dest_wav%

echo 変換完了です。
pause
exit /b 0

:mts2avi
set mp2inavi="%~dpn1.mp2.avi"
ffmpeg %overwrite% -i %1 -sameq -ac 2 %mp2inavi%
ffmpeg %overwrite% -i %mp2inavi% %vcodec% %vflip% %acodec% %2
call :ifexistdel %mp2inavi%
goto :eof

:flv2avi
ffmpeg %overwrite% -i %1 %vcodec% %vflip% %acodec% %2
goto :eof

:wmv2avi
set video_only="%~dpn1.video.avi"
set sound_only="%~dpn1.sound.wav"
ffmpeg %overwrite% -i %1 -copyts %vcodec% %vflip% -an %video_only%
wmal2pcm %1 %sound_only%
ffmpeg %overwrite% -i %video_only% -i %sound_only% %vcodec% %acodec% %2
call :ifexistdel %video_only%
call :ifexistdel %sound_only%
goto :eof

:avi2wav
set dest_org_wav="%~dpn1.org.wav"
ffmpeg %overwrite% -i %1 -vn %acodec% %dest_org_wav%
sox --show-progress %dest_org_wav% %2 gain -n -3 rate -v 48k gain -n
call :ifexistdel %dest_org_wav%
goto :eof

:avi_update_wav
set old_name_avi="%~nx1.old.avi"
set old_avi="%~1.old.avi"
call :ifexistdel %old_avi%
rename %1 %old_name_avi%
ffmpeg %overwrite% -i %old_avi% -i %2 -map 0:0 -map 1:0 %vcodec% %acodec% %1
if exist %1 (
call :ifexistdel %old_avi%
)
goto :eof

:ifexistdel
if exist %1 (
del %1
)
goto :eof
閲覧1,441views