ネットラジオをウォークマンで
今使っているウォークマンだとたびたび再生位置がリセットされる。通常の音楽だと別に気にならないのだが、ネットラジオとか入れていると再生位置がリセットされるのは非常に困る。
しかしながら音楽としてウォークマンに入れると前述のように再生位置がリセットされるのだが、動画として入れると再生位置がファイル単位で記憶される上に再生済みかどうかも記憶される。よってネットラジオ等再生位置がリセットされると困るものの類は動画としてファイルを作り直して転送することにした。以下にそのためのバッチファイルを書いておく。
@echo off setlocal ENABLEDELAYEDEXPANSION set NEROAAC="C:\Program Files\megui\tools\neroaacenc\neroAacEnc.exe" set AVS2WAV="C:\Program Files\PSPでVFR\tool\avs2wav.exe" set MP4BOX="C:\Program Files\megui\MP4Box.exe" set X264="C:\Program Files\x264\x264.exe" set AAC_OPTIONS= -q 0.2 set X264OPTIONS= --profile baseline --preset ultrafast --level 21 set CALLAPP=START "" /B /BELOWNORMAL /WAIT rem 複数ファイルのループ処理 SET ARGV=%* FOR %%I IN (!ARGV!) DO CALL :MAINLOOP "%%~I" GOTO :EOF :MAINLOOP rem ファイル設定 SET TGT_FILE=nul SET TGTAFILE=nul SET TITLE=%~n1 SET IN_FILE=%~dpnx1 SET WORKPATH=%TMP%\%~n1tmp SET OUT_PATH=H:\PSP\movie\nwx SET WAV_FILE=%WORKPATH%\%~nx1_tmp.wav SET AVSFILE=%WORKPATH%\%~nx1_tmp.1.avs SET OUTVFILE=%WORKPATH%\%~nx1_tmp.video.mp4 SET OUTAFILE=%WORKPATH%\%~nx1_tmp.audio.mp4 SET OUTMFILE=%WORKPATH%\%~nx1_tmp.mux.mp4 SET OUT_FILE=%OUT_PATH%\%~n1.mp4 IF EXIST "%OUT_FILE%" GOTO :EOF IF NOT EXIST "%WORKPATH%" mkdir "%WORKPATH%" IF NOT EXIST "%OUT_PATH%" mkdir "%OUT_PATH%" ECHO A = DirectShowSource("%IN_FILE%", video=false, audio=true) >"%AVSFILE%" ECHO A = A.Audiorate ^^!= 48000 ^^? A.SSRC(48000, false) : A >>"%AVSFILE%" ECHO V = ColorBars(width=432,height=240).ChangeFPS(15).Trim(0,15*A.AudioLength/A.AudioRate) >>"%AVSFILE%" ECHO V = subtitle(V,"%TITLE%",font="小塚明朝 Std Sub R",size=26,text_color=$ddddff,align=5) >>"%AVSFILE%" ECHO V = ShowTimeCode(V,align=3,x=V.width-8,y=V.height-1,size=20) >>"%AVSFILE%" ECHO V = ConvertToYV12(V) >>"%AVSFILE%" ECHO AudioDub(A, V) >>"%AVSFILE%" IF NOT EXIST "%WAV_FILE%" %CALLAPP% %AVS2WAV% "%AVSFILE%" "%WAV_FILE%" IF NOT EXIST "%OUTAFILE%" %CALLAPP% %NEROAAC% -if "%WAV_FILE%" -of "%OUTAFILE%" %AAC_OPTIONS% IF NOT EXIST "%OUTVFILE%" %CALLAPP% %X264% %X264OPTIONS% --output "%OUTVFILE%" "%AVSFILE%" IF NOT EXIST "%OUTMFILE%" %CALLAPP% %MP4BOX% -add "%OUTVFILE%" -add "%OUTAFILE%" -new "%OUTMFILE%" IF EXIST "%OUTMFILE%" COPY /Y /B "%OUTMFILE%" "%OUT_FILE%" IF EXIST "%OUTMFILE%" RMDIR /S /Q "%WORKPATH%" :EOF