OBS녹화한 파일을 편집을 위해 FFMPEG로 분해를 하는 작업을 진행중입니다
mkdir DONE 폴더를 만들고
for %%A in (*.mkv) do ( 폴더안의 mkv파일을 대상으로
ffmpeg -y -i "%%A" -map 0:0 -c copy "%%A_VIDEO.mp4"
ffmpeg -y -i "%%A" -map 0:1 -c copy "%%A_ALL.wav"
ffmpeg -y -i "%%A" -map 0:2 -c copy "%%A_DRUM.wav"
ffmpeg -y -i "%%A" -map 0:3 -c copy "%%A_PC.wav"
ffmpeg -y -i "%%A" -map 0:4 -c copy "%%A_MIC.wav"
move "%%A" DONE\ 변환이 끝난 파일은 DONE폴더로 보낸다
)
pause
exit
이렇게 작업을 해보니 출력파일에 ~~~.mkv_video.mp4 ~~~~~
이런식으로 확장자뒤에 글자가 덧붙여 나오다보니 저게 보기싫어
아래처럼 작성해보았습니다
mkdir DONE 폴더를 만들고
for %%A in (*.mkv) do set Name=%%A( 폴더안의 mkv파일을 변수로 하여 name에 저장하고
set Name=%Name:~0,-5% 변수에서 확장자를 잘라내고 (왜 5글자인지는 모르겠습니다...)
ffmpeg -y -i "%Name%.mkv" -map 0:0 -c copy "%Name%_VIDEO.mp4"
ffmpeg -y -i "%Name%.mkv" -map 0:1 -c copy "%Name%_ALL.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:2 -c copy "%Name%_DRUM.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:3 -c copy "%Name%_PC.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:4 -c copy "%Name%_MIC.wav"
move "%Name%.mkv" DONE\ 변환이 끝난 파일은 DONE폴더로 보낸다
)
pause
exit
이렇게 해보니 확장자는 없어집니다만
문제가
파일이 여러개일경우 특정1개만 작업이 된다는것이 의문입니다
위의것은 어찌 저찌 혼자서 파일을 다 쪼갰는데
아래는 파일이 1개만 쪼개집니다
즉 파일이 100개라면 100번 쪼개야한다는.....
아직 연구중이지만 아리까리하네요
혹시 차도가 있을까요....?
¸®´ª¿¡¼ Á÷Á¢ ÀÛ¼º »ç¿ëÇÏ´ø
½© ½ºÅ©¸³Æ®µéÀ»
À©µµ¿ì bat ÆÄÀÏ·Î ÀçÀÛ¼ºÇÏ¿© »ç¿ëÇÑÀûÀÌ ÀÖ¾ú´Âµ¥¿ä...
¸î¸î ÆÄÀÏ¿¡
For ¹®ÀÌ µé¾î°¡ ÀÖ±º¿ä
Âü°í µÇ½ÇÁö ¸ð¸£°Ú½À´Ï´Ù.
Àú´Â ¼Õ¶ÚÁö À̽ʿ©³â µÇ¾î¼...
À߸𸨴ϴÙ.
¶ó´Â ÆÄÀÏ¿¡ For ¹®ÀÌ µé¾îÀÖ´Â
ºÎºÐµé ¹ßÃéÀÔ´Ï´Ù.
if %delay_time_self_control_flag% equ 0 (
rem ÃÑ µô·¹ÀÌ Å¸ÀÓÀ» 5µîºÐÇؼ 3¹è, 2¹è¾¿ ºÐ¹èÇÑ´Ù.
for /f %%g in ('expr %auto_delay_time% * 3 / %delay_num%') do set main_delay=%gg
for /f %%g in ('expr %auto_delay_time% * 2 / %delay_num%') do set mior_delay=%%g
)
else (
rem ############################
rem ¿©±â¼ ¼öµ¿ Á¶Á¾ÇÑ´Ù.
set main_delay=0
set mior_delay=0
rem ############################
)
echo ======== %counter_sh% ==========
echo %last_delay_sec% Sec Delay
for /l %%g in (1,1,%last_delay_sec%) do (
sleep 1
(set /p a=%%g.) < nul
)
:cong
echo ======== %counter_sh% ==========
echo no > confirm.txt & echo no > index.txt
echo Files Initialized
echo %last_delay_sec% Sec Delay
for /l %%g in (1,1,%last_delay_sec%) do (
sleep 1
(set /p a=%%g.) < nul
)
:calc_elapsed_time
for /f "tokens=1-4 delims=:." %%g in ('echo %1') do (
set fir_time_hor=%%g
set fir_time_min=%%h
set fir_time_sec=%%i
set fir_time_mil=%%j
)
for /f "tokens=1-4 delims=:." %%g in ('echo %2') do (
set now_time_hor=%%g
set now_time_min=%%h
set now_time_sec=%%i
set now_time_mil=%%j
)
¶ó´Â ÆÄÀÏ¿¡ For ¹®ÀÌ µé¾îÀÖ´Â
ºÎºÐµé ¹ßÃéÀÔ´Ï´Ù.
rem echo ======== %counter_sh% ==========
rem echo %last_delay_sec% Sec Delay
for /l %%g in (1,1,%last_delay_sec%) do (
sleep 1
(set /p a=%%g.) < nul
)
echo.
:calc_elapsed_time
for /f "tokens=1-4 delims=:." %%g in ('echo %1') do (
set fir_time_hor=%%g
set fir_time_min=%%h
set fir_time_sec=%%i
set fir_time_mil=%%j
)
for /f "tokens=1-4 delims=:." %%g in ('echo %2') do (
set now_time_hor=%%g
set now_time_min=%%h
set now_time_sec=%%i
set now_time_mil=%%j
)
µµ¿òÀÌ µÇ´Â ³»¿ëÀÌ ÀÖ¾úÀ¸¸é
ÁÁ°Ú±º¿ä.
%~1 - %1À» È®ÀåÇÏ¿© ÁÖº¯ µû¿ÈÇ¥(")¸¦ Á¦°ÅÇÕ´Ï´Ù.
%~f1 - %1À» ¿ÏÀüÇÑ °æ·Î À̸§À¸·ÎÈ®ÀåÇÕ´Ï´Ù.
%~d1 - %1À» µå¶óÀÌºê ¹®Àڷθ¸ È®ÀåÇÕ´Ï´Ù.
%~p1 - %1À» °æ·Î·Î¸¸ È®ÀåÇÕ´Ï´Ù.
%~n1 - %1À» ÆÄÀÏ À̸§À¸·Î¸¸È®ÀåÇÕ´Ï´Ù.
%~x1 - %1À» ÆÄÀÏ È®ÀåÀڷθ¸ È®ÀåÇÕ´Ï´Ù.
%~s1 - È®ÀåµÈ °æ·Î¿¡´Â ªÀº À̸§¸¸ Æ÷ÇԵ˴ϴÙ.
%~a1 - %1À» ÆÄÀÏ ¼Ó¼ºÀ¸·Î È®ÀåÇÕ´Ï´Ù.
%~t1 - %¸¦ È®ÀåÇÕ´Ï´Ù. 1¿¡¼ ÆÄÀÏ
%~z1 ÀÇ ³¯Â¥/½Ã°£ - %1À»(¸¦) ÆÄÀÏ Å©±â·Î È®ÀåÇÕ´Ï´Ù.
%~1 - expands %1 removing any surrounding quotes (")
%~f1 - expands %1 to a fully qualified path name
%~d1 - expands %1 to a drive letter only
%~p1 - expands %1 to a path only
%~n1 - expands %1 to a file name only
%~x1 - expands %1 to a file extension only
%~s1 - expanded path contains short names only
%~a1 - expands %1 to file attributes
%~t1 - expands %1 to date/time of file
%~z1 - expands %1 to size of file
for±¸¹®¿¡¼ ÃßÃâ°¡´ÉÇÑ ¿É¼ÇµéÀÌ ´õ Àֳ׿ä...
Àú´Â °è¼Ó º¯¼ö¸¦ ÀÚ¸£°í ó¸®ÇÒ »ý°¢À» Çߴµ¥ forÀÚü¿¡ È®Àå¸í·É¾î·Î Á¸À縦 Çϴ±º¿ä,,,,,,
°¨»çÇÕ´Ï´Ù
set filename=%%A
set Name=%filename:~0,-5%
ffmpeg -y -i "%Name%.mkv" -map 0:0 -c copy "%Name%_VIDEO.mp4"
ffmpeg -y -i "%Name%.mkv" -map 0:1 -c copy "%Name%_ALL.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:2 -c copy "%Name%_DRUM.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:3 -c copy "%Name%_PC.wav"
ffmpeg -y -i "%Name%.mkv" -map 0:4 -c copy "%Name%_MIC.wav"
move "%Name%.mkv" DONE\
)
pause
exit
ÀÌ°Ô µÉÁö¸¦ ¸ð¸§ ±×³É °ýÈ£À§Ä¡°¡ °Å½½¸®°í º¯¼ö¸íÀÌ °Å½½·Á¼ ^^
±×¸®°í Æú´õ °æ·Î°¡ À©µµ¿ì ¹öÀü¶Ç´Â °èÁ¤¿¡ µû¶ó ¹èÄ¡ÆÄÀÏ ½ÃÀÛÀ§Ä¡¿¡¼ ½ÃÀÛÇϴ°æ¿ì°¡ ÀÖ°í Àý´ë°æ·Î(?)¿¡¼ ½ÃÀÛÇϴ°æ¿ì°¡ ÀÖ¾î¼ Èì~~
Dos´Â ¹è¿îÀûÀ̾øÀ¸´Ï ±×Àú ±î¸·´«....¤¾¤¾....
for %%A in (*.mkv) do for /f "tokens=1 delims=." %%F in ("%%A") do (
ffmpeg -y -i "%%A" -map 0:0 -c copy "%%F_VIDEO.mp4"
.....
.....
)
´ëÃæ ÀÌ·¸°Ô ÇÏ¸é µÉ °Í °°½À´Ï´Ù.