Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 ffmpeg-formats 명령입니다.
프로그램:
이름
ffmpeg 형식 - FFmpeg 형식
기술
이 문서는
libavformat 라이브러리.
FORMAT 옵션
libavformat 라이브러리는 일부 일반 전역 옵션을 제공하며, 이는 모든
muxers 및 demuxers. 또한 각 muxer 또는 demuxer는 소위 private을 지원할 수 있습니다.
해당 구성 요소에 고유한 옵션입니다.
-를 지정하여 옵션을 설정할 수 있습니다.option 가치 FFmpeg 도구에서 또는
"AVFormatContext" 옵션에서 명시적으로 값을 지정하거나 libavutil/opt.h API
프로그래밍 방식 사용.
지원되는 옵션 목록은 다음과 같습니다.
aviofflags 플래그 (입출력)
가능한 값:
곧장
버퍼링을 줄입니다.
조사하다 정수 (입력)
프로빙 크기를 바이트 단위로 설정합니다. 즉, 스트림을 얻기 위해 분석할 데이터의 크기입니다.
정보. 값이 높을수록 더 많은 정보를 감지할 수 있습니다.
스트림에 분산되지만 대기 시간이 늘어납니다. 더 작지 않은 정수여야 합니다.
32보다. 기본적으로 5000000입니다.
패킷 크기 정수 (출력)
패킷 크기를 설정합니다.
플래그 플래그 (입출력)
형식 플래그를 설정합니다.
가능한 값:
ignidx
인덱스를 무시합니다.
패스트 시크
일부 형식에 대해 빠르지만 부정확한 탐색을 활성화합니다.
겐프츠
PTS를 생성합니다.
노필린
정확하게 계산할 수 있는 누락된 값은 채우지 마십시오.
노파스
AVParser를 비활성화합니다. "+nofillin"도 필요합니다.
점화하다
DTS를 무시합니다.
폐기 손상
손상된 프레임을 폐기하십시오.
정렬
DTS로 출력 패킷을 인터리브하십시오.
킵사이드
측면 데이터를 병합하지 마십시오.
라틴
RTP MP4A-LATM 페이로드를 활성화합니다.
버퍼 없음
선택적 버퍼링으로 인한 대기 시간 감소
정확한
플랫폼, 빌드 및 시간 독립적인 데이터만 작성하십시오. 이렇게 하면 파일이
데이터 체크섬은 재현 가능하며 플랫폼 간에 일치합니다. 주요 용도
회귀 테스트용입니다.
시크투애니 정수 (입력)
1로 설정된 경우 지원되는 경우 디먹서 수준에서 비키프레임 탐색을 허용합니다. 기본값
0입니다.
분석 정수 (입력)
입력을 조사하기 위해 분석되는 마이크로초 수를 지정하십시오. 더 높은 값은
더 정확한 정보를 감지할 수 있지만 대기 시간이 늘어납니다. 기본값은
5,000,000마이크로초 = 5초.
암호 키 XNUMX 진수 현 (입력)
복호화 키를 설정합니다.
indexmem 정수 (입력)
타임스탬프 인덱스(스트림당)에 사용되는 최대 메모리를 설정합니다.
rtbuf 크기 정수 (입력)
실시간 프레임 버퍼링에 사용되는 최대 메모리를 설정합니다.
fdebug 플래그 (입출력)
특정 디버그 정보를 인쇄합니다.
가능한 값:
ts
최대 지연 정수 (입출력)
최대 muxing 또는 demuxing 지연을 마이크로초 단위로 설정합니다.
fpsprobesize 정수 (입력)
fps를 프로브하는 데 사용되는 프레임 수를 설정합니다.
audio_preload 정수 (출력)
오디오 패킷을 더 일찍 인터리브해야 하는 마이크로초를 설정합니다.
청크_기간 정수 (출력)
각 청크에 대해 마이크로초를 설정합니다.
청크 크기 정수 (출력)
각 청크의 크기를 바이트 단위로 설정합니다.
오류 감지, f_err_Detect 플래그 (입력)
오류 감지 플래그를 설정합니다. "f_err_detect"는 더 이상 사용되지 않으며 다음을 통해서만 사용해야 합니다.
전에, ffmpeg 도구입니다.
가능한 값:
crccheck
포함된 CRC를 확인합니다.
비트 스트림
비트스트림 사양 편차를 감지합니다.
버퍼
부적절한 비트스트림 길이를 감지합니다.
폭발
사소한 오류 감지 시 디코딩을 중단합니다.
주의
사양을 위반하고 야생에서 볼 수 없었던 것을 다음과 같이 고려하십시오.
오류.
준수
모든 사양 비준수를 오류로 간주하십시오.
적극적인
정상적인 인코더가 오류로 수행해서는 안 되는 일을 고려하십시오.
max_interleave_delta 정수 (출력)
인터리빙을 위한 최대 버퍼링 기간을 설정합니다. 기간은 다음과 같이 표현됩니다.
마이크로초이며 기본값은 1000000(1초)입니다.
모든 스트림이 올바르게 인터리브되도록 하기 위해 libavformat은
실제로 패킷을 쓰기 전에 각 스트림에 대해 적어도 하나의 패킷이 있습니다.
결과물 파일. 일부 스트림이 "희소"한 경우(즉, 스트림 사이에 큰 간격이 있는 경우)
연속 패킷) 이로 인해 과도한 버퍼링이 발생할 수 있습니다.
이 필드는 첫 번째 타임스탬프와
libavformat이 패킷을 출력하는 muxing 대기열의 마지막 패킷
모든 스트림에 대한 패킷을 대기열에 넣었는지 여부에 관계없이.
0으로 설정하면 libavformat은 다음에 대한 패킷이 있을 때까지 패킷 버퍼링을 계속합니다.
버퍼링된 스트림 간의 최대 타임스탬프 차이에 관계없이 각 스트림
패킷.
use_wallclock_as_timestamps 정수 (입력)
wallclock을 타임스탬프로 사용합니다.
피하다_네거티브_ts 정수 (출력)
가능한 값:
make_non_negative
타임스탬프를 음수가 아니도록 이동합니다. 또한 이는
단조롭지 않은 음수 타임스탬프가 아닌 선행 음수 타임스탬프입니다.
make_zero
첫 번째 타임스탬프가 0이 되도록 타임스탬프를 이동합니다.
자동 (기본값)
대상 형식에 필요한 경우 이동을 활성화합니다.
사용
타임스탬프 이동을 비활성화합니다.
이동이 활성화되면 모든 출력 타임스탬프가 동일한 양만큼 이동됩니다. 오디오,
비디오, 자막 디싱크 및 상대 타임스탬프 차이가 보존됩니다.
이동하지 않았을 때와 비교했을 때.
Skip_initial_bytes 정수 (입력)
1로 설정된 경우 헤더 및 프레임을 읽기 전에 건너뛸 바이트 수를 설정합니다. 기본값은 다음과 같습니다.
0.
right_ts_overflow 정수 (입력)
1로 설정된 경우 단일 타임스탬프 오버플로를 수정합니다. 기본값은 1입니다.
플러시_패킷 정수 (출력)
각 패킷 후에 기본 I/O 스트림을 플러시합니다. 기본값 1은 이를 활성화하고
레이턴시 감소 효과; 0은 비활성화하고 성능을 약간 향상시킬 수 있습니다.
일부 경우.
출력_ts_오프셋 오프셋 (출력)
출력 시간 오프셋을 설정합니다.
오프셋 기간 사양이어야 합니다. 참조 전에, Time 지속 섹션에 있어야 합니다. in 전에,
ffmpeg 유틸리티(1) 조작.
오프셋은 muxer에 의해 출력 타임스탬프에 추가됩니다.
양수 오프셋을 지정하면 해당 스트림이 지연됨을 의미합니다.
에 지정된 기간 오프셋. 기본값은 0입니다(오프셋이 없음을 의미합니다.
적용된).
형식_화이트리스트 명부 (입력)
"," 구분 허용된 디먹서 목록입니다. 기본적으로 모두 허용됩니다.
덤프_구분자 현 (입력)
스트림에 대한 명령줄에 인쇄된 필드를 구분하는 데 사용되는 구분 기호
매개변수. 예를 들어 줄바꿈과 들여쓰기로 필드를 구분하려면 다음과 같이 하십시오.
ffprobe -dump_separator "
" -나 ~/동영상/matrixbench_mpeg2.mpg
형성 흐름 지정자
형식 스트림 지정자를 사용하면 특정 형식과 일치하는 하나 이상의 스트림을 선택할 수 있습니다.
속성.
스트림 지정자의 가능한 형식은 다음과 같습니다.
스트림 인덱스
스트림을 이 인덱스와 일치시킵니다.
스트림 유형[:스트림 인덱스]
스트림 유형 비디오의 경우 'v', 오디오의 경우 'a', 자막의 경우 's', 자막의 경우 'd' 중 하나입니다.
데이터의 경우 't'는 첨부 파일의 경우입니다. 만약에 스트림 인덱스 주어진 다음과 일치합니다.
스트림 번호 스트림 인덱스 이 유형의. 그렇지 않으면 이 스트림의 모든 스트림과 일치합니다.
유형.
p:프로그램 아이디[:스트림 인덱스]
If 스트림 인덱스 주어진 다음 스트림을 number와 일치시킵니다. 스트림 인덱스 인간을
아이디가 있는 프로그램 프로그램 아이디. 그렇지 않으면 프로그램의 모든 스트림과 일치합니다.
#스트림 ID
형식별 ID로 스트림을 일치시킵니다.
스트림 지정자의 정확한 의미 체계는 다음에 의해 정의됩니다.
"avformat_match_stream_specifier()" 함수는 libavformat/avformat.h
헤더.
디먹서
디먹서는 FFmpeg에서 멀티미디어 스트림을 읽을 수 있는 구성 요소입니다.
특정 유형의 파일.
FFmpeg 빌드를 구성하면 지원되는 모든 demuxer가 기본적으로 활성화됩니다.
구성 옵션 "--list-demuxers"를 사용하여 사용 가능한 모든 항목을 나열할 수 있습니다.
구성 옵션 "--disable-demuxers"를 사용하여 모든 디먹서를 비활성화할 수 있습니다.
"--enable-demuxer=" 옵션을 사용하여 단일 디먹서를 선택적으로 활성화합니다.디먹서"또는 비활성화
옵션 "--disable-demuxer=디먹서".
ff* 도구의 "-formats" 옵션은 활성화된 디먹서 목록을 표시합니다.
현재 사용 가능한 일부 디 먹서에 대한 설명은 다음과 같습니다.
aa
가청 형식 2, 3 및 4 디먹서.
이 디먹서는 Audible Format 2, 3 및 4(.aa) 파일을 디먹싱하는 데 사용됩니다.
사과http
Apple HTTP 라이브 스트리밍 디먹서.
이 demuxer는 모든 변형 스트림의 모든 AVStream을 제공합니다. id 필드는
비트 전송률 변형 인덱스 번호입니다. AVStreams에서 폐기 플래그를 설정하여('a'를 눌러)
또는 ffplay의 'v'), 호출자는 실제로 수신할 변형 스트림을 결정할 수 있습니다. 그만큼
스트림이 속한 변형의 총 비트 전송률은 메타데이터 키에서 사용할 수 있습니다.
이름은 "variant_bitrate"입니다.
APNG
애니메이션 휴대용 네트워크 그래픽 디먹서.
이 demuxer는 APNG 파일을 demux하는 데 사용됩니다. 모든 헤더, 단 PNG 서명, 최대(그러나
제외) 첫 번째 fcTL 청크는 추가 데이터로 전송됩니다. 그런 다음 프레임이 분할됩니다.
두 개의 fcTL 청크 사이 또는 마지막 fcTL과 IEND 청크 사이의 모든 청크입니다.
-ignore_loop 불량배
설정된 경우 파일의 루프 변수를 무시합니다.
-max_fps INT
초당 프레임의 최대 프레임 속도(0은 제한 없음).
-default_fps INT
파일에 아무 것도 지정되지 않은 경우 초당 프레임의 기본 프레임 속도(0은
최대한 빨리).
ASF는
고급 시스템 형식 디먹서.
이 디먹서는 ASF 파일과 MMS 네트워크 스트림을 디먹싱하는 데 사용됩니다.
-no_resync_search 불량배
특정 선택적인 시작 코드를 찾아 재동기화를 시도하지 마십시오.
연결
가상 연결 스크립트 디먹서.
이 디먹서는 텍스트 파일에서 파일 및 기타 지시문 목록을 읽고 디먹싱합니다.
마치 모든 패킷이 함께 먹스된 것처럼 차례로.
파일의 타임스탬프는 첫 번째 파일이 0에서 시작하고 다음 각 파일이 시작되도록 조정됩니다.
파일은 이전 파일이 끝나는 곳에서 시작됩니다. 전 세계적으로 수행되며 다음을 유발할 수 있습니다.
모든 스트림의 길이가 정확히 동일하지 않은 경우 차이가 발생합니다.
모든 파일은 동일한 스트림(동일한 코덱, 동일한 시간 기준 등)을 가져야 합니다.
각 파일의 기간은 다음 파일의 타임스탬프를 조정하는 데 사용됩니다.
기간이 올바르지 않습니다(비트 전송률을 사용하여 계산되었거나 파일이
예를 들어 잘림) 아티팩트가 발생할 수 있습니다. "duration" 지시문은 다음과 같이 사용할 수 있습니다.
각 파일에 저장된 기간을 재정의합니다.
통사론
스크립트는 한 줄에 하나의 지시문이 있는 확장 ASCII 형식의 텍스트 파일입니다. 빈 줄,
선행 공백과 '#'으로 시작하는 줄은 무시됩니다. 다음 지시어는
인식:
"파일 통로"
읽을 파일의 경로. 특수 문자 및 공백은 백슬래시로 이스케이프해야 합니다.
또는 작은따옴표.
이후의 모든 파일 관련 지시문은 해당 파일에 적용됩니다.
"ffconcat 버전 1.0 "
스크립트 유형 및 버전을 식별합니다. 또한 다음을 설정합니다. 가장 안전한 따뜻함 1인 경우 옵션
기본값은 -1입니다.
FFmpeg가 형식을 자동으로 인식하게 하려면 이 지시어가 정확히 나타나야 합니다.
스크립트의 첫 줄에 있는 그대로(여분의 공간이나 바이트 순서 표시 없음).
"지속 두어"
파일의 기간. 이 정보는 파일에서 지정할 수 있습니다. 지정
파일의 정보를 사용할 수 없는 경우 여기가 더 효율적이거나 도움이 될 수 있습니다.
또는 정확합니다.
모든 파일에 지속 시간을 설정하면 전체에서 탐색이 가능합니다.
연결된 영상.
"인포인트 따라서 오른쪽 하단에"
파일의 시작점. demuxer가 파일을 열면 즉시 다음을 찾습니다.
지정된 타임스탬프 모든 스트림이 성공적으로 표시될 수 있도록 검색이 수행됩니다.
인 포인트에서.
이 지시문은 인트라 프레임 코덱이 아닌 경우 인트라 프레임 코덱에서 가장 잘 작동합니다.
일반적으로 실제 시작 지점과 디코딩된 콘텐츠 전에 추가 패킷을 얻습니다.
인 지점 이전에도 프레임이 포함될 가능성이 높습니다.
각 파일에 대해 파일 시작 지점 이전의 패킷은
파일의 계산된 시작 타임스탬프(첫 번째 파일의 경우 음수) 및
파일의 지속 시간("duration" 지시문에 의해 지정되지 않은 경우)이 줄어듭니다.
지정된 In 지점을 기반으로 합니다.
지정된 In 지점 이전의 잠재적인 패킷으로 인해 패킷 타임스탬프가
두 개의 연결된 파일이 겹칩니다.
"지점 따라서 오른쪽 하단에"
파일의 종료 지점. 디먹서가 지정된 디코딩 타임스탬프에 도달하면
모든 스트림을 파일 끝 조건으로 처리하고 현재 스트림을 건너뜁니다.
모든 스트림의 나머지 모든 패킷.
아웃 포인트는 배타적입니다. 즉, 디먹서는 패킷을 출력하지 않습니다.
종료 지점보다 크거나 같은 디코딩 타임스탬프.
이 지시문은 모든 스트림이 인트라 프레임 코덱 및 형식에서 가장 잘 작동합니다.
단단히 인터리브. 비 인트라 프레임 코덱의 경우 일반적으로 추가
아웃 포인트 이후에 프리젠테이션 타임스탬프가 있는 패킷이므로 디코딩된 콘텐츠는
Out 지점 이후에도 프레임이 포함될 가능성이 높습니다. 스트림이 빡빡하지 않은 경우
인터리브를 사용하면 Out 지점 이전의 모든 스트림에서 모든 패킷을 가져오지 못할 수 있습니다.
Out 지점까지만 가장 빠른 스트림을 디코딩할 수 있습니다.
파일의 지속 시간("duration" 지시문에 의해 지정되지 않은 경우)은
지정된 종료 지점을 기준으로 감소합니다.
"file_packet_metadata 키 = 값"
파일 패킷의 메타데이터입니다. 지정된 메타데이터는 각 파일에 대해 설정됩니다.
패킷. 이 지시문을 여러 번 지정하여 여러 메타데이터를 추가할 수 있습니다.
항목.
"개울"
가상 파일에 스트림을 도입합니다. 모든 후속 스트림 관련 지시문
마지막으로 도입된 스트림에 적용됩니다. 일부 스트림 속성을 설정해야 합니다.
서브파일에서 일치하는 스트림을 식별할 수 있습니다. 스트림이 정의되지 않은 경우
스크립트에서 첫 번째 파일의 스트림이 복사됩니다.
"exact_stream_id id"
스트림의 ID를 설정합니다. 이 지시어가 주어지면
하위 파일의 해당 ID가 사용됩니다. 이는 특히 MPEG-PS에 유용합니다.
(VOB) 파일, 스트림 순서를 신뢰할 수 없습니다.
옵션
이 디먹서는 다음 옵션을 허용합니다.
가장 안전한 따뜻함
1로 설정하면 안전하지 않은 파일 경로를 거부합니다. 그렇지 않은 경우 파일 경로는 안전한 것으로 간주됩니다.
프로토콜 사양을 포함하고 상대적이며 모든 구성 요소는
이식 가능한 문자 집합의 문자(문자, 숫자, 마침표, 밑줄 및
하이픈) 구성 요소 시작 부분에 마침표가 없습니다.
0으로 설정하면 모든 파일 이름이 허용됩니다.
기본값은 -1이며 형식이 자동으로 검색된 경우 1과 동일하고 0입니다.
그렇지 않으면.
자동 변환
1로 설정하면 패킷 데이터에서 자동 변환을 수행하여 스트림을 만듭니다.
연결할 수 있습니다. 기본값은 1입니다.
현재 유일한 변환은 h264_mp4toannexb 비트스트림 필터를 추가하는 것입니다.
MP264 형식의 H.4 스트림. 이는 해결 방법이 있는 경우 특히 필요합니다.
변경.
FLV
Adobe Flash 비디오 형식 디먹서.
이 디먹서는 FLV 파일 및 RTMP 네트워크 스트림을 디먹싱하는 데 사용됩니다.
-flv_metadata 불량배
onMetaData 배열 내용에 따라 스트림을 할당합니다.
libgme
Game Music Emu 라이브러리는 비디오 게임 음악 파일 에뮬레이터 모음입니다.
보다http://code.google.com/p/game-music-emu/> 자세한 내용은.
일부 파일에는 여러 트랙이 있습니다. 디먹서는 기본적으로 첫 번째 트랙을 선택합니다. 그만큼
track_index 옵션을 사용하여 다른 트랙을 선택할 수 있습니다. 트랙 인덱스는 0부터 시작합니다.
demuxer는 트랙 수를 다음과 같이 내보냅니다. 트랙 메타 데이터 입력.
매우 큰 파일의 경우, 최대 크기 옵션을 조정해야 할 수 있습니다.
libquvi
quvi 프로젝트를 사용하여 인터넷 서비스에서 미디어를 재생합니다.
디 먹서는 체재 특정 품질을 요청하는 옵션. 기본적으로 다음으로 설정되어 있습니다.
최상의.
보다http://quvi.sourceforge.net/> 자세한 내용은.
이 demuxer를 활성화하려면 FFmpeg를 "--enable-libquvi"로 빌드해야 합니다.
지프
애니메이션 GIF 디먹서.
다음 옵션을 허용합니다.
min_delay
프레임 사이의 최소 유효 지연 시간을 0분의 XNUMX초 단위로 설정합니다. 범위는 XNUMX ~
6000. 기본값은 2입니다.
max_gif_delay
프레임 사이의 최대 유효 지연 시간을 0/XNUMX초로 설정합니다. 범위는 XNUMX ~
65535. 기본값은 65535(거의 XNUMX분)이며,
사양.
default_delay
프레임 사이의 기본 지연을 0/6000초로 설정합니다. 범위는 XNUMX~XNUMX입니다.
기본값은 10입니다.
무시 루프
GIF 파일에는 특정 횟수(또는 무한 반복)에 대한 정보가 포함될 수 있습니다.
If 무시 루프 1로 설정되면 입력의 루프 설정이 무시되고
루핑이 발생하지 않습니다. 0으로 설정하면 루핑이 발생하고 숫자를 순환합니다.
GIF에 따라 몇 번. 기본값은 1입니다.
예를 들어 오버레이 필터를 사용하여 다른 비디오 위에 무한 루프 GIF를 배치합니다.
ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex 오버레이=최단=1 out.mkv
위의 예에서 오버레이 필터에 대한 가장 짧은 옵션은
가장 짧은 입력 파일의 길이로 비디오를 출력합니다. 이 경우 입력.mp4 as
이 예제의 GIF는 무한 반복됩니다.
image2
이미지 파일 디먹서.
이 디먹서는 패턴으로 지정된 이미지 파일 목록에서 읽습니다. 구문 및
패턴의 의미는 옵션으로 지정됩니다. 패턴 유형.
패턴에는 형식을 자동으로 결정하는 데 사용되는 접미사가 포함될 수 있습니다.
파일에 포함된 이미지.
각 이미지의 크기, 픽셀 형식 및 형식은 모든 이미지에서 동일해야 합니다.
순서대로 파일.
이 디먹서는 다음 옵션을 허용합니다.
프레임 속도
비디오 스트림의 프레임 속도를 설정합니다. 기본값은 25입니다.
고리
1로 설정하면 입력을 반복합니다. 기본값은 0입니다.
패턴 유형
제공된 파일 이름을 해석하는 데 사용되는 패턴 유형을 선택하십시오.
패턴 유형 다음 값 중 하나를 허용합니다.
없음
패턴 일치를 비활성화하므로 동영상에는 지정된 항목만 포함됩니다.
영상. 시퀀스를 생성하지 않으려면 이 옵션을 사용해야 합니다.
여러 이미지와 파일 이름에 특수 패턴 문자가 포함될 수 있습니다.
순서
다음에 의해 인덱싱된 파일 시퀀스를 지정하는 데 사용되는 시퀀스 패턴 유형을 선택합니다.
일련 번호.
시퀀스 패턴에는 문자열 "%d" 또는 "%0"이 포함될 수 있습니다.Nd"를 지정합니다.
각 파일 이름에서 일련 번호를 나타내는 문자 위치
패턴과 일치합니다. 형식이 "%d0Nd"가 사용되며,
각 파일 이름의 숫자는 0으로 채워지고 N 0으로 채워진 숫자의 총 수입니다.
숫자를 나타냅니다. 리터럴 문자 '%'는 패턴에 지정할 수 있습니다.
문자열 "%%"로.
시퀀스 패턴에 "%d" 또는 "%0"이 포함된 경우Nd", 파일의 첫 번째 파일 이름
패턴으로 지정된 목록은 사이에 포함된 숫자를 포함해야 합니다.
시작 번호 그리고 시작 번호+시작_번호_범위-1 및 다음의 모든 숫자
순차적이어야 합니다.
예를 들어 "img-%03d.bmp" 패턴은 다음의 파일 이름 시퀀스와 일치합니다.
형태 img-001.bmp, img-002.bmp, ..., img-010.bmp, 등.; 패턴
"i%%m%%g-%d.jpg" loading="lazy" 형식의 파일 이름 시퀀스와 일치합니다. i%m%g-1.jpg,
i%m%g-2.jpg, ..., i%m%g-10.jpg등
패턴에 반드시 "%d" 또는 "%0"이 포함될 필요는 없습니다.Nd", 예를 들어
단일 이미지 파일 변환 img.jpeg 다음 명령을 사용할 수 있습니다.
ffmpeg -i img.jpeg img.png
글롭
glob 와일드카드 패턴 유형을 선택합니다.
패턴은 "glob()" 패턴처럼 해석됩니다. 다음과 같은 경우에만 선택할 수 있습니다.
libavformat은 글로빙 지원으로 컴파일되었습니다.
glob_sequence (더 이상 사용되지 않음, 결제 게이트웨이, be 제거됨)
혼합 glob 와일드카드/시퀀스 패턴을 선택합니다.
libavformat 버전이 글로빙 지원으로 컴파일된 경우
제공된 패턴은 "%*?[]{}" 중 적어도 하나의 glob 메타 문자를 포함합니다.
이스케이프 처리되지 않은 "%"가 앞에 오는 경우 패턴은 "glob()" 패턴처럼 해석됩니다.
그렇지 않으면 시퀀스 패턴처럼 해석됩니다.
모든 glob 특수 문자 "%*?[]{}"에는 "%" 접두사가 있어야 합니다. 탈출하려면
리터럴 "%" "%%"를 사용해야 합니다.
예를 들어 "foo-%*.jpeg" 패턴은 접두사가 붙은 모든 파일 이름과 일치합니다.
"foo-" 및 ".jpeg"로 끝나는 "foo-%?%?%?.jpeg"는 모든
"foo-" 접두사가 붙은 파일 이름 뒤에 XNUMX개의 문자 시퀀스가 옵니다.
".jpeg"로 종료됩니다.
이 패턴 유형은 글롭 그리고 순서.
기본값은 glob_sequence.
픽셀 형식
읽을 이미지의 픽셀 형식을 설정합니다. 지정하지 않으면 픽셀 형식은
시퀀스의 첫 번째 이미지 파일에서 추측됩니다.
시작 번호
읽기 시작할 이미지 파일 패턴과 일치하는 파일의 인덱스를 설정합니다.
기본값은 0입니다.
시작_번호_범위
에서 첫 번째 이미지 파일을 찾을 때 확인할 인덱스 간격 범위를 설정합니다.
시퀀스, 시작 시작 번호. 기본값은 5입니다.
ts_from_file
1로 설정하면 프레임 타임스탬프를 이미지 파일의 수정 시간으로 설정합니다. 참고
타임스탬프의 단조로움이 제공되지 않습니다. 이미지는 이것이 없는 것과 동일한 순서로 진행됩니다.
옵션. 기본값은 0입니다. 2로 설정하면 프레임 타임스탬프를 수정으로 설정합니다.
나노초 정밀도로 이미지 파일의 시간.
video_size
읽을 이미지의 비디오 크기를 설정합니다. 지정하지 않으면 비디오 크기가 추측됩니다.
시퀀스의 첫 번째 이미지 파일에서.
예
· 사용하다 ffmpeg 파일 시퀀스의 이미지에서 비디오 생성 img-001.jpeg,
img-002.jpeg, ..., 입력 프레임 속도가 초당 10프레임이라고 가정할 때:
ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
· 위와 같지만 인덱스가 100인 파일에서 순서대로 읽어서 시작합니다.
ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
· "*.png" loading="lazy" glob 패턴과 일치하는 이미지를 읽습니다. 즉, 다음으로 끝나는 모든 파일입니다.
".png" loading="lazy" 접미사:
ffmpeg -framerate 10 -pattern_type glob -i "*.png" 로딩="게으른" out.mkv
mov/mp4/3gp/Quicktme
Quicktime / MP4 디먹서.
이 디먹서는 다음 옵션을 허용합니다.
활성화_드레프
기본적으로 비활성화된 외부 트랙 로드를 활성화합니다. 활성화하면
일부 사용 사례에서는 이론적으로 정보가 누출됩니다.
use_absolute_path
기본적으로 비활성화된 절대 경로를 통한 외부 트랙 로드를 허용합니다. 활성화
이는 보안 위험을 초래합니다. 소스가 아닌 것으로 알려진 경우에만 활성화해야 합니다.
악의 있는.
mpegt
MPEG-2 전송 스트림 디먹서.
이 디먹서는 다음 옵션을 허용합니다.
재동기화_크기
새 동기화를 조회하기 위한 크기 제한을 설정합니다. 기본값은 65536입니다.
fix_teletext_pts
텔레텍스트 패킷 PTS 및 DTS 값을
텔레텍스트 스트림이 일부이고 버리지 않는 첫 번째 프로그램의 PCR.
기본값은 1입니다. 텔레텍스트 패킷 PTS 및 DTS를 사용하려면 이 옵션을 0으로 설정하십시오.
손대지 않은 값.
ts_packetsize
원시 패킷 크기를 바이트 단위로 전달하는 출력 옵션. 감지된 원시 패킷 표시
크기는 사용자가 설정할 수 없습니다.
scan_all_pmts
모든 PMT를 스캔하고 결합합니다. 값은 -1에서 1 사이의 정수입니다(-1은
자동 설정, 1은 활성화, 0은 비활성화를 의미). 기본값은 -1입니다.
원시 비디오
원시 비디오 디먹서.
이 디 먹서는 원시 비디오 데이터를 읽을 수 있습니다. 지정하는 헤더가 없기 때문에
가정된 비디오 매개변수를 디코딩하려면 사용자가 이를 지정해야 합니다.
데이터를 올바르게.
이 디먹서는 다음 옵션을 허용합니다.
프레임 속도
입력 비디오 프레임 속도를 설정합니다. 기본값은 25입니다.
픽셀 형식
입력 비디오 픽셀 형식을 설정합니다. 기본값은 "yuv420p"입니다.
video_size
입력 비디오 크기를 설정합니다. 이 값은 명시적으로 지정해야 합니다.
예를 들어 rawvideo 파일을 읽으려면 입력.원시 과 영화 감상, 픽셀 형식을 가정하면
"rgb24", "320x240"의 비디오 크기 및 초당 10개 이미지의 프레임 속도는
명령:
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 입력.raw
SBG
SBaGen 스크립트 디먹서.
이 디먹서는 SBaGen에서 사용하는 스크립트 언어를 읽습니다.http://uazu.net/sbagen/>
바이노럴 비트 세션을 생성합니다. SBG 스크립트는 다음과 같습니다.
-SE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
끄다: -
지금 ==
+0:07:00 == 비
+0:14:00 == ㄱ
+0:21:00 == 비
+0:30:00 끄기
SBG 스크립트는 절대 및 상대 타임스탬프를 혼합할 수 있습니다. 스크립트가 다음 중 하나만 사용하는 경우
절대 타임스탬프(스크립트 시작 시간 포함) 또는 상대적 타임스탬프만
레이아웃이 고정되어 있고 변환이 간단합니다. 반면 스크립트의 경우
두 종류의 타임스탬프를 혼합한 다음 지금 상대 타임 스탬프에 대한 참조는
스크립트를 읽는 시간의 현재 시간과 스크립트 레이아웃에서 가져옵니다.
해당 참조에 따라 동결됩니다. 즉, 스크립트가 직접
실제 시간은 사운드 컨트롤러의 절대 타임스탬프와 일치합니다.
시계 정확도, 그러나 사용자가 어떻게든 재생을 일시 중지하거나 검색하면 모든 시간이
따라 옮겼다.
테드 캡션
다음에 사용되는 JSON 캡션http://www.ted.com/>.
TED는 캡션에 대한 링크를 제공하지 않지만 페이지에서 추측할 수 있습니다. 그만큼
파일 도구/bookmarklets.html FFmpeg 소스 트리에서 노출할 북마클릿이 포함되어 있습니다.
그들.
이 디먹서는 다음 옵션을 허용합니다.
시작 시간
TED 토크의 시작 시간을 밀리초 단위로 설정합니다. 기본값은 15000(15초)입니다. 그것은
15s를 포함하기 때문에 다운로드 가능한 비디오와 캡션을 동기화하는 데 사용됩니다.
소개.
예: 캡션을 대부분의 플레이어가 이해할 수 있는 형식으로 변환합니다.
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
먹서
먹서는 멀티미디어 스트림을
특정 유형의 파일.
FFmpeg 빌드를 구성하면 지원되는 모든 muxer가 기본적으로 활성화됩니다. 너
구성 옵션 "--list-muxers"를 사용하여 사용 가능한 모든 muxers를 나열할 수 있습니다.
"--disable-muxers" 구성 옵션을 사용하여 모든 먹서를 비활성화할 수 있습니다.
"--enable-muxer= 옵션을 사용하여 단일 먹서를 선택적으로 활성화/비활성화합니다.먹서" /
"--비활성화-먹서=먹서".
ff* 도구의 "-formats" 옵션은 활성화된 muxer 목록을 표시합니다.
현재 사용 가능한 muxer 중 일부에 대한 설명은 다음과 같습니다.
열망
오디오 교환 파일 형식 muxer.
옵션
다음 옵션을 허용합니다.
write_id3v2
3로 설정하면 ID2v1 태그 쓰기를 활성화합니다. 기본값은 0(비활성화)입니다.
id3v2_version
작성할 ID3v2 버전을 선택합니다. 현재 버전 3 및 4(일명 ID3v2.3 및
ID3v2.4)이 지원됩니다. 기본값은 버전 4입니다.
CRM
CRC(Cyclic Redundancy Check) 테스트 형식입니다.
이 muxer는 모든 입력 오디오 및 비디오 프레임의 Adler-32 CRC를 계산하고 인쇄합니다.
기본적으로 오디오 프레임은 서명된 16비트 원시 오디오로 변환되고 비디오 프레임은 원시로 변환됩니다.
CRC를 계산하기 전에 비디오.
muxer의 출력은 CRC=0x 형식의 단일 라인으로 구성됩니다.CRC어디로 CRC 하는
디코딩된 모든 입력에 대한 CRC를 포함하는 0자리에 8이 채워진 XNUMX진수
프레임.
참조 항목 프레임CRC 먹서.
예
예를 들어 입력의 CRC를 계산하고 파일에 저장하려면 out.crc:
ffmpeg -i 입력 -f crc out.crc
다음 명령을 사용하여 CRC를 stdout으로 인쇄할 수 있습니다.
ffmpeg -i 입력 -f crc -
각 프레임의 출력 형식을 선택할 수 있습니다. ffmpeg 오디오를 지정하고
비디오 코덱 및 형식. 예를 들어 PCM으로 변환된 입력 오디오의 CRC를 계산하려면
부호 없는 8비트 및 MPEG-2 비디오로 변환된 입력 비디오는 다음 명령을 사용합니다.
ffmpeg -i 입력 -c:a pcm_u8 -c:v mpeg2video -f crc -
프레임CRC
패킷당 CRC(Cyclic Redundancy Check) 테스트 형식.
이 muxer는 각 오디오 및 비디오 패킷에 대해 Adler-32 CRC를 계산하고 인쇄합니다. 에 의해
기본 오디오 프레임은 서명된 16비트 원시 오디오로 변환되고 비디오 프레임은 원시로 변환됩니다.
CRC를 계산하기 전에 비디오.
muxer의 출력은 다음 형식의 각 오디오 및 비디오 패킷에 대한 라인으로 구성됩니다.
, , , , , 0x
CRC 패킷의 CRC를 포함하는 0자리에 8이 채워진 XNUMX진수입니다.
예
예를 들어 오디오 및 비디오 프레임의 CRC를 계산하려면 입력, 원시로 변환
오디오 및 비디오 패킷 및 파일에 저장 out.crc:
ffmpeg -i 입력 -f 프레임crc 출력.crc
정보를 stdout으로 인쇄하려면 다음 명령을 사용하십시오.
ffmpeg -i 입력 -f 프레임crc -
와 ffmpeg, 오디오 및 비디오 프레임이 출력되는 출력 형식을 선택할 수 있습니다.
오디오 및 비디오 코덱을 지정하여 각 패킷에 대한 CRC를 계산하기 전에 인코딩됩니다.
예를 들어, PCM으로 변환된 각 디코딩된 입력 오디오 프레임의 CRC를 계산하려면
부호 없는 8비트 및 MPEG-2 비디오로 변환된 각 디코딩된 입력 비디오 프레임의
명령:
ffmpeg -i 입력 -c:a pcm_u8 -c:v mpeg2video -f 프레임crc -
참조 항목 CRM 먹서.
프레임md5
패킷당 MD5 테스트 형식.
이 muxer는 각 오디오 및 비디오 패킷에 대한 MD5 해시를 계산하고 인쇄합니다. 기본적으로
오디오 프레임은 서명된 16비트 원시 오디오로 변환되고 비디오 프레임은 원시 비디오로 변환됩니다.
해시를 계산합니다.
muxer의 출력은 다음 형식의 각 오디오 및 비디오 패킷에 대한 라인으로 구성됩니다.
, , , , ,
MD5 패킷에 대해 계산된 MD5 해시를 나타내는 XNUMX진수입니다.
예
예를 들어 오디오 및 비디오 프레임의 MD5를 계산하려면 입력, 원시로 변환
오디오 및 비디오 패킷 및 파일에 저장 아웃.md5:
ffmpeg -i 입력 -f 프레임md5 out.md5
정보를 stdout으로 인쇄하려면 다음 명령을 사용하십시오.
ffmpeg -i 입력 -f 프레임md5 -
참조 항목 md5 먹서.
지프
애니메이션 GIF muxer.
다음 옵션을 허용합니다.
고리
출력을 반복할 횟수를 설정합니다. 반복하지 않으려면 "-1"을 사용하고 반복하려면 0을 사용하십시오.
무기한(기본값).
최종 지연
마지막 프레임 이후 지연(센티초 단위로 표시)을 적용합니다. 각 프레임은
다음 프레임까지 지연됩니다. 기본값은 "-1"이며, 이는 특별한 값입니다.
muxer는 이전 지연을 재사용합니다. 루프의 경우 사용자 정의할 수 있습니다.
이 값은 예를 들어 일시 중지를 표시합니다.
예를 들어 루프 사이에 10초의 지연 시간을 두고 5번 반복되는 gif를 인코딩하려면 다음과 같이 하십시오.
ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif
참고 1: 프레임을 별도의 GIF 파일로 추출하려면
image2 먹서:
ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif"
참고 2: GIF 형식은 시간축이 매우 작습니다. 두 프레임 사이의 지연은
XNUMX센티초보다 작습니다.
hls
HTTP Live Streaming에 따라 MPEG-TS를 분할하는 Apple HTTP Live Streaming muxer
(HLS) 사양.
재생 목록 파일과 하나 이상의 세그먼트 파일을 생성합니다. 출력 파일 이름은 다음을 지정합니다.
재생목록 파일명.
기본적으로 muxer는 생성된 각 세그먼트에 대해 파일을 만듭니다. 이 파일들은 동일합니다
이름을 재생 목록으로 지정하고 그 뒤에 일련 번호와 .ts 확장자를 붙입니다.
예를 들어 다음을 사용하여 입력 파일을 변환하려면 ffmpeg:
ffmpeg -i in.nut out.m3u8
이 예에서는 재생 목록을 생성합니다. 아웃.m3u8및 세그먼트 파일: out0.ts, out1.ts,
out2.ts등
참조 항목 분절 보다 일반적이고 유연한 구현을 제공하는 muxer
분할기이며 HLS 분할을 수행하는 데 사용할 수 있습니다.
옵션
이 muxer는 다음 옵션을 지원합니다.
hls_시간 초
세그먼트 길이를 초 단위로 설정합니다. 기본값은 2입니다.
hls_list_size 크기
재생 목록 항목의 최대 수를 설정합니다. 0으로 설정하면 목록 파일에 모든 항목이 포함됩니다.
세그먼트. 기본값은 5입니다.
hls_ts_옵션 옵션_목록
키=값 매개변수의 :-구분 목록을 사용하여 출력 형식 옵션을 설정합니다. 가치
":" 특수 문자를 포함하는 문자는 이스케이프해야 합니다.
hls_wrap 싸다
세그먼트 파일명 번호(각각에 지정된 번호) 다음의 번호를 설정합니다.
세그먼트 파일) 래핑합니다. 0으로 설정하면 숫자가 래핑되지 않습니다. 기본값은 0입니다.
이 옵션은 많은 세그먼트 파일과 제한으로 디스크를 채우지 않도록 하는 데 유용합니다.
디스크에 기록되는 최대 세그먼트 파일 수 싸다.
시작 번호 번호
에서 재생 목록 시퀀스 번호 시작 번호. 기본값은 0입니다.
hls_allow_cache 허용 캐시
클라이언트가 \fIs0(1) 또는 절대 \fIs0(0) 캐시 미디어
세그먼트.
hls_base_url 기본 URL
추가 기본 URL 재생 목록의 모든 항목에. 재생 목록을 생성하는 데 유용합니다.
절대 경로.
재생 목록 시퀀스 번호는 각 세그먼트에 대해 고유해야 하며 그렇지 않습니다.
순환할 수 있는 세그먼트 파일 이름 시퀀스 번호와 혼동하기 위해
예를 들면 싸다 옵션이 지정되었습니다.
hls_segment_filename 파일 이름
세그먼트 파일 이름을 설정합니다. hls_flags single_file이 설정되지 않는 한 파일 이름 로 사용됩니다
세그먼트 번호가 포함된 문자열 형식:
ffmpeg in.nut -hls_segment_filename '파일%03d.ts' out.m3u8
이 예에서는 재생 목록을 생성합니다. 아웃.m3u8및 세그먼트 파일: file000.ts,
file001.ts, file002.ts등
hls_key_info_file key_info_file
에서 정보를 사용하십시오. key_info_file 세그먼트 암호화용. 의 첫 번째 라인
key_info_file 재생 목록에 기록된 키 URI를 지정합니다. 키 URL은 다음에 사용됩니다.
재생 중에 암호화 키에 액세스합니다. 두 번째 줄은 다음 경로를 지정합니다.
암호화 프로세스 중에 키를 얻는 데 사용되는 키 파일. 키 파일은 다음과 같이 읽습니다.
이진 형식의 16 옥텟으로 구성된 단일 압축 배열입니다. 선택적 세 번째 줄은 다음을 지정합니다.
초기화 벡터(IV) 대신 사용할 XNUMX진수 문자열
암호화를 위한 세그먼트 시퀀스 번호(기본값). 변경 사항 key_info_file 결과가 될 것이다
새 키/IV 및 새 키에 대한 재생 목록 항목을 사용한 세그먼트 암호화
URI/IV.
주요 정보 파일 형식:
(선택 과목)
키 URI의 예:
http://server/file.key
/경로/to/file.key
파일.키
키 파일 경로의 예:
파일.키
/경로/to/file.key
실시예 IV:
0123456789ABCDEF0123456789ABCDEF
주요 정보 파일 예:
http://server/file.key
/경로/to/file.key
0123456789ABCDEF0123456789ABCDEF
쉘 스크립트 예:
#!/ 빈 / SH
BASE_URL=${1:-'.'}
openssl 랜드 16> file.key
에코 $BASE_URL/file.key > file.keyinfo
에코 파일.키 >> 파일.키정보
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i 테스트rc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file 파일.keyinfo out.m3u8
hls_플래그 단일 파일
이 플래그가 설정되면 muxer는 모든 세그먼트를 단일 MPEG-TS 파일에 저장하고
재생 목록에서 바이트 범위를 사용합니다. 이 방법으로 생성된 HLS 재생 목록은
버전 번호 4. 예:
ffmpeg -i in.nut -hls_flags 단일 파일 out.m3u8
플레이리스트를 제작할 예정이며, 아웃.m3u8, 단일 세그먼트 파일, 아웃.ts.
hls_플래그 delete_segments
재생 목록에서 제거된 세그먼트 파일은 일정 시간이 지나면 삭제됩니다.
세그먼트 길이 + 재생 목록 길이.
특별하다고
ICO 파일 먹서.
Microsoft의 아이콘 파일 형식(ICO)에는 다음과 같은 몇 가지 엄격한 제한 사항이 있습니다.
· 크기는 모든 차원에서 256픽셀을 초과할 수 없습니다.
· BMP 및 PNG 이미지만 저장 가능
· BMP 이미지를 사용하는 경우 다음 픽셀 형식 중 하나여야 합니다.
BMP 비트 심도 FFmpeg 픽셀 형식
1비트 pal8
4비트 pal8
8비트 pal8
16비트 rgb555le
24비트 bgr24
32비트 bgra
· BMP 이미지를 사용하는 경우 BITMAPINFOHEADER DIB 헤더를 사용해야 합니다.
· PNG 이미지를 사용하는 경우 rgba 픽셀 형식을 사용해야 합니다.
image2
이미지 파일 먹서.
이미지 파일 muxer는 비디오 프레임을 이미지 파일에 기록합니다.
출력 파일 이름은 순차적으로 생성하는 데 사용할 수 있는 패턴으로 지정됩니다.
번호가 매겨진 일련의 파일. 패턴에 "%d" 또는 "%0" 문자열이 포함될 수 있습니다.Nd", 이 문자열
파일 이름에서 번호 매기기를 나타내는 문자의 위치를 지정합니다. 만약
양식 "%0Nd"가 사용되면 각 파일 이름의 숫자를 나타내는 문자열이 0으로 채워집니다. N
숫자. 리터럴 문자 '%'는 문자열 "%%"를 사용하여 패턴에 지정할 수 있습니다.
패턴에 "%d" 또는 "%0"이 포함된 경우Nd", 지정된 파일 목록의 첫 번째 파일 이름은
숫자 1을 포함하면 다음 숫자가 모두 순차적입니다.
패턴에는 형식을 자동으로 결정하는 데 사용되는 접미사가 포함될 수 있습니다.
쓸 이미지 파일.
예를 들어 "img-%03d.bmp" 패턴은 다음 형식의 파일 이름 시퀀스를 지정합니다.
img-001.bmp, img-002.bmp, ..., img-010.bmp등. "img%%-%d.jpg" loading="lazy" 패턴은 다음을 지정합니다.
형식의 파일 이름 시퀀스 img%-1.jpg, img%-2.jpg, ..., img%-10.jpg등
예
다음 예제는 사용 방법을 보여줍니다. ffmpeg 일련의 파일 생성
img-001.jpeg, img-002.jpeg, ..., 입력 비디오에서 매초 하나의 이미지를 가져옵니다.
ffmpeg -i in.avi -vsync 1 -r 1 -f 이미지2 'img-%03d.jpeg'
참고로 ffmpeg, 형식이 "-f" 옵션과 출력으로 지정되지 않은 경우
filename은 이미지 파일 형식을 지정하고 image2 muxer가 자동으로 선택되므로
이전 명령은 다음과 같이 작성할 수 있습니다.
ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
또한 패턴에 반드시 "%d" 또는 "%0"이 포함될 필요는 없습니다.Nd", 예를 들어
단일 이미지 파일 생성 img.jpeg 입력 비디오에서 다음 명령을 사용할 수 있습니다.
ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
The strftime 옵션을 사용하면 날짜 및 시간 정보로 파일 이름을 확장할 수 있습니다.
구문에 대해서는 "strftime()" 함수의 문서를 확인하십시오.
예를 들어 "strftime()" "%Y-%m-%d_%H-%M-%S" 패턴에서 이미지 파일을 생성하려면
수행원 ffmpeg 명령을 사용할 수 있습니다.
ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
옵션
시작 번호
지정된 번호부터 시퀀스를 시작합니다. 기본값은 0입니다.
최신 정보
1로 설정하면 파일 이름은 항상 파일 이름이 아닌 파일 이름으로 해석됩니다.
패턴으로 바뀌며 해당 파일은 계속해서 새로운 이미지로 덮어쓰기 됩니다.
기본값은 0입니다.
strftime
1로 설정하면 "strftime()"에서 날짜 및 시간 정보로 파일 이름을 확장합니다.
기본값은 0입니다.
이미지 muxer는 .YUV 이미지 파일 형식을 지원합니다. 이 형식은 다음과 같은 점에서 특별합니다.
각 이미지 프레임은 각 YUV420P 구성 요소에 대해 세 개의 파일로 구성됩니다. 읽거나
이 이미지 파일 형식을 작성하려면 '.Y' 파일의 이름을 지정하십시오. 먹서는
필요에 따라 '.U' 및 '.V' 파일을 자동으로 엽니다.
Matroska
Matroska 컨테이너 muxer.
이 muxer는 matroska 및 webm 컨테이너 사양을 구현합니다.
메타 데이터
이 muxer에서 인식되는 메타데이터 설정은 다음과 같습니다.
제목
단일 트랙에 제공되는 타이틀 이름을 설정합니다.
언어
Matroska 언어 양식에서 트랙의 언어를 지정합니다.
언어는 3글자 서지 ISO-639-2(ISO 639-2/B) 형식일 수 있습니다.
(예: 프랑스어의 경우 "fre") 또는 특산품의 경우 국가 코드와 혼합된 언어 코드
언어로(예: 캐나다 프랑스어의 경우 "fre-ca").
스테레오 모드
단일 비디오 트랙에서 두 보기의 스테레오 3D 비디오 레이아웃을 설정합니다.
다음 값이 인식됩니다.
모노
비디오는 스테레오가 아닙니다
왼쪽 오른쪽
두 보기가 나란히 정렬되어 있고, 왼쪽 눈 보기는 왼쪽에 있습니다.
하단_상단
두 보기 모두 위쪽에서 아래쪽 방향으로 정렬되며 왼쪽 눈 보기는 아래쪽에 있습니다.
상단_하단
두 보기 모두 위쪽에서 아래쪽 방향으로 정렬되고 왼쪽 눈 보기가 위쪽에 있음
checkerboard_rl
각 보기는 바둑판 인터리브 패턴으로 배열되며 왼쪽 눈 보기는
먼저
checkerboard_lr
각 보기는 바둑판 인터리브 패턴으로 배열되며 오른쪽 눈 보기는
먼저
row_interleaved_rl
각 뷰는 행 기반 인터리빙으로 구성되며 우안 뷰는 첫 번째 행입니다.
row_interleaved_lr
각 뷰는 행 기반 인터리빙으로 구성되며 왼쪽 눈 뷰는 첫 번째 행입니다.
col_interleaved_rl
두 뷰 모두 열 기반 인터리빙 방식으로 정렬되며, 우안 뷰는
첫 번째 열
col_interleaved_lr
두 뷰 모두 열 기반 인터리빙 방식으로 정렬되며 왼쪽 눈 뷰는
첫 번째 열
애너글리프_청록색_빨간색
모든 프레임은 빨간색 청록색 필터를 통해 볼 수 있는 애너글리프 형식입니다.
오른쪽 왼쪽
두 보기가 나란히 정렬되어 있고, 오른쪽 눈 보기는 왼쪽에 있습니다.
anaglyph_green_magenta
모든 프레임은 녹색-마젠타 필터를 통해 볼 수 있는 애너글리프 형식입니다.
block_lr
두 눈을 하나의 블록에 묶고, 왼쪽 눈 보기가 우선입니다.
block_rl
두 눈이 하나의 Block에 엮여, Right eye view가 우선
예를 들어 다음 명령줄을 사용하여 3D WebM 클립을 만들 수 있습니다.
ffmpeg -i Sample_left_right_clip.mpg -an -c:v libvpx -metadata 스테레오 모드=left_right -y 스테레오_clip.webm
옵션
이 muxer는 다음 옵션을 지원합니다.
예비_색인_공간
기본적으로 이 muxer는 검색을 위한 인덱스(Matroska 용어로 큐라고 함)를 다음에 씁니다.
파일의 끝 부분에 얼마나 많은 공간을 남겨둘지 미리 알 수 없기 때문입니다.
파일의 시작 부분에 인덱스. 그러나 일부 사용 사례(예: 스트리밍)의 경우
검색이 가능하지만 느립니다. 인덱스를 처음에 두는 것이 유용합니다.
파일의.
이 옵션이 XNUMX이 아닌 값으로 설정되면 muxer는 지정된 양을 예약합니다.
파일 헤더에 공간을 만든 다음 muxing이 실행될 때 거기에 큐를 쓰십시오.
끝납니다. 사용 가능한 공간이 충분하지 않으면 muxing이 실패합니다. 안전한 크기
대부분의 사용 사례는 비디오 시간당 약 50kB여야 합니다.
큐는 출력이 검색 가능한 경우에만 기록되며 이 옵션은
그렇지 않은 경우 효과.
md5
MD5 테스트 형식.
이 muxer는 모든 입력 오디오 및 비디오 프레임의 MD5 해시를 계산하고 인쇄합니다. 에 의해
기본 오디오 프레임은 서명된 16비트 원시 오디오로 변환되고 비디오 프레임은 원시로 변환됩니다.
해시를 계산하기 전에 비디오.
muxer의 출력은 다음 형식의 단일 라인으로 구성됩니다. MD5=MD5어디로 MD5 하는
계산된 MD5 해시를 나타내는 XNUMX진수입니다.
예를 들어 원시 오디오 및 비디오로 변환된 입력의 MD5 해시를 계산하고
파일에 저장 아웃.md5:
ffmpeg -i 입력 -f md5 out.md5
다음 명령을 사용하여 MD5를 stdout으로 인쇄할 수 있습니다.
ffmpeg -i 입력 -f md5 -
참조 항목 프레임md5 먹서.
이동, mp4, ismv
MOV/MP4/ISMV(부드러운 스트리밍) 먹서.
mov/mp4/ismv muxer는 단편화를 지원합니다. 일반적으로 MOV/MP4 파일에는 모든
한 위치에 저장된 모든 패킷에 대한 메타데이터(파일 끝에 기록,
추가하여 더 나은 재생을 위해 시작 부분으로 이동 빠른 시작 부터 mov플래그, 또는 사용
전에, qt-빠른 시작 도구). 조각난 파일은 여러 조각으로 구성되며 여기서 패킷은
이러한 패킷에 대한 메타데이터는 함께 저장됩니다. 조각난 파일 쓰기에는
쓰기가 중단되더라도 파일을 디코딩할 수 있다는 이점이 있습니다(정상적인
MOV/MP4는 제대로 완료되지 않으면 디코딩할 수 없습니다.)
매우 긴 파일 작성(일반적인 MOV/MP4 파일 작성은 모든 파일에 대한 정보를 저장하므로
파일이 닫힐 때까지 메모리의 패킷). 단점은 호환성이 낮다는 것입니다.
다른 응용 프로그램과 함께.
옵션
조각화는 파일을 자르는 방법을 정의하는 AVOptions 중 하나를 설정하여 활성화됩니다.
조각으로:
-moov_size 바이트
파일을 배치하는 대신 파일 시작 부분에 moov 아톰을 위한 공간을 예약합니다.
마지막에 moov 원자. 예약된 공간이 부족하면 muxing이 실패합니다.
-mov플래그 조각_키프레임
각 비디오 키프레임에서 새 조각을 시작합니다.
-frag_duration 지속
다음과 같은 조각을 만듭니다. 지속 마이크로초 길이.
-frag_size 크기
최대 크기 페이로드 데이터의 바이트.
-mov플래그 조각_맞춤형
호출자가 다음을 호출하여 조각을 절단할 시기를 수동으로 선택하도록 허용
"av_write_frame(ctx, NULL)" 지금까지 쓴 패킷으로 조각을 씁니다. (이것
libavformat을 통합하는 다른 응용 프로그램에서만 유용합니다. ffmpeg.)
-min_frag_duration 지속
다음보다 짧은 조각을 만들지 마십시오. 지속 마이크로초 길이.
둘 이상의 조건이 지정된 경우 지정된 조건 중 하나가 충족되면 조각이 잘립니다.
조건이 충족됩니다. 이에 대한 예외는 "-min_frag_duration"입니다.
적용할 다른 조건이 충족되었습니다.
또한 출력 파일이 작성되는 방식은 몇 가지 다른 방법을 통해 조정할 수 있습니다.
옵션 :
-mov플래그 빈_무브
설명 없이 파일 시작 부분에 직접 초기 moov 원자를 작성합니다.
그 안에 샘플. 일반적으로 mdat/moov 쌍은 파일의 시작 부분에 다음과 같이 기록됩니다.
파일의 짧은 부분만 포함하는 일반 MOV/MP4 파일. 이 옵션으로
set, 초기 mdat 원자가 없고 moov 원자는 트랙만 설명하지만
지속 시간이 XNUMX입니다.
이 옵션은 ismv(Smooth Streaming) 파일을 작성할 때 암시적으로 설정됩니다.
-mov플래그 seperate_moof
각 트랙에 대해 별도의 무프(영화 조각) 원자를 작성합니다. 일반적으로 모든 패킷
트랙은 moof atom(약간 더 효율적임)에 기록되지만
옵션이 설정되면 muxer는 각 트랙에 대해 하나의 moof/mdat 쌍을 작성하여
별도의 트랙.
이 옵션은 ismv(Smooth Streaming) 파일을 작성할 때 암시적으로 설정됩니다.
-mov플래그 빠른 시작
인덱스(moov atom)를 파일의 시작 부분으로 이동하는 두 번째 패스를 실행합니다. 이것
작업은 시간이 오래 걸릴 수 있으며 조각난 등 다양한 상황에서 작동하지 않습니다.
출력하므로 기본적으로 활성화되어 있지 않습니다.
-mov플래그 rtphint
출력 파일에 RTP 힌트 트랙을 추가합니다.
-mov플래그 비활성화_chpl
Nero 챕터 마커(chpl 원자)를 비활성화합니다. 일반적으로 Nero 챕터와
QuickTime 장 트랙이 파일에 기록됩니다. 이 옵션을 설정하면
QuickTime 장 트랙이 기록됩니다. Nero 챕터는 다음과 같은 경우 오류를 일으킬 수 있습니다.
파일은 mp3Tag 2.61a 및 iTunes 11.3과 같은 특정 태깅 프로그램으로 재처리됩니다.
다른 버전도 영향을 받을 가능성이 큽니다.
-mov플래그 생략_tfhd_offset
절대 base_data_offset을 tfhd 원자에 쓰지 마십시오. 이것은 조각을 묶는 것을 피합니다
파일/스트림의 절대 바이트 위치로.
-mov플래그 default_base_moof
omit_tfhd_offset과 유사하게 이 플래그는 절대값 쓰기를 방지합니다.
tfhd atom의 base_data_offset 필드이지만 새로운 default-base-is-
대신 무프 플래그. 이 플래그는 14496-12:2012의 새로운 플래그입니다. 이것은 조각을 만들 수 있습니다
특정 상황에서 더 쉽게 구문 분석(기본 트랙 조각 위치 방지)
이전 트랙 조각의 암시적 끝에서 계산).
예시
이를 통해 Smooth Streaming 콘텐츠를 IIS의 게시 지점에 실시간으로 푸시할 수 있습니다.
먹서. 예:
ffmpeg -re < > -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(인코더1)
들리는 AAX
Audible AAX 파일은 암호화된 M4B 파일이며 4를 지정하여 해독할 수 있습니다.
바이트 활성화 비밀.
ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:복사 출력.mp4
mp3
MP3 muxer는 다음과 같은 선택적 기능을 사용하여 원시 MP3 스트림을 작성합니다.
· 처음에 있는 ID3v2 메타데이터 헤더(기본적으로 활성화됨). 버전 2.3 및 2.4
지원되는 경우 "id3v2_version" 개인 옵션이 사용되는 항목(3 또는 4)을 제어합니다.
"id3v2_version"을 0으로 설정하면 ID3v2 헤더가 완전히 비활성화됩니다.
muxer는 첨부된 그림(APIC 프레임)을 ID3v2 헤더에 쓰는 것을 지원합니다. 그만큼
그림은 단일 패킷이 포함된 비디오 스트림의 형태로 muxer에 제공됩니다.
이러한 스트림은 얼마든지 있을 수 있으며 각각 단일 APIC 프레임에 해당합니다.
스트림 메타데이터 태그 제목 그리고 본문 APIC에 매핑 설명 그리고 . 유형
각기. 보다http://id3.org/id3v2.4.0-frames> 허용되는 사진 유형의 경우.
APIC 프레임은 처음에 작성해야 하므로 muxer가 버퍼링합니다.
모든 사진을 얻을 때까지 오디오 프레임. 따라서 제공하는 것이 좋습니다
과도한 버퍼링을 피하기 위해 가능한 한 빨리 사진을
· ID3v2 헤더 바로 뒤에 있는 Xing/LAME 프레임(있는 경우). 기본적으로 활성화되어 있으며,
그러나 출력이 검색 가능한 경우에만 작성됩니다. "write_xing" 비공개 옵션
비활성화하는 데 사용할 수 있습니다. 프레임에는 유용할 수 있는 다양한 정보가 포함되어 있습니다.
오디오 지속 시간 또는 인코더 지연과 같은 디코더에.
· 파일 끝에 있는 레거시 ID3v1 태그(기본적으로 비활성화됨). 활성화될 수 있습니다.
"write_id3v1" 비공개 옵션을 사용할 수 있지만 기능이 매우 제한적이므로
사용을 권장하지 않습니다.
예 :
ID3v3 헤더와 ID2.3v3 바닥글로 mp1를 작성합니다.
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
사진을 mp3 파일에 첨부하려면 다음과 같이 오디오와 사진 스트림을 모두 선택합니다.
"지도":
ffmpeg -i input.mp3 -i cover.png -c 복사 -map 0 -map 1
-metadata:s:v title="앨범 표지" -metadata:s:v comment="표지(앞)" out.mp3
추가 기능 없이 "깨끗한" MP3 작성:
ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3
mpegt
MPEG 전송 스트림 먹서.
이 muxer는 ISO 13818-1 및 ETSI EN 300 468의 일부를 구현합니다.
mpegts muxer에서 인식되는 메타데이터 설정은 "service_provider"이며
"서비스 이름". 설정되지 않은 경우 "service_provider"의 기본값은 "FFmpeg"이고
"service_name"의 기본값은 "Service01"입니다.
옵션
먹스 옵션은 다음과 같습니다.
-mpegts_original_network_id 번호
original_network_id(기본값 0x0001)를 설정합니다. 네트워크의 고유 식별자입니다.
DVB에서. 주요 용도는 경로를 통해 서비스를 고유하게 식별하는 것입니다.
Original_Network_ID, Transport_Stream_ID.
-mpegts_transport_stream_id 번호
transport_stream_id(기본값 0x0001)를 설정합니다. 이는 DVB에서 응답기를 식별합니다.
-mpegts_service_id 번호
DVB에서 프로그램이라고도 하는 service_id(기본값 0x0001)를 설정합니다.
-mpegts_service_type 번호
프로그램 service_type을 설정합니다(기본값 디지털 TV), 아래의 사전 정의된 목록을 참조하십시오.
values.
-mpegts_pmt_start_pid 번호
PMT의 첫 번째 PID를 설정합니다(기본값 0x1000, 최대 0x1f00).
-mpegts_start_pid 번호
데이터 패킷의 첫 번째 PID를 설정합니다(기본값 0x0100, 최대 0x0f00).
-mpegts_m2ts_mode 번호
2로 설정하면 m1ts 모드를 활성화합니다. 기본값은 m1ts 모드를 비활성화하는 -2입니다.
- 먹스레이트 번호
일정한 muxrate(기본 VBR)를 설정합니다.
-pcr_기간 numer
기본 PCR 재전송 시간 재정의(기본값 20ms), 변수인 경우 무시됨
먹스레이트가 선택됩니다.
pat_기간 번호
PAT/PMT 테이블 간의 최대 시간(초)입니다.
SDT_기간 번호
SDT 테이블 간의 최대 시간(초)입니다.
-pes_payload_size 번호
최소 PES 패킷 페이로드를 바이트 단위로 설정합니다.
-mpegts_flags 플래그
플래그를 설정합니다(아래 참조).
-mpegts_copyts 번호
값이 1로 설정된 경우 원래 타임스탬프를 유지합니다. 기본값은 -1이며 결과는
0부터 시작하도록 타임스탬프를 이동합니다.
-테이블_버전 번호
PAT, PMT 및 SDT 버전을 설정합니다(기본값 0, 유효한 값은 0에서 31까지임).
이 옵션을 사용하면 표준 소비자가 다음을 감지할 수 있도록 스트림 구조를 업데이트할 수 있습니다.
변화. 이렇게 하려면 출력 AVFormatContext(API 사용의 경우)를 다시 열거나 다시 시작합니다.
ffmpeg 인스턴스, 주기적으로 tables_version 값 변경:
ffmpeg -i source1.ts -codec 복사 -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec 복사 -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec 복사 -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec 복사 -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec 복사 -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
mpegts_service_type 옵션은 다음 값을 허용합니다.
XNUMX진수 값
ETSI 0 01에 정의된 0x300에서 468xff 사이의 XNUMX진수 값입니다.
디지털 TV
디지털 TV 서비스.
디지털라디오
디지털 라디오 서비스.
텔레 텍스트
텔레텍스트 서비스.
Advanced_codec_digital_radio
고급 코덱 디지털 라디오 서비스.
mpeg2_digital_hdtv
MPEG2 디지털 HDTV 서비스.
고급_코덱_디지털_sdtv
고급 코덱 디지털 SDTV 서비스.
고급_코덱_디지털_hdtv
고급 코덱 디지털 HDTV 서비스.
옵션 mpegts_flags는 다음과 같은 플래그 세트를 사용할 수 있습니다.
재전송_헤더
다음 패킷을 쓰기 전에 PAT/PMT를 다시 전송하십시오.
라틴
AAC에 LATM 패킷화를 사용합니다.
pat_pmt_at_frames
각 비디오 프레임에서 PAT 및 PMT를 재전송합니다.
예시
ffmpeg -i 파일.mpg -c 복사 \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344 \
-mpegts_service_id 0x5566 \
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150 \
-metadata service_provider="일부 공급자" \
-metadata service_name="일부 채널" \
-y out.ts
mxf, mxf_d10
MXF 먹서.
옵션
먹스 옵션은 다음과 같습니다.
store_user_comments 불량배
사용 가능한 경우 사용자 의견을 저장해야 하는지 여부를 설정합니다. IRT D-10은 허용하지 않습니다.
사용자 의견. 따라서 기본값은 mxf에 대해 작성하는 것이지만 mxf_d10에 대해서는 작성하지 않는 것입니다.
null로
널 먹서.
이 muxer는 출력 파일을 생성하지 않으며 주로 테스트 또는
벤치마킹 목적.
예를 들어 디코딩을 벤치마킹하려면 ffmpeg 다음 명령을 사용할 수 있습니다.
ffmpeg -벤치마크 -i INPUT -f null out.null
위의 명령은 아웃.널 파일을 지정하지만
출력 파일은 ffmpeg 통사론.
또는 다음과 같이 명령을 작성할 수 있습니다.
ffmpeg -벤치마크 -i INPUT -f null -
너트
- 동기점 플래그
nut에서 동기점 사용을 변경하십시오.
디폴트 값 사용 전에, 표준 낮은 오버헤드 모색 보조기구.
없음 do 지원 사용 전에, 싱크포인트 at 모두, 감소 전에, 간접비 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만 만들기 전에, 흐름
검색 불가;
결과 파일이 매우 손상되므로 이 옵션을 사용하지 않는 것이 좋습니다.
민감하고 추구하는 것은 불가능합니다. 또한 일반적으로
동기점은 무시할 수 있습니다. 참고, -C 0은 비활성화하는 데 사용할 수 있습니다.
증가하는 모든 데이터 테이블을 통해 제한된 메모리로 끝없는 스트림을 다중화할 수 있습니다.
이러한 단점이 없습니다.
타임 스탬프 확장 전에, 싱크포인트 과 a 벽 시계 입력란입니다.
The 없음 그리고 타임 스탬프 플래그는 실험적입니다.
-write_index 불량배
마지막에 색인을 작성합니다. 기본값은 색인을 작성하는 것입니다.
ffmpeg -i INPUT -f_strict 실험적 -syncpoints 없음 - | 프로세서
오그
Ogg 컨테이너 muxer.
-페이지_기간 지속
기본 페이지 기간(마이크로초)입니다. muxer는 다음과 같은 페이지 생성을 시도합니다.
대략 지속 마이크로초 길이. 이를 통해 사용자는 타협할 수 있습니다.
탐색 세분성과 컨테이너 오버헤드 사이. 기본값은 1초입니다. 값 0
모든 세그먼트를 채우고 페이지를 최대한 크게 만듭니다. 값 1은
대부분의 상황에서 페이지당 1패킷을 효과적으로 사용하여 작은 검색 세분성을 제공합니다.
추가 컨테이너 오버헤드 비용으로.
-serial_offset 가치
스트림 일련 번호를 설정할 일련 값입니다. 다르게 설정하고
값이 충분히 크면 생성된 ogg 파일을 안전하게 연결할 수 있습니다.
분절, 스트림_세그먼트, 세그먼트
기본 스트림 분할기.
이 muxer는 거의 고정된 기간의 여러 개별 파일로 스트림을 출력합니다. 산출
파일 이름 패턴은 다음과 유사한 방식으로 설정할 수 있습니다. image2, 또는 "strftime"을 사용하여
템플릿 경우 strftime 옵션이 사용됩니다.
"stream_segment"는 스트리밍 출력 형식에 쓰는 데 사용되는 muxer의 변형입니다.
전역 헤더가 필요하지 않으며 MPEG 등으로 출력하는 데 권장됩니다.
전송 스트림 세그먼트. "ssegment"는 "stream_segment"의 짧은 별칭입니다.
모든 세그먼트는 설정된 참조 스트림의 키프레임으로 시작합니다.
를 통해 참조_스트림 옵션을 선택합니다.
비디오 파일을 정확하게 분할하려면 입력 키를 만들어야 합니다.
프레임은 분할기 또는 세그먼트에서 예상하는 정확한 분할 시간에 해당합니다.
muxer는 지정된 시작 후 다음에 발견된 키 프레임으로 새 세그먼트를 시작합니다.
시간.
세그먼트 먹서는 단일 고정 프레임 속도 비디오에서 가장 잘 작동합니다.
선택적으로 옵션을 설정하여 생성된 세그먼트 목록을 생성할 수 있습니다.
세그먼트_목록. 목록 유형은 세그먼트_목록_유형 옵션. 엔트리
세그먼트 목록의 파일 이름은 기본적으로 해당 세그먼트의 기본 이름으로 설정됩니다.
세그먼트 파일.
참조 항목 hls HLS에 대한 보다 구체적인 구현을 제공하는 muxer
분할.
옵션
세그먼트 먹서는 다음 옵션을 지원합니다.
참조_스트림 지정자
문자열로 지정된 대로 참조 스트림을 설정합니다. 지정자. 면 지정자 설정
"자동"으로 설정하면 참조가 자동으로 선택됩니다. 그렇지 않으면 스트림이어야 합니다.
지정자(ffmpeg 매뉴얼의 ``스트림 지정자'' 장 참조)는 다음을 지정합니다.
참조 스트림. 기본값은 "자동"입니다.
세그먼트_형식 체재
내부 컨테이너 형식을 재정의합니다. 기본적으로 파일 이름으로 추측됩니다.
확대.
세그먼트_형식_옵션 옵션_목록
키=값 매개변수의 :-구분 목록을 사용하여 출력 형식 옵션을 설정합니다. 가치
":" 특수 문자를 포함하는 문자는 이스케이프해야 합니다.
세그먼트_목록 name
이름이 지정된 목록 파일도 생성합니다. name. 지정하지 않으면 목록 파일이 생성되지 않습니다.
세그먼트 목록_플래그 플래그
세그먼트 목록 생성에 영향을 미치는 플래그를 설정합니다.
현재 다음 플래그를 지원합니다.
캐시
캐싱을 허용합니다(M3U8 목록 파일에만 영향을 미침).
살고있다
생생한 파일 생성을 허용합니다.
세그먼트_목록_크기 크기
최대 포함하도록 목록 파일을 업데이트합니다. 크기 세그먼트. 0인 경우 목록 파일
모든 세그먼트를 포함합니다. 기본값은 0입니다.
세그먼트_목록_항목_접두사 접두사
앞에 추가 접두사 각 항목에. 절대 경로를 생성하는 데 유용합니다. 기본적으로 접두사 없음
적용됩니다.
세그먼트_목록_유형 유형
목록 형식을 선택합니다.
다음 값이 인식됩니다.
플랫
생성된 세그먼트에 대해 라인당 세그먼트 하나씩 플랫 목록을 생성합니다.
CSV, 내선
생성된 세그먼트에 대한 목록을 라인당 하나의 세그먼트, 각 라인이 일치하는 목록 생성
형식(쉼표로 구분된 값):
, ,
세그먼트_파일이름 muxer에 의해 생성된 출력 파일의 이름입니다.
제공된 패턴에 CSV 이스케이프(RFC4180에 따름)는 다음과 같은 경우에 적용됩니다.
이 필요합니다.
세그먼트_시작_시간 그리고 세그먼트_종료_시간 세그먼트 시작 및 종료 시간 지정
초로 표현.
접미사가 ".csv" 또는 ".ext"인 목록 파일은 이 형식을 자동으로 선택합니다.
내선 선호하지 않거나 csv 파일.
ffconcat
생성된 세그먼트에 대한 ffconcat 파일을 생성합니다. 결과 파일을 읽을 수 있습니다.
FFmpeg 사용 연결 디먹서.
접미사가 ".ffcat" 또는 ".ffconcat"인 목록 파일은 이 형식을 자동으로 선택합니다.
m3u8
다음을 준수하는 확장된 M3U8 파일, 버전 3 생성
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.
접미사가 ".m3u8"인 목록 파일은 이 형식을 자동으로 선택합니다.
지정하지 않으면 목록 파일 이름 접미사에서 유형을 추측합니다.
세그먼트_시간 시간
세그먼트 기간을 다음으로 설정 시간, 값은 기간 사양이어야 합니다. 기본
값은 "2"입니다. 또한 참조 세그먼트_시간 옵션을 선택합니다.
참조 스트림 키를 강제하지 않으면 분할이 정확하지 않을 수 있습니다.
주어진 시간에 프레임. 소개 공지 및 아래 예를 참조하십시오.
세그먼트_atclocktime 1 | 0
"1"로 설정하면 00:00 시부터 시작하는 일반 시계 시간 간격으로 분할됩니다. 그만큼
시간 지정된 값 세그먼트_시간 분할 길이를 설정하는 데 사용됩니다.
간격.
예를 들어 세그먼트_시간 "900"으로 설정하면 다음 위치에서 파일을 만들 수 있습니다.
12시, 00시 12분, 15시 12분 등
기본값은 "0"입니다.
세그먼트_시간_델타 델타
세그먼트의 시작 시간을 선택할 때 정확도 시간을 지정합니다.
기간 사양. 기본값은 "0"입니다.
델타가 지정되면 PTS가 다음을 충족하는 경우 키 프레임이 새 세그먼트를 시작합니다.
관계:
PTS >= start_time - time_delta
이 옵션은 항상 GOP에서 분할되는 비디오 콘텐츠를 분할할 때 유용합니다.
경계, 지정된 분할 시간 직전에 키 프레임이 발견된 경우.
특히 다음과 함께 사용할 수 있습니다. ffmpeg option force_key_frames. 그만큼
다음에 의해 지정된 키 프레임 시간 force_key_frames 인해 정확하게 설정되지 않을 수 있습니다.
반올림 문제로 인해 키 프레임 시간이 직전에 설정될 수 있습니다.
지정된 시간. 고정 프레임 속도 비디오의 경우 값 1/(2*프레임 속도) 해야 한다
지정된 시간과 에 의해 설정된 시간 사이의 최악의 불일치를 해결합니다.
force_key_frames.
세그먼트_시간 시대
분할 지점 목록을 지정합니다. 시대 쉼표로 구분된 기간 목록을 포함합니다.
사양, 오름차순. 또한 참조 세그먼트_시간 옵션을 선택합니다.
세그먼트_프레임 프레임
분할 비디오 프레임 번호 목록을 지정합니다. 프레임 쉼표로 구분된 목록을 포함합니다.
오름차순 정수.
이 옵션은 참조 스트림 키 프레임이 생성될 때마다 새 세그먼트를 시작하도록 지정합니다.
찾았고 프레임의 순차 번호(0부터 시작)가 다음보다 크거나 같습니다.
목록의 다음 값.
세그먼트_랩 제한
세그먼트 인덱스가 도달하면 랩핑합니다. 제한.
세그먼트_시작_번호 번호
첫 번째 세그먼트의 시퀀스 번호를 설정합니다. 기본값은 0입니다.
strftime 1 | 0
작성할 새 세그먼트의 이름을 정의하려면 "strftime" 함수를 사용하십시오. 이 경우
이 선택되면 출력 세그먼트 이름에 "strftime" 함수 템플릿이 포함되어야 합니다.
기본값은 0입니다.
break_non_keyframes 1 | 0
활성화된 경우 세그먼트가 키프레임 이외의 프레임에서 시작하도록 허용합니다. 이것은 향상
키프레임 사이의 시간이 일치하지 않을 때 일부 플레이어의 동작이지만
다른 사람들에게는 상황이 악화되고 찾는 동안 이상한 일이 발생할 수 있습니다. 기본값은 0입니다.
재설정_타임스탬프 1 | 0
각 세그먼트의 시작 부분에서 타임스탬프를 재설정하여 각 세그먼트가
제로에 가까운 타임스탬프. 생성된 세그먼트의 재생을 쉽게 하기 위한 것입니다. XNUMX월
먹서/코덱의 일부 조합에서는 작동하지 않습니다. 기본적으로 0으로 설정됩니다.
초기_오프셋 오프셋
출력 패킷 타임스탬프에 적용할 타임스탬프 오프셋을 지정합니다. 인수는 반드시
기간 지정이며 기본값은 0입니다.
예
· 파일 내용 리먹싱 in.mkv 세그먼트 목록으로 out-000.nut, out-001.nut등,
그리고 생성된 세그먼트 목록을 아웃.리스트:
ffmpeg -i in.mkv -codec 복사 -map 0 -f 세그먼트 -segment_list out.list out%03d.nut
· 세그먼트 입력 및 출력 세그먼트에 대한 출력 형식 옵션 설정:
ffmpeg -i in.mkv -f 세그먼트 -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
·에 의해 지정된 분할 지점에 따라 입력 파일을 분할 세그먼트_시간
옵션 :
ffmpeg -i in.mkv -codec 복사 -map 0 -f 세그먼트 -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
· 사용 ffmpeg force_key_frames 입력에 키 프레임을 강제 적용하는 옵션
세그먼트 옵션과 함께 지정된 위치 세그먼트_시간_델타 설명하기 위해
키 프레임 시간을 설정할 때 가능한 반올림이 작동합니다.
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
-f 세그먼트 -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
입력 파일에 키 프레임을 강제 적용하려면 트랜스코딩이 필요합니다.
· 프레임 번호에 따라 입력 파일을 분할하여 입력 파일 분할
로 지정된 시퀀스 세그먼트_프레임 옵션 :
ffmpeg -i in.mkv -codec 복사 -map 0 -f 세그먼트 -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
· 변환 in.mkv "libx264" 및 "libfaac" 인코더를 사용하여 TS 세그먼트로:
ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
· 입력 파일 분할 및 M3U8 라이브 재생 목록 생성(라이브 HLS로 사용 가능)
원천):
ffmpeg -re -i in.mkv -codec 복사 -map 0 -f 세그먼트 -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 out%03d.mkv
부드러운 스트리밍
Smooth Streaming 먹서는 서빙에 적합한 파일 세트(매니페스트, 청크)를 생성합니다.
기존의 웹 서버와
창 크기
매니페스트에 보관된 조각 수를 지정합니다. 기본값은 0(모두 유지)입니다.
extra_window_size
매니페스트에서 제거하기 전에 매니페스트 외부에 보관된 조각 수를 지정합니다.
디스크. 기본값 5.
미리보기_개수
미리 보기 조각의 수를 지정합니다. 기본값 2.
min_frag_duration
최소 조각 기간(마이크로초)을 지정합니다. 기본값은 5000000입니다.
제거_at_exit
완료 시 모든 조각을 제거할지 여부를 지정합니다. 기본값은 0(제거하지 않음)입니다.
티
tee muxer는 동일한 데이터를 여러 파일 또는 다른 종류의 파일에 쓰는 데 사용할 수 있습니다.
먹서. 예를 들어 비디오를 네트워크로 스트리밍하고 저장하는 데 사용할 수 있습니다.
동시에 디스크.
여러 출력을 지정하는 것과는 다릅니다. ffmpeg 명령줄 도구 때문에
오디오 및 비디오 데이터는 티 먹서로 한 번만 인코딩됩니다. 인코딩은
매우 비싼 과정. libavformat API를 직접 사용할 때는 유용하지 않습니다.
그런 다음 동일한 패킷을 여러 먹서에 직접 공급할 수 있습니다.
슬레이브 출력은 muxer에 지정된 파일 이름에 '|'로 구분되어 지정됩니다. 만약에
슬레이브 이름에는 '|'가 포함되어 있습니다. 구분 기호, 선행 또는 후행 공백 또는
특수 문자, 이스케이프해야 합니다(참조 전에, "인용 그리고 탈출" 섹션에 있어야 합니다. in 전에,
ffmpeg 유틸리티(1) 조작).
Muxer 옵션은 목록 앞에 추가하여 각 슬레이브에 대해 지정할 수 있습니다. 키=가치
대괄호 사이에 ':'로 구분된 쌍입니다. 옵션 값에 특별한
문자 또는 ':' 구분 기호는 이스케이프해야 합니다. 이것은 두 번째 수준입니다
탈출.
다음 특수 옵션도 인식됩니다.
f 형식 이름을 지정합니다. 출력 이름 접미사에서 추측할 수 없는 경우에 유용합니다.
bsfs[/투기]
지정된 출력에 적용할 비트스트림 필터 목록을 지정합니다.
다음과 같이 주어진 비트스트림 필터가 적용되는 스트림을 지정할 수 있습니다.
"/"로 구분된 옵션에 스트림 지정자를 추가합니다. 투기 스트림이어야 합니다.
지정자(참조 형성 흐름 지정자). 스트림 지정자가 지정되지 않은 경우
비트스트림 필터는 출력의 모든 스트림에 적용됩니다.
","로 구분하여 여러 비트스트림 필터를 지정할 수 있습니다.
고르다
스트림으로 지정된 슬레이브 출력에 매핑되어야 하는 스트림을 선택합니다.
지정자. 지정하지 않으면 기본적으로 모든 입력 스트림이 사용됩니다.
예
· 무언가를 인코딩하고 WebM 파일에 보관하고 UDP를 통해 MPEG-TS로 스트리밍
(스트림을 명시적으로 매핑해야 함):
ffmpeg -i ... -c:v libx264 -c:a mp2 -f 티 -맵 0:v -맵 0:a
"아카이브-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
· 사용하다 ffmpeg 입력을 인코딩하고 출력을 세 가지 다른 대상으로 보냅니다.
"dump_extra" 비트스트림 필터는 모든 데이터에 추가 데이터 정보를 추가하는 데 사용됩니다.
MPEG-TS 형식에서 요청한 대로 비디오 키프레임 패킷을 출력합니다. 선택 옵션
적용됩니다 아웃.aac 오디오 패킷만 포함하도록 합니다.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict 실험적
-f 티 "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
· 아래와 같지만 오디오 출력은 "a:1" 스트림만 선택합니다. 두 번째 수준
":"은 옵션을 구분하는 데 사용되는 특수 문자이므로 이스케이프 처리를 수행해야 합니다.
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict 실험적
-f 티 "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac"
참고: 일부 코덱은 출력 형식에 따라 다른 옵션이 필요할 수 있습니다. 자동
이것의 검출은 티 muxer와 함께 작동할 수 없습니다. 주요 예는 다음과 같습니다. global_header
깃발.
webm_dash_manifest
WebM DASH 매니페스트 muxer.
이 먹서는 WebM DASH 매니페스트 사양을 구현하여 DASH 매니페스트를 생성합니다.
XML. 또한 DASH 라이브 스트림을 위한 매니페스트 생성도 지원합니다.
자세한 내용은 다음을 참조하십시오.
· WebM DASH 사양:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>
· ISO DASH 사양:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>
옵션
이 muxer는 다음 옵션을 지원합니다.
적응 세트
이 옵션의 구문은 다음과 같습니다. "id=x,streams=a,b,c id=y,streams=d,e" 여기서 x
y는 적응 세트의 고유 식별자이고 a,b,c,d 및 e는
해당 오디오 및 비디오 스트림의 인덱스. 임의 개수의 적응 세트
이 옵션을 사용하여 추가할 수 있습니다.
살고있다
라이브 스트림 DASH 매니페스트를 생성하려면 이 값을 1로 설정합니다. 기본값: 0.
청크_시작_인덱스
첫 번째 청크의 인덱스를 시작합니다. 이것은 시작 번호 의 속성
세그먼트 템플릿 매니페스트의 요소입니다. 기본값: 0.
Chunk_duration_ms
각 청크의 기간(밀리초)입니다. 이것은 지속 의 속성
세그먼트 템플릿 매니페스트의 요소입니다. 기본값: 1000.
utc_timing_url
ISO 형식으로 UTC 타임스탬프를 반환할 페이지의 URL입니다. 이것은
가치 의 속성 UTC타이밍 매니페스트의 요소입니다. 기본값: 없음.
time_shift_buffer_깊이
모든 표현이 보장되는 최소 시간(초) 이동 버퍼
가능 하게끔. 이것은 timeShiftBufferDepth 의 속성 MPD
요소. 기본값: 60.
최소_업데이트_기간
매니페스트의 최소 업데이트 기간(초)입니다. 이것은
최소 업데이트 기간 의 속성 MPD 요소. 기본값: 0.
예시
ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-맵 0 -맵 1 -맵 2 -맵 3 \
-c 복사 \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \
매니페스트.xml
webm_chunk
WebM 라이브 청크 먹서.
이 muxer는 WebM 헤더와 청크를 별도의 파일로 작성하여 다음에서 사용할 수 있습니다.
DASH를 통해 WebM 라이브 스트림을 지원하는 클라이언트.
옵션
이 muxer는 다음 옵션을 지원합니다.
청크_시작_인덱스
첫 번째 청크의 인덱스(기본값은 0).
머리글
초기화 데이터가 쓰여질 헤더의 파일명.
audio_chunk_duration
각 오디오 청크의 지속 시간(밀리초)(기본값은 5000).
예시
ffmpeg -f v4l2 -i /dev/video0 \
-f 또한 -i hw:0 \
-맵 0:0 \
-c:v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30 \
-f webm_chunk \
-헤더 webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_%d.chk \
-맵 1:0 \
-c:libvorbis \
-b:128k \
-f webm_chunk \
-헤더 webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_%d.chk
메타 데이터
FFmpeg는 미디어 파일의 메타데이터를 간단한 UTF-8 인코딩 INI 유사 텍스트로 덤프할 수 있습니다.
파일을 다운로드한 다음 메타데이터 muxer/demuxer를 사용하여 다시 로드합니다.
파일 형식은 다음과 같습니다.
1. 파일은 헤더와 섹션으로 구분된 여러 메타데이터 태그로 구성됩니다.
자체 라인에.
2. 헤더는 ;FF메타데이터 문자열, 버전 번호(현재 1)가 뒤따릅니다.
3. 메타데이터 태그는 다음과 같은 형식입니다. 키 = 값
4. 헤더 직후 전역 메타데이터를 따릅니다.
5. 글로벌 메타데이터 다음에는 스트림당/챕터당 메타데이터가 있는 섹션이 있을 수 있습니다.
6. 섹션은 대문자로 된 섹션 이름(예: STREAM 또는 CHAPTER)으로 시작합니다.
괄호([, ]) 다음 섹션 또는 파일의 끝으로 끝납니다.
7. 챕터 섹션 시작 부분에 사용할 선택적 타임베이스가 있을 수 있습니다.
시작/종료 값. 형식이어야 합니다. 타임베이스=NUM/일어디로 NUM 그리고 일 정수입니다.
타임베이스가 누락된 경우 시작/종료 시간은 밀리초 단위로 간주됩니다.
다음으로 챕터 섹션은 챕터 시작 및 종료 시간을 형식으로 포함해야 합니다. 시작 =NUM,
종료=NUM어디로 NUM 양의 정수입니다.
8. 빈 줄과 다음으로 시작하는 줄 ; or # 무시됩니다.
9. 특수 문자가 포함된 메타데이터 키 또는 값(=, ;, #, \ 줄 바꿈) 반드시
백 슬래시로 이스케이프 \.
10. 메타데이터의 공백(예: 푸 = 바)의 일부로 간주됩니다.
태그(위의 예에서 키는 푸 , 값은
바).
ffmetadata 파일은 다음과 같습니다.
;FFMETADATA1
제목=자전거 창고
;댓글입니다
아티스트=FFmpeg 트롤 팀
[장]
타임베이스=1/1000
시작=0
#챕터는 0:01:00에 끝납니다.
끝=60000
제목=챕터 \#1
[개울]
제목=멀티\
선
ffmetadata muxer 및 demuxer를 사용하여 입력에서 메타데이터를 추출할 수 있습니다.
파일을 ffmetadata 파일로 변환한 다음 다음을 사용하여 파일을 출력 파일로 트랜스코딩합니다.
편집된 ffmetadata 파일.
다음을 사용하여 ffmetadata 파일 추출 ffmpeg 다음과 같이 간다:
ffmpeg -i INPUT -f ff메타데이터 FFMETADATAFILE
FMETADATAFILE 파일에서 편집된 메타데이터 정보를 다시 삽입하는 방법은 다음과 같습니다.
ffmpeg -i 입력 -i FFMETADATAFILE -map_metadata 1 -코덱 복사 출력
onworks.net 서비스를 사용하여 온라인에서 ffmpeg 형식 사용