FFmpeg 사용법

Tips 2017.02.15 18:47

* ffmpeg  다운로드(빌드된 버전 Windows 용)
    소스 : https://ffmpeg.org/download.html
    빌드 : https://ffmpeg.zeranoe.com/builds/

- ffmpeg.exe 파일 단독으로 모든 기능

- 상용프로그램(WonderShare Video converter) 보다 더 동영상 인코딩 속도가 빠르고 화질 좋음




* FFmpeg를 활용한 비디오 유틸

http://codens.info/1434



//==========

    - 기본 사용 방법
ffmpge  '입력 옵션'  '입력 파일'    '출력 옵션'   '출력 파일'



- ffmpeg 옵션(option)
https://ffmpeg.org/ffmpeg.html

    - 입력 파일 지정 : -i input.mp4
    - 형식 강제 지정 : -f gif
      
    - 시작 위치 : -ss 00:00:02 (2초에서 시작)
    - 끝 위키 : -to 00:00:10 (10초에서 끝)
    - 읽을 길이 설정(입력) : -t 3 (3초 길이 읽기)
   
      
    - 코덱 설정 (기본)
        -c:v libx264    (H.264)
        -c:v libx265    (H.265, HEVC)


    - GPU 가속
        - 입력
            -hwaccel cuvid -c:v h264_cuvid (H.264)
            -hwaccel cuvid -c:v hevc_cuvid (H.265, HEVC)

        - 출력(인코딩 코덱)
            -c:v h264_nvenc  (H.264)
            -c:v hevc_nvenc  (H.265, HEVC)


    - bitrate 설정 : -b 2048k
        -b:v 1048k (비디오)
        -b:a 128k (오디오)

    - framerate 설정(fps) : -r 24 (초당 24프레임)

    - 크기 조정 : -s 640x480
        - 입력부에서 가속을 쓰면 안될수 있음

    - 파일 형식 지정 : -f mp4  (mp4 파일)
    -y : 묻지도 않고 파일 덮어쓰기


    - 오디오 선택
        -map 0:v:0 0:a:1 (1번째 비디오, 2번째 오디오 선택)


    //그외 옵션
        - 양자화 (quantizer scale), 품질
-qp   quantization parameter , -1 ~ 51 , 기본 -1
-cq   constant quality mode in VBR rate , 0~51, 기본 0 , h264_nvenc 용
-crf  constant quality mode ,-1 ~ FLT_MAX(float최대), 기본 -1 , libx264 용


    - 인코딩 없이 트랙 복사
        -map 0:a -c:a copy (모든 오디오 스트림을 복사)

    - 인코딩 없이 일정 구간 자르기
    https://trac.ffmpeg.org/wiki/Seeking
ffmpeg -y -i INPUT.MP4 -ss 00:01:00  -to 00:02:00  -map 0:v -c:v copy  -map 0:a -c:a copy  OUT.MP4
        - 1분~2분 구간을 자른다, -ss 를 입력파일 뒤에 놓아야 정확하게 잘린다

- 비디오 파일 정보 보기

ffmpeg -i 파일이름



//=======
//사용예
ffmpeg -ss 00:00:02 -t 3 -i INPUT.mp4 -r 10 -s 640x480 OUTPUT.gif
    - 입력 : 2초에서 시작해서 3초동안 읽는다
    - 출력 : fps는 10, 해상도 640x480으로 변환



//=====================

// 배치파일

fmpg.bat




//=====================
//인코딩 속도 비교

    - 소프트웨어(기본)
ffmpeg -y -i avatar.2mbps-o.mkv -c:v libx264 avatar.2mbps-4-sw.mkv (속도 = 1.1x)
ffmpeg -y -i avatar.2mbps-o.mkv -c:v libx265 avatar.2mbps-5-sw.mkv (속도 = 0.52x)

ffmpeg -y -i avatar.2mbps-5-q25.mkv -c:v libx264 avatar.2mbps-54-sw.mkv (속도 = 1.11x)
ffmpeg -y -i avatar.2mbps-5-q25.mkv -c:v libx265 avatar.2mbps-55-sw.mkv (속도 = 0.52x)

    -하드웨어(GPU 가속)
ffmpeg -y -i avatar.2mbps-o.mkv -c:v h264_nvenc avatar.2mbps-4-hw.mkv (속도 = 10.5x)
ffmpeg -y -i avatar.2mbps-o.mkv -c:v hevc_nvenc avatar.2mbps-5-hw.mkv (속도 = 10.1x)

ffmpeg -hwaccel cuvid -c:v h264_cuvid -y -i avatar.2mbps-o.mkv -c:v h264_nvenc avatar.2mbps-44-hw-in.mkv (속도 = 15.5x)
ffmpeg -hwaccel cuvid -c:v h264_cuvid -y -i avatar.2mbps-o.mkv -c:v hevc_nvenc avatar.2mbps-45-hw-in.mkv (속도 = 11.8x)
    기본 -qp (양자와) 값이 40 정도로 예상
ffmpeg -hwaccel cuvid -c:v h264_cuvid -y -i avatar.2mbps-o.mkv -c:v hevc_nvenc -qp 30 avatar.2mbps-5-q30.mkv (속도 = 8.46x)

ffmpeg -hwaccel cuvid -c:v hevc_cuvid -y -i avatar.2mbps-5-q25.mkv -c:v hevc_nvenc avatar.2mbps-54-hw-in.mkv (속도 = 12.1x)
ffmpeg -hwaccel cuvid -c:v hevc_cuvid -y -i avatar.2mbps-5-q25.mkv -c:v hevc_nvenc avatar.2mbps-55-hw-in.mkv (속도 = 11.8x)



//=====================
//양자화별 용량 비교
    -원본 : avatar 508M
    - H.264(AVC)
ffmpeg -hwaccel cuvid -c:v h264_cuvid -y -i avatar.2mbps-o.mkv -c:v h264_nvenc -qp 10 avatar.2mbps-4-q10.mkv
    기본 : 66
    10 : 1860
    20 : 637
    30 : 221 <== 적당(28)
    40 : 81
    50 : 36

    - H.265(HEVC)
ffmpeg -hwaccel cuvid -c:v h264_cuvid -y -i avatar.2mbps-o.mkv   -c:v hevc_nvenc  -qp 30 avatar.2mbps-5-q30.mkv
    기본 : 66
    10 : 1530
    20 : 501
    30 : 168 <== 적당
    40 : 59
    50 : 23



'Tips' 카테고리의 다른 글

포토샵 사용 팁 모음  (0) 2017.02.21
윈도우 10 '이 앱을 열 수 없습니다' 에러 해결법  (0) 2017.02.20
FFmpeg 사용법  (0) 2017.02.15
FireFox DB(sqlite) 정리  (0) 2017.02.14
Windows 10 녹화 기능 사용 방법  (1) 2017.02.12
비디오를 gif로 만들기(FFMPEG 이용)  (0) 2017.02.12
Posted by 코덴스
TAG

댓글을 달아 주세요