본문으로 바로가기

윈도우 FFMPEG 인코딩 mp4 자르기

category Media Streaming 2018.06.20 09:57

http://3jini.tistory.com/162


에서 리눅스베이스인 xpenology에서 자동 인코딩 에 대한 글을 게시했다.


NAS 이다보니 cpu성능도 낮고 케이스까지 닫혀있으니 ffmpeg 인코딩을 해보면 소리가 여간 시끄러운게 아니다. 굴착기 돌리는 중인줄. ㅠㅠ. 까지는 아니고.


하여튼 빵빵한 윈도우 CPU를 활용하는게 낫겠다 싶어서 

윈도우용 배치파일을 만들어 보았다.


사용법

다음 각 파일을 같은 폴더에 둔다.


1. 배치파일

CutEncodMP4.cmd



2. ffmpeg

https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20180619-830695b-win64-static.zip


파일을 받아서 bin 폴더안에 ffmpeg.exe 파일만 같은 폴더에둔다.


3. list.txt

형식은 다음과 같이 작성한다. 배치파일 REM 주석 참고.

인코딩할 실제영상파일명|시작시간(시분초)|자를 영상길이(시분초)


세상사.E02.ts|00:07:34|00:21:30

세상사.E03.ts|00:09:13|00:21:30

세상사.E04.ts|00:05:44|00:21:30



샘플

list.txt



배치파일 내용


수정 - 띄어 쓰기 파일명 있을 경우


EX) 내 이름이 뭔고.ts


인식 문제가 있어서 아래와 같이 fname 부분을 따옴표처리


@echo off

color 1f

pushd %~dp0


title 영상구간 자르기 및 mp4인코딩 by HappyChild 2018.06.20


REM 녹화할 파일 형식 list.txt는 배치파일과 같은 위치에 두자.

REM 구간자르기 및 인코딩할 파일도 같은 위치에 두자.

REM 파일이름|시작시간|영상시간

REM 아래 형식을 기준으로 첫번째파일은 10분 30초부터 5분간자르기

REM 두번째파일은 5분 30초부터시작해서 3분간 자르기

REM 첫번째파일.mkv|00:10:30|00:05:00

REM 두번째파일.ts|00:05:30|00:03:00

REM 파일은 파일명.trim.확장자 형태로 잘라진다.

REM .trim.확장자 파일은 파일명.mp4로 인코딩된다.


setlocal EnableDelayedExpansion

For /F "tokens=1,2,3 delims=|" %%i in (list.txt) Do (

rem set file="%%i"

set fname="%%~ni"

set fext=%%~xi

set start=%%j

set period=%%k

rem echo !file! !start! !period!

rem echo !fname!!fext!


ffmpeg -i !fname!!fext! -map 0:0 -map 0:1 -c:v copy -c:a copy -ss !start! -t !period! !fname!.trim!fext!

ffmpeg -i !fname!.trim!fext! -codec:v libx264 -profile:v baseline -preset slow -b:v 2000k -maxrate 4000k -vf scale=-1:720 -threads 0 -codec:a aac -b:a 128k -f mp4 -strict experimental !fname!.mp4

)


endlocal


echo 작업을 완료하였습니다. 아무키나 누르면 종료합니다.

pause >nul


좀 복잡해보인다지만,, 어려운것은 없다.







댓글을 달아 주세요