ここんとこ mp4 ファイルと srt ファイルをマージする必要があった。単にマージするだけだと、 MP4Box を使うのが簡単だし早い。だけども今回は、 mp4 に字幕を焼き込む必要があった。どうも MP4Box には焼き込みの機能がないみたいに思ったのだが、正しいだろうか?いずれにしても私は MP4Box でうまくやれなかったので、ネット上を探し回って、こんなのを YouTube で発見した。素晴らしい。けど問題は、 VLC GUI でやると 1 ファイル 1 ファイルごとに繰り返しセットしてやらないといけない。これは面倒。というわけで、このための bat ファイルを作った。
VLC の bat ファイルでの transcode については、 Transcode – VideoLAN Wiki を参照してください。
setlocal enabledelayedexpansion
set VLCEXE="C:\Program Files\VideoLAN\VLC\vlc.exe"
set InputFileExtension=mp4
set OutFolder=
pushd %~dp0
if "!OutFolder!" NEQ "" (
if not exist "!OutFolder!" (
mkdir !OutFolder!
)
)
set Dist=!OutFolder!
for %%a in (%*) do (
if %%~xa==.!InputFileExtension! (
if "!OutFolder!"=="" set Dist=%%~dpa
cmd /c
!VLCEXE! -I dummy -vvv %%a --sout #transcode{vcodec=h264,scale=auto,acodec=mpga,ab=128,channels=2,samplerate=44100,soverlay}:file{dst=!Dist!\sub_%%~na.mp4,no-overwrite} :no-sout-all :sout-keep vlc://quit
)
)
popd
exit
自分のファイルの変換作業終了後、 bat にちょっとした改良を加えた。
【使い方】
些細なオプションがある。
This website uses cookies.