기본 문법
ffmpeg [[infile options][`-i' infile]]... {[outfile options] outfile}...
주: 기본 문법에 의하면 옵션들은 다음에 지정되는 파일에 적용이된다. 그렇기에 순서는 중요하고 같은 옵션을 여러 명령줄에 사용할 수 있다. 각 옵션들은 다음 입력 혹은 출력 파일에 적용된다.
주요 옵션
-L : 라이센스 보여줌
-h : 도움말 보여줌.
-version: 버전 정보
-format : 사용가능한 포멧, 코덱, 프로토콜을 보여줌.
-f <string> : 파일 포멧을 지정. (나중에 포멧 목록 참조)
-i <string> : 입력되는 파일 이름.
-y: 출력 파일 덮어스기
-t <timecode> : 기록할 시간을 초 단위 또는 hh:mm:ss[.xxx] 형태로 설정.
-fs <정수값> : 최대 파일 크기를 설정(바이트 단위)
-ss <timecode> : 작업할 시작시간 오프셋(시작위치)을 초 단위 또는 hh:mm:ss[.xxx] 형태로 설정.
-itsoffset <time_off>: 설정 ts 오프셋(set the input ts offset)
-itsscale <stream:scale>: 입력 ts 스케일 설정(set the input ts scale)
-album <앨범명> : 앨범을 설정.
-author <저자명> : 저자를 설정.
-comment <주석> : 주석을 설정.
-copyright <저작권>: 저작권에 대한 설정.
-title <타이틀이름> : 타이틀을 설정.
-timestamp <시간> : 타임스탬프 설정.
-genre <장르명> : 장르를 설정.
-dframes 숫자 : 기록할 데이터 프레임 개수 설정
-v <숫자>: 로깅 레벨 설정
-target <타입>: 목표 파일 타입 지정 ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-xerror: 에러시 종료
추가 옵션
-map <file:stream>[:syncfile:syncstream] : 입력 스트림 매핑 설정.
-map_metadata : 0이면 메타유지 -1이면 메타삭제
-map_meta_data outfile:infile : 입력파일에서 출력파일로 저장(?)될 메타 데이터 정보 설정.
-benchmark : 벤치마킹할 타이밍 추가.
-dump : 각 입력 패킷을 덤프함.
-hex : 패킷을 덤프할때 페이로드도 같이 덤프함.
-re : read input at native frame rate.
-loop_input : 루프 (현재 이미지하고만 작동이 됨).
-loop_output : 루핑을 지원하는 포멧에서 출력을 루프할 횟수 지정(0은 계속 루프함).
-threads 개수 : 쓰레드 개수.
-vsync : 비디오 싱크 방법.
-async : 오디오 싱크 방법.
-adrift_threshold 임계값 : audio drift threshold.
-vglobal : 비디오 글로벌 해더 저장 형식.
-copyts : 타임스탬프 복사.
-shortest : finish encoding within shortest input
-dts_delta_threshold 임계값 : timestamp discontinuity delta threshold
-programid : 원하는 프로그램 개수(?)
-muxdelay seconds : 최대 디먹스-디코드 지연값 설정(?)
-muxpreload seconds : 초기 디먹스-디코드 지연값 설정(?)
비디오 옵션
-aspect <string or float> : 비율을 설정 ( 4:3, 16:9, 1.3333, 1.7777 ).
-b <int> : 비디오 비트레이트를 bit/s단위로 설정 (기본=200k).
-vb bitrate : 비디오 비트레이트 설정 (in bits/s)
-vframes number : 기록할 비디오 프레임 수 지정
-s size : 화면 크기 지정 (WxH 또는 비율)
-croptop size : 상단 잘라내는 밴드 크기 지정 (픽셀단위)
-cropbottom size : 하단 잘라내는 밴드 크기 지정 (픽셀단위)
-cropleft size : 외쪽 잘라내는 밴드 크기 지정 (픽셀단위)
-cropright size : 오른쪽 잘라내는 밴드 크기 지정 (픽셀단위)
-padtop size : 위쪽 패드 밴드 크기 지정 (픽셀단위)
-padbottom size : 하단 패드 밴드 크기 지정 (픽셀단위)
-padleft size : 왼쪽 패드 밴드 크기 지정 (픽셀단위)
-padright size : 오른쪽 패드 밴드 크기 지정 (픽셀단위)
-padcolor color " : 패드 밴드 색상 지정 (16진수 000000 ~ FFFFFF)
-vn : 비디오를 비활성화
-vcodec codec : 비디오 코텍를 강제로 지정 ('copy' 은 스트림을 복제)
-sameq : 소스와 같은 비디오 퀄리티를 사용 (implies VBR)
-pass n : 패스 번호를 선택 (1 또는 2)
-passlogfile prefix : 패스 로그 파일 이름앞에 붙일 접두사 선택
-newvideo : 새로운 비디오 스트림을 현재 출력 스트림으로 추가
추가 비디오 옵션
-pix_fmt format : 픽셀 포맷 설정. 'list'는 지원되는 모든 픽셀 포맷 보여줌
-intra : 인트라 프래임만 사용
-vdt n : 쓰레드홀드 취소
-qscale q : 고정된 비디오 양자화범위를 사용 (VBR)
-rc_override override : rate control override for specific intervals
-me_threshold threshold : motion estimaton threshold
-deinterlace : deinterlace pictures
-psnr : calculate PSNR of compressed frames
-vstats : dump video coding statistics to file
-vstats_file file : dump video coding statistics to file
-intra_matrix matrix : specify intra matrix coeffs
-inter_matrix matrix : specify inter matrix coeffs
-top : top=1/bottom=0/auto=-1 field first
-dc precision : intra_dc_precision
-vtag fourcc/tag : force video tag/fourcc
-qphist : show QP histogram
-force_fps : force the selected framerate, disable the best supported framerate selection
-vbsf bitstream_filter
-vpre preset : set the video options to the indicated preset
오디오 옵션
-ab <int> : 오디오 비트레이드를 bit/s 단위로 설정. 값은 정수(기본 = 64k).
-aframes number : set the number of audio frames to record
-aq quality : set audio quality (codec-specific)
-ar rate : set audio sampling rate (in Hz)
-ac channels : set number of audio channels
-an : disable audio
-acodec codec : force audio codec ('copy' to copy stream)
-vol volume : change audio volume (256=normal)
-newaudio : add a new audio stream to the current output stream
-alang code : set the ISO 639 language code (3 letters) of the current audio stream
-acodec <string> : 사용할 오디오 코덱을 지정.
ac3 : AC3 ( Dolby Digital )
copy : 원본 데이터를 그대로 복사.
libfaac : AAC-LC
mp2 : MPEG Audio Layer II
mp3 : MPEG Audio Layer III
pcm_s16le : 비압축 16-bit PCM Audio
-an : 오디오를 사용하지 않음.
-ar <int> : 오디오 샘플링율을 Hz단위로 설정 (기본 = 44100 Hz).
-async <int> : 오디오 동기화 방법. 오디오를 타임스템프에 맞춰서 늘리거나 줄일 수 있다. 이 매개변수는 오디오 변화에 의한 초당 최대 샘플 개수를 말한다. -async 1은 특별한 경우로 지연 수정 없이 오디오 스트림 시작 위치가 정확한 경우에만 사용가능.
추가 오디오 옵션
-atag fourcc/tag : force audio tag/fourcc
-sample_fmt format : set sample format, 'list' as argument shows all the sample formats supported
-absf bitstream_filter
-apre preset : set the audio options to the indicated preset
자막 옵션
-sn : disable subtitle
-scodec codec : force subtitle codec ('copy' to copy stream)
-newsubtitle : add a new subtitle stream to the current output stream
-slang code : set the ISO 639 language code (3 letters) of the current subtitle stream
-sbsf bitstream_filter
-spre preset : set the subtitle options to the indicated preset
오디오/비디오 획득 옵션
Audio/Video grab options:
-vc channel : set video grab channel (DV1394 only)
-tvstd standard : set television standard (NTSC, PAL (SECAM))
-isync : sync read on input
-bufsize <int> : 제어버퍼 크기를 설정 (비트단위).
-cmp <string or int> : pel 모션 평가 비교 함수 사용 - Full pel motion estimation compare function.
sad ( 0 ) : 절대 차이 값의 합, 고속 (기본)
sse ( 1 ) : Squared errors 합.
satd ( 2 ) : Absolute Hadamard transformed differences 합.
dct ( 3 ) : Absolute DCT transformed differences 합.
psnr ( 4 ) : Squared quantization errors 합( 비추, 저품질).
bit ( 5 ) : 블럭에 필요한 비트 수
rd ( 6 ) : Rate distortion optimal, 느림.
zero ( 7 ) : 0.
vsad ( 8 ) : Absolute vertical differences 합.
vsse ( 9 ) : Squared vertical differences 합.
nsse ( 10 ) : Noise preserving sum of squared differences.
w53 ( 11 ) : 5/3 wavelet ( Snow에서만 사용됨).
w97 ( 12 ) : 9/7 wavelet ( Snow에서만 사용됨).
dctmax ( 13 )
chroma ( 14 )
-coder <string or int> :
vlc ( 0 ) : 가변 길이 코더 / 허프만 코더.
ac ( 1 ) : 산술연산 코더(Arithmetic coder).
raw ( 2 ) : 원본 ( 인코딩 없음).
rle ( 3 ) : Run-length coder.
deflate ( 4 ) : Deflate-based coder.
-cropbottom <int> : 하단 잘려지는 화면 크기 설정(비트 단위).
-cropleft <int> : 왼쪽 잘려지는 화면 크기 설정(비트 단위).
-cropright <int> : 오른쪽 잘려지는 화면 크기 설정(비트 단위).
-croptop <int> : 상단 잘려지는 화면 크기 설정(비트 단위).
-deinterlace : 픽처를 디인터페이스 시킴(Deinterlace pictures).
-dc <int> : Intra DC precision.
-flags <string> : 이부분은 패스.. 무슨 말인지.. ㅡ.ㅡㅋ
aic : H.263 advanced intra coding / MPEG-4 ac prediction.
aiv : H.263 alternative inter VLC.
alt : Enable alternate scantable ( MPEG-2/MPEG-4 ).
bitexact : Use only bitexact stuff ( except (i)dct ).
cbp : Use rate distortion optimization for cbp.
cgop : Closed GOP.
gmc : Use global motion compensation.
gray : Only decode/encode grayscale.
ildct : Use interlaced DCT.
ilme : Interlaced motion estimation.
loop : Use loop filter.
low_delay : Force low delay.
mv0 : Always try a mb with mv=<0,0>.
mv4 : Use four motion vector by macroblock ( MPEG-4 ).
naq : Normalize adaptive quantization.
obmc : Use overlapped block motion compensation ( H.263+ ).
part : Use data partitioning.
psnr : Error variables will be set during encoding.
qpel : Use 1/4 pel motion compensation.
qprd : Use rate distortion optimization for qp selection.
scan_offset : Will reserve space for svcd scan offset user data.
slice
trell : Use trellis quantization.
umv : Use unlimited motion vectors.
-flags2 <string> :
aud : Access unit delimiters ( H.264 ).
bpyramid : Allows B-frames to be used as references for predicting.
brdo : B-frame rate-distortion optimization.
dct8x8 : High profile 8x8 transform ( H.264 ).
drop_frame_timecode
fast : Allow non spec compliant speedup tricks.
fastpskip : Fast pskip ( H.264 ).
ivlc : Intra VLC table.
local_header : Place global headers at every keyframe instead of in extradata.
mixed_refs : One reference per partition, as opposed to one reference per macroblock.
non_linear_q : Use non linear quantizer.
noout : Skip bitstream encoding.
sgop : Strictly enforce GOP size.
skiprd : RD optimal macroblock level residual skipping.
wpred : Weighted biprediction for B-frames ( H.264 ).
-formats : 가능한 포멧, 코덱, 프로토콜 등을 보여줌.
-g <int> : Group of pictures ( GOP ) 크기 설정.
-genpts <boolean> : PTS 생성( 0 = off / 1 = on ).
-intra : Intra frames ( I-frames )만 사용.
-loop_input : 반복 ( 정지 이미지에서만 사용 ).
-maxrate <int> : 최대 비디오 비트레이트 허용치 설정( bit/s 단위).
-me <string or int> : 모션 추출 방법 설정.
dia ( 1 ) : Diamond 검색, 반경 1 ( 고속).
hex ( 2 ) : Hexagonal 검색, 반경 2 ( 기본).
umh ( 3 ) : Uneven multi-hexagon 검색.
esa ( 4 ) : Exhaustive 검색 ( 저속).
-mbd <string> : Macroblock decision 알고리즘 ( 고품질 모드).
simple : mbcmp 사용( 기본 ).
bits : fewest bits 사용.
rd : best rate distortion 사용.
-minrate <int> : 최소 비디오 비트레이트 허용치 설정 ( bit/s 단위 ).
-newaudio : 새로운 오디오 스트립을 현재 출력 스트림에 추가.
-padbottom <int> : 하단 패드 밴드 크기설정 ( 픽셀 단위 ). - 역주: 하단 여백 크기을 말함
-padcolor <int> : 패드 밴드의 색상을 설정 ( 16진수 000000 ~ FFFFFF ). - 역주: 여백 색상을 말함
-padleft <int> : 왼쪽 패드 밴드 크기를 설정 ( 픽셀 단위 ). - 역주: 왼쪽 여백 크기를 말함
-padright <int> : 오른쪽 패드 밴드 크기를 설정 ( 픽셀 단위 ). - 역주: 오른쪽 여백 크기를 말함
-padtop <int> : 위쪽 패드 밴드 크기를 설정 ( 픽셀 단위 ). - 역주: 위쪽 여백 크기를 말함
-pass <int> : 패스 수 선택 ( 1 or 2 ). 비디오 통계치는 첫번째 패스에서 기록이되고 두번째 패스에서 비디오가 정확히 원하는 비트레이트로 생성이된다.
-pix_fmt <string> : 픽셀 포맷 설정.
yuv420p
yuv422p
yuv444p
yuv422
yuv410p
yuv411p
yuvj420p
yuvj422p
yuvj444p
rgb24
bgr24
rgba32
rgb565
rgb555
gray
monow
monob
pal8
-ps <int> : 패킷 크기를 비트 단위로 설정.
-qmax <int> : 최대 비디오 양자화(quantizer) 값 ( VBR ). - 역주: 가변 비트레이트에서 최대치
-qmin <int> : 최소 비디오 양자화(quantizer) 값 ( VBR ). - 역주: 가변 비트레이트에서 최소치
-qscale <int> : 고정 비디오 양자화(quantizer) 값 ( VBR ). - 역주: 고정 비트레이스 값
-r <int or string> : 프레임 율 설정 ( Hz 값, 비율 혹은 약호사용 ). 예: 25, 30000/1001, etc.
-rc_init_occupancy <int> : 디코딩 시작 전에 rate control 버퍼에 로드되는 비트 개수.
-s <string> : 프레임 크기 설정 ( 폭x높이 또는 약호).
-subcmp <string or int> : Sub pel motion estimation compare function.
sad ( 0 ) : Sum of absolute differences, fast ( default ).
sse ( 1 ) : Sum of squared errors.
satd ( 2 ) : Sum of absolute Hadamard transformed differences.
dct ( 3 ) : Sum of absolute DCT transformed differences.
psnr ( 4 ) : Sum of squared quantization errors ( avoid, low quality ).
bit ( 5 ) : Number of bits needed for the block.
rd ( 6 ) : Rate distortion optimal, slow.
zero ( 7 ) : 0.
vsad ( 8 ) : Sum of absolute vertical differences.
vsse ( 9 ) : Sum of squared vertical differences.
nsse ( 10 ) : Noise preserving sum of squared differences.
w53 ( 11 ) : 5/3 wavelet ( only used in Snow ).
w97 ( 12 ) : 9/7 wavelet ( only used in Snow ).
dctmax ( 13 )
chroma ( 14 )
-ss <timecode> : 작업할 시작시간 오프셋(시작위치)을 초 단위 또는 hh:mm:ss[.xxx] 형태로 설정.
-t <timecode> : 기록할 시간을 초 단위 또는 hh:mm:ss[.xxx] 형태로 설정.
-timecode_frame_start <int> : GOP 시작 타임코드 값을 프레임 개수로 설정( 예: 14:15:09:23 대신에 1282748사용 ). 프레임 드롭 모드에서는 지원하지 않음.
-top <int> : Field dominance ( top = 1 / bottom = 0 / auto = -1 ).
-trellis <int> : Rate-distortion optimal quantization.
-vbsf <string> : 비트스트림 필터.
dump_extra
imxdump
noise
remove_extra
-vcodec <string> : 비디오 코덱 지정.
copy : 원본 데이터 그대로 복사.
dvvideo : DV Video
ffv1 : FFV1 lossless video codec
libx264 : H.264
mpeg2video : MPEG-2 Video
rawvideo : RAW Video
xvid : XviD ( MPEG-4 Part 2 ) (역주: 최근 버전에서는 libxvid로 사용)
-vframes <int> : 기록할 비디오 프레임 개수 설정.
-vn : 비디오 사용하지 않음.
-vol <int> : 오디오 볼륨 수정 ( 256=보통).
-vsync <int> : 비디오 동기화 방법. 비디오를 타임스템프에 맞춰서 줄이거나 늘릴 수 있다. 이는 프레임을 복제하거나 버리는 방법을 사용한다. -map 옵션을 사용해서 타임스탬프로 사용할 스트림을 선택할 수 있다. 비디오나 오디오를 변경없이 내버려둘 수 있고 변경되지 않은 것에 동기화 시킬수 있다.
-vtag <string> : 비디오 FourCC/Tag 지정.
끝
출처: 코키티비, http://cocatv.tistory.com/269
'프로그램 및 유틸리티' 카테고리의 다른 글
scrcpy 각종 옵션 설명 (0) | 2023.08.12 |
---|---|
보안취약점이 발견되어 프로그램을 종료합니다. (0) | 2023.05.09 |
윈도우 탐색기 탭 기능 프로그램 (0) | 2023.02.06 |
윈도우 10 환경변수 창 여는 법 (1) | 2022.09.23 |
윈도우10 C# dateedit 표시 문제 해결법 (0) | 2022.09.15 |
댓글