FFmpeg
FFmpeg![]() | |
![]() | |
원저작자 | 파브리스 벨라드 바비 빙엄(libavfilter)[1] |
---|---|
개발자 | FFmpeg팀 |
초기 릴리즈 | 2000년 12월 20일, [2] | 전
안정된 릴리스 | 5.1[3] / 2022년 7월 22일 |
저장소 | git |
기입처 | C와 어셈블리[4] |
운영 체제 | Windows, macOS, Linux 등 다양한 기능(프로젝트는 소스 [5][6]코드만 배포하므로 실행 가능한 프로그램은 서드파티에서만 사용 가능) |
플랫폼 | x86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin, AVR32, SH-4 및 SPARC (다른 데스크톱 컴퓨터용으로 컴파일 가능) |
유형 | 멀티미디어 프레임워크 |
면허증. | LGPL-2.1 이후, GPL-2.0 이후 GPL과[7] 호환되지 않는 라이선스를 가진 소프트웨어와 컴파일된 경우 재배포 불가 |
웹 사이트 | ffmpeg |
FFmpeg는 비디오, 오디오 및 기타 멀티미디어 파일 및 스트림을 처리하기 위한 라이브러리 및 프로그램 스위트로 구성된 무료 오픈 소스 소프트웨어 프로젝트입니다.그 중심에는 커맨드 라인이 있습니다. ffmpeg
비디오 및 오디오 파일 처리용으로 설계된 도구입니다.포맷 트랜스코딩, 기본 편집(트리밍 및 연결), 비디오 스케일링, 비디오 포스트 프로덕션 효과 및 표준 준수(SMPTE, ITU)에 널리 사용됩니다.
FFmpeg에는 다른 툴도 포함되어 있습니다.ffplay
, 심플한 미디어 플레이어 및ffprobe
미디어 정보를 표시하는 명령줄 도구입니다.포함된 라이브러리에는 많은 상용 및 자유 소프트웨어 제품에서 사용되는 오디오/비디오 코덱 라이브러리인 libavcodec, 오디오/비디오 컨테이너 및 디맥스 라이브러리인 libavformat(Lavf),[8] Gstreamer 유사 필터 그래프를 통해 필터를 강화 [9]및 편집하는 라이브러리인 libavfilter가 있습니다.
FFmpeg는 다른 많은 소프트웨어 프로젝트의 워크플로우의 일부이며 라이브러리는 VLC와 같은 소프트웨어 미디어 플레이어의 핵심 부분이며 YouTube와 Bilibili의 [10]핵심 처리에 포함되어 있습니다.다수의 오디오 및 비디오파일 포맷용 인코더와 디코더가 포함되어 있어 일반 미디어 파일과 일반 미디어 파일의 트랜스코딩에 매우 유용합니다.
FFmpeg 는,[11] 유효하게 되어 있는 옵션에 따라서, LGPL-2.1 이후 또는 GPL-2.0 이후에 공개됩니다.
역사
이 프로젝트는 2000년 파브리스[11] 벨라르(가명 '제라르 란타우')에 의해 시작되었으며 2004년부터 2015년까지 [12]마이클 니더마이어가 주도하였다.일부 FFmpeg 개발자도 MPlayer 프로젝트의 일부였습니다.
프로젝트 이름은 MPEG 비디오 표준 그룹에서 영감을 받아 "Fast Forward"[13]를 뜻하는 "FF"와 함께 만들어졌습니다.로고는 MPEG 비디오코덱이 엔트로피 [14]부호화를 처리하는 방법을 나타내는 지그재그 패턴을 사용합니다.
2011년 3월 13일, FFmpeg 개발자 그룹은 [15][16][17]Libav라는 이름으로 프로젝트를 진행하기로 결정했습니다.이번 행사는 개발자들이 [18][19][20]FFmpeg의 리더십에 동의하지 않는 프로젝트 관리 문제와 관련된 것이었다.
2014년 1월 10일, 두 명의 Google 직원이 FFmpeg에서 퍼지 [21]테스트를 통해 이전 2년 동안 1000개 이상의 버그를 수정했다고 발표했습니다.
2018년 1월, FFmpeg의 오랜 컴포넌트인 ffserver 명령줄 프로그램이 [22]제거되었습니다.개발자들은 이 프로그램이 내부 애플리케이션 [23]프로그래밍 인터페이스를 사용하기 때문에 높은 유지보수 노력을 이유로 이전에 이 프로그램을 폐지했습니다.
이 프로젝트는 평균적으로 3개월마다 새로운 릴리스를 발표합니다.릴리스 버전은 웹사이트에서 다운로드 할 수 있지만, FFmpeg 개발자들은 사용자가 소스 코드 Git 버전 관리 [24]시스템의 최신 빌드를 사용하여 소프트웨어를 소스로부터 컴파일할 것을 권장합니다.
코덱 이력
지금까지 FFmpeg 프로젝트 내에서 2개의 비디오 코딩 형식과 대응하는 코덱이1개의 컨테이너 형식이 작성되었습니다.2개의 비디오코덱은 무손실 FFV1과 무손실 Snow 코덱입니다.스노우 개발은 지연되고 비트스트림 포맷은 아직 확정되지 않아 2011년 이후 실험 단계에 접어들었다.NUT라고 불리는 멀티미디어 컨테이너 포맷은 더 이상 활발하게 개발되지 않고 여전히 [25]유지되고 있습니다.
2010년 여름, FFmpeg 개발자인 Fiona Glaser, Ronald Bultje 및 David Conrad가 ffvp8 디코더를 발표했습니다.테스트를 통해 그들은 ffvp8이 구글 자체 libvpx [26][27]디코더보다 빠르다는 것을 알아냈다.버전 0.6 이후 FFmpeg는 WebM 및 VP8도 [28]지원했습니다.
2013년 10월, 네이티브[29] VP9 디코더 및 Open오픈 소스 HEVC(High Efficiency Video Coding) 디코더인 HEVC가 [30]FFmpeg에 추가되었습니다.2016년에는 네이티브 AAC 인코더가 안정적인 것으로 간주되어 VisualOn 및 FAAC에서 2개의 외부 AAC 인코더를 지원하지 않게 되었습니다.FFmpeg 3.0 ('아인슈타인'이라는 별명)는 Fraunhofer FDK AAC [31]인코더에 대한 빌드 지원을 유지했습니다.버전 3.4 "캔터" 이후 FFmpeg는 FITS 이미지 [32]형식을 지원했습니다.버전 4.1 "al-Khwarizmi" AV1은 2018년 11월부터 MP4 및 Matroska etclude에서 뮤징할 수 있습니다.웹M[33][34]
구성 요소들
명령줄 도구
- ffmpeg는 오디오 또는 비디오 형식을 변환하는 명령줄 도구입니다.또한 TV 캡처 카드와 같은 다양한 하드웨어 및 소프트웨어[35] 소스에서 실시간으로 캡처 및 인코딩할 수 있습니다.
- ffplay는 SDL과 FFmpeg 라이브러리를 사용하는 단순한 미디어 플레이어입니다.
- ffprobe는 미디어 정보(텍스트, CSV, XML, JSON)를 표시하는 명령줄 도구입니다.Mediainfo 도 참조해 주세요.
라이브러리
- libswresample은 오디오 재샘플링 루틴을 포함하는 라이브러리입니다.
- libavresample은 ffmpeg의 libswresample과 유사한 Libav 프로젝트의 오디오 재샘플링 루틴을 포함하는 라이브러리입니다.
- libavcodec은 모든 네이티브 FFmpeg 오디오/비디오 인코더와 디코더를 포함하는 라이브러리입니다.대부분의 코덱은 최고의 성능과 높은 코드 재사용성을 보장하기 위해 처음부터 개발되었습니다.
- libavformat(Lavf)[8]은 오디오/비디오 컨테이너 포맷용 디듀서 및 멀티서를 포함하는 라이브러리입니다.
- libavutil은 FFmpeg의 다른 부분에 공통되는 루틴을 포함하는 도우미 라이브러리입니다.이 라이브러리에는 해시 함수, 암호, LZO 압축 해제기 및 Base64 인코더/디코더가 포함되어 있습니다.
- libpostproc는 오래된 H.263 기반의 비디오 후처리 루틴을 포함하는 라이브러리입니다.
- libswscale은 비디오 이미지 스케일링과 색공간/색소 변환 루틴을 포함하는 라이브러리입니다.
- libavfilter는 vhook을 대체하는 것으로, 디코더와 인코더 사이에서 비디오/패킷을 변경하거나 검사할 수 있습니다.필터는 MPlayer와 Avisynth를 포함한 많은 프로젝트에서 이식되었습니다.
- libavdevice는 내부 및 외부 디바이스를 통한 오디오/비디오 IO를 포함하는 라이브러리입니다.
지원되는 하드웨어
CPU
FFmpeg는 비디오 및 오디오 압축 및 압축 해제 알고리즘의 소프트웨어 구현을 포함합니다.이러한 명령어는 컴파일하여 다양한 명령어세트로 실행할 수 있습니다.
x86(IA-32 및 x86-64), PPC(PowerPC), ARM, DEC Alpha, SPARC 및 MIPS를 [36]포함한 많은 광범위한 명령 세트가 FFmpeg에서 지원됩니다.
특수 용도 하드웨어
오디오/비디오 압축 및 압축 해제에는 다양한 Application-Specific Integrated Circuit(ASIC; 특정 용도용 집적회로)가 있습니다.이러한 ASIC 는, 호스트 CPU 로부터 계산을 부분적으로 또는 완전하게 오프로드 할 수 있습니다.이러한 [37]ASIC를 사용하려면 알고리즘의 완전한 구현 대신 API만 필요합니다.
회사. | ASIC | 목적 | FFmpeg에서 지원 | 세부 사항 |
---|---|---|---|---|
AMD | UVD | 복호화 | ![]() | VDPAU API 및 VAAPI 경유 |
VCE | 부호화 | ![]() | VAAPI 경유, 실험적인[38] 것으로 간주됩니다. | |
암로직 | Amlogic 비디오 엔진 | 복호화 | ? | |
블랙매직 | 덱링크 | 부호화/부호화 | ![]() | 실시간 섭취 및 재생 |
브로드컴 | 크리스탈 HD | 복호화 | ![]() | |
퀄컴 | 육각형 | 부호화/부호화 | ![]() | 하드웨어[39] |
인텔(R) | 인텔(R) 클리어 | 복호화 | ![]() | |
인텔 퀵싱크 비디오 | 부호화/부호화 | ![]() | ||
엔비디아 | PureVideo / NVDEC | 복호화 | ![]() | FFmpeg v1.2에서 VDPAU API 경유(사용되지 않음) FFmpeg v3.1의[40] 경우 CUVID API 경유 |
NVENC | 부호화 | ![]() | FFmpeg v2.6 현재 |
FFmpeg 유틸리티와 함께 사용
내부 하드웨어 액셀러레이션 디코딩은 를 통해 활성화됩니다.-hwaccel
선택.정상적으로 디코딩을 시작하지만 하드웨어에서 디코딩 가능한 스트림이 검출되면 디코더는 모든 중요한 처리를 해당 하드웨어로 지정하여 디코딩 프로세스를 가속화합니다.디코딩 가능한 스트림이 검출되지 않은 경우(지원되지 않는 코덱 또는 프로파일에서 발생하는 경우) 하드웨어 액셀러레이션은 건너뛰고 소프트웨어에서 디코딩됩니다. -hwaccel_device
옵션은 하드웨어가 특정 디바이스를 동작시키기 위해 필요한 경우, 특히 [citation needed]여러 그래픽 카드가 있는 경우에 적용됩니다.
지원되는 코덱 및 형식
이미지 포맷
FFmpeg는 많은 일반 이미지 형식과 일부 일반 이미지 형식을 지원합니다.
PGMYUV 이미지 포맷은 바이너리(P5) PGM Netpbm 포맷의 홈브라운 배리언트입니다.또한 FFmpeg는 PGM 및 PPM 형식의 16비트 깊이와 알파 채널을 포함하거나 포함하지 않는 바이너리(P7) PAM 포맷을 지원합니다.pix_fmts
monob, gray, gray16be, rgb24, rgb48be, ya8, rgba, rgb64be.
지원되는 형식
이 섹션은 확인을 위해 추가 인용문이 필요합니다.(2022년 7월 (이 를 에 대해 학습합니다) |
이 프로젝트는 FFmpeg 내에서 생성 및 개발된 FFV1 및 Snow 형식 외에 다음 형식도 지원합니다.
그룹. | 포맷 타입 | 형식명 |
---|---|---|
ISO/IEC/ITU-T | 비디오 | MPEG-1 파트 2, H.261(Px64),[41] H.262/MPEG-2 파트 2, H.263,[41] MPEG-4 AVC, HEVC/H.265[30](MPEG-H 파트 2), MPEG-4 VCA. |
오디오 | MP1, MP2, MP3, AAC, HE-AAC, MPEG-4 ALS, G.711 μ-law, G.721(일명 G.726 32k), G.722, G.722.2(A-K-A) | |
소제목 | MPEG-4 타이밍 설정 텍스트(3GPP 타이밍 설정 텍스트) | |
이미지 | JPEG, 무손실 JPEG, JPEG-LS, JPEG 2000, JPEG [42]XL, PNG, CCITT G3 및 CCITT G4 | |
오픈 미디어를 위한 제휴 | 비디오 | AV1[43] |
이미지 | AVIF[44] | |
EIA | 소제목 | EIA-608 |
CEA | 소제목 | CEA-708 |
SMPTE | 비디오 | SMPTE 314M(DVCAM 및 DVCPRO라고도 함), SMPTE 370M(DVCPRO HD라고도 함), VC-1(일명 DVCPRO HD라고도 함)WMV3), VC-2(일명.k.a).Dirac Pro), VC-3(일명.k.a).AVID DNxHD) |
오디오 | SMPTE 302M | |
이미지 | DPX | |
ATSC/ETSI/DVB | 오디오 | 풀레이트(GSM 06.10), AC-3(돌비디지털), 확장 AC-3(돌비디지털플러스) 및 DTS(디지털 스로틀 및 DCA) 코히런트 어쿠스틱스 |
소제목 | DVB 자막 (ETSI 300 743) | |
DVD 포럼/돌비 | 오디오 | MLP / Dolby TrueHD |
소제목 | DVD 비디오 자막 | |
Xperi/DTS, Inc/QDesign | 오디오 | DTS 일관성 있는 음향(일명 DTS 또는 DCA), DTS 확장 서라운드(일명 DTS-ES), DTS 96/24, DTS-HD 고해상도 오디오, DTS Express(일명 DTS-HD LBR), DTS-HD 마스터 오디오, QDGN 음악 |
Blu-ray 디스크 협회 | 소제목 | PGS(프레젠테이션 그래픽스 스트림) |
3GPP | 오디오 | AMR-NB, AMR-WB(일명 G.722.2) |
3GPP2 | 오디오 | QCELP-8(일명,SmartRate 또는 IS-96C, QCELP-13(일명.k.a).PureVoice 또는 IS-733) 및 Enhanced Variable Rate Codec(EVRC. a.k.a.IS-127) |
월드 와이드 웹 컨소시엄 | 비디오 | 애니메이션 GIF[45] |
소제목 | WebVTT | |
이미지 | GIF 및 SVG(라이브러 vg 경유) | |
IETF | 비디오 | FFV1 |
오디오 | iLBC(libilbc 경유), Opus 및 Comfort 노이즈 | |
국제 음성 협회 | 오디오 | DSS-SP |
SAC | 비디오 | AVS 비디오, AVS2 비디오[46](libdavs2 경유) 및 AVS3 비디오(libuavs3d 경유) |
마이크로소프트 | 비디오 | Microsoft RLE, Microsoft Video 1, Cinepak, Microsoft MPEG-4 v1, v2, v3, Windows Media Video(WMV1, WMV2, WMV3/VC-1), WMV 화면 및 유사 코덱 |
오디오 | Windows Media Audio (WMA1, WMA2, WMA Pro 및 WMA 무손실), XMA (XMA1 및 XMA2),[47] MSN 사이렌, MS-GSM 및 MS-ADPCM | |
소제목 | 사미 | |
이미지 | Windows 비트맵, WMV 이미지(WMV9 이미지 및 WMV9 이미지 v2), DirectDraw Surface 및 MSP[48] | |
인터랙티브 멀티미디어 협회 | 오디오 | IMA ADPCM |
인텔 / 디지털 비디오 인터랙티브 | 비디오 | RTV 2.1(Indeo 2) Indeo 3, 4, 5 [41]및 인텔 H.263 |
오디오 | DVI4(일명.k.a)IMA DVI ADPCM), Intel Music Coder 및 Indeo ADPCM | |
리얼 네트워크 | 비디오 | RealVideo 프랙탈코덱(일명.k.a).반복 시스템 Clear Video), 1, 2, 3, 4 |
오디오 | Real Audio v1 –v10 및 Real Audio 무손실[49] | |
소제목 | 리얼 텍스트 | |
애플 / 스프루스 테크놀로지 | 비디오 | Cinepak (Apple Compact Video), ProRes, Sorenson 3 코덱, QuickTime 애니메이션 (Apple Animation), QuickTime 그래픽스 (Apple Graphics), Apple 비디오, Apple 중간 코덱 및 Pixlet[50] |
오디오 | ALAC | |
이미지 | QuickDraw 그림 | |
소제목 | 스프루스 부제(STL) | |
Adobe Flash Player (SWF) | 비디오 | 화면 비디오, 화면 비디오 2, Sorenson Spark 및 VP6 |
오디오 | Adobe SWF ADPCM 및 Nelymoser Asao | |
어도비 / Aldus | 이미지 | TIFF, PSD[50] 및 DNG |
Xiph.Org | 비디오 | 테오라 |
오디오 | Spex[51], Vorbis, Opus 및 FLAC | |
소제목 | Ogg Write | |
소니 | 오디오 | 어댑티브 트랜스폼 어쿠스틱 코딩(ATRAC1, ATRAC3, ATRAC3Plus[52] 및 ATRAC9[46])[41] 및 PSX ADPCM |
NTT | 오디오 | 트윈 VQ |
구글 / On2 / GIPS | 비디오 | Duck TrueMotion 1, Duck TrueMotion 2, Duck TrueMotion 2.0 실시간, VP3, VP4[53], VP5,[41] VP6,[41] VP7, VP8[54], VP9[29] 및 애니메이션 WebP |
오디오 | DK ADPCM 오디오 3/4, On2 AVC 및 iLBC(libilbc 경유) | |
이미지 | 웹P[55] | |
Epic Games / RAD 게임 도구 | 비디오 | 스매커 비디오와 Bink 비디오 |
오디오 | Bink 오디오 | |
CRI 미들웨어 | 오디오 | ADX ADPCM 및 HCA |
닌텐도 / NERD | 비디오 | Mobiclip 비디오 |
오디오 | GCADPCM(일명 ADPCM THP), FastAudio 및 ADPCM IMA MOFLEX | |
Synaptics / DSP 그룹 | 오디오 | 트루스피치 |
일렉트로닉 아츠/컨트리온 게임/블랙박스 게임/웨스트우드 스튜디오 | 비디오 | RenderWare TXD,[56] Madcow, CMV, TGV, TGQ, MQI, Midivid VQ(MVDV), MidiVid 3.0(MV30), Midivid Archive(MVHA), VQA(Vector Quantized Animation) |
오디오 | Electronic Arts ADPCM 변종 | |
넷pbm | 이미지 | PBM, PGM, PPM, PNM, PAM, PFM 및 PHM |
MIT/X 컨소시엄/오픈 그룹 | 이미지 | XBM[49], XPM 및 xwd |
HPE/SGI/실리콘 그래픽스 | 비디오 | 실리콘 그래픽스 RLE 8비트[45] 비디오, 실리콘 그래픽스 MVC1[45]/2 |
이미지 | 실리콘 그래픽스 이미지 | |
Oracle/Sun Microsystems | 이미지 | 선래스터 |
IBM | 비디오 | IBM UltiMotion |
Avid 테크놀로지 / Truevision | 비디오 | Avid 1:1x, Avid Meridien[49], Avid DNxHD, Avid DNx444[52] 및 DNxHR |
이미지 | 타르가[45] | |
오토데스크 / 에일리어스 | 비디오 | Autodesk Animator Studio 코덱 및 FLIC |
이미지 | 에일리어스 PIX | |
액티비전 블리자드 / 액티비전 / 인포콤 | 오디오 | ADPCM Zork |
코나미 / 허드슨 소프트 | 비디오 | HVQM4 비디오 |
오디오 | Konami MTAF 및 ADPCM IMA HVQM4 | |
그래스 밸리 / 카노푸스 | 비디오 | HQ, HQA, HQX 및 무손실 |
Vizrt / NewTek | 비디오 | 속도 HQ |
이미지 | Vizrt 바이너리[44] 이미지 | |
아카데미 소프트웨어 재단 / ILM | 이미지 | OpenEXR[49] |
모질라 코퍼레이션 | 비디오 | APNG[55] |
매트록스 | 비디오 | Matrox 비압축 SD (M101) / HD (M102) |
AMD/ATI | 비디오 | ATI VCR1/VCR2 |
아수스 | 비디오 | ASUS V1/V2 코덱 |
코모도레 | 비디오 | CDXL 코덱 |
코닥 | 이미지 | 포토 CD |
Blackmagic Design / Cintel | 이미지 | Cintel RAW |
Houton Mifflin Harcourt / The Learning Company / ZSoft Corporation | 이미지 | PCX |
오스트레일리아 국립 대학교 | 이미지 | 엑스페이스[45] |
블루투스 특별 관심사 그룹 | 오디오 | SBC 및 mSBC |
퀄컴/CSR | 오디오 | QCELP, aptX 및 aptX HD |
모바일 얼라이언스 / WAP 포럼 열기 | 이미지 | 무선 비트맵 |
데이터는 처리되지 않고 통과할 수 있습니다.-c copy
한 가지 용도는 비디오 영상을 잘라내는 것입니다.인코딩의 시간과 처리를 필요로 하지 않습니다.
뮤서스
FFmpeg에서 출력 형식(컨테이너 형식 및 기타 출력 스트림 생성 방법)을 "멀서"라고 합니다.FFmpeg는 특히 다음을 지원합니다.
- AIFF
- ASF
- AVI 및 AviSynth로부터의 입력도 가능
- BFI[57]
- CAF
- FLV
- GIF
- GXF, General eXchange 포맷, SMPTE 360M
- HLS, HTTP 라이브 스트리밍
- IFF[58]
- ISO 기반 미디어 파일 형식(Quick Time, 3GP 및 MP4 포함)
- Matroska(WebM 포함)
- Maxis XA[59]
- MPEG-DASH[60]
- MPEG 프로그램 스트림
- MPEG 트랜스포트 스트림(AVCHD 포함)
- MXF, 재료 eXchange 포맷, SMPTE 377M
- MSN 웹캠[61] 스트림
- 너트[25]
- 오그
- OMA[62]
- RL2[63]
- 세그먼트, 세그먼트 비디오 스트림 생성용
- 원활한 스트리밍
- TXD[56]
- WTV
픽셀 형식
FFmpeg는 많은 픽셀 [64]형식을 지원합니다.이러한 형식 중 일부는 입력 형식으로만 지원됩니다.명령어ffmpeg -pix_fmts
에 지원되는 픽셀 형식의 목록을 나타냅니다.
유형 | 색. | 포장된 | 평면 | 팔레트 | |||
---|---|---|---|---|---|---|---|
알파 없음 | 알파 포함 | 알파 없음 | 알파 포함 | 크로마 인터리브 | 알파 포함 | ||
흑백 | 바이너리(1비트 흑백) | 모노블랙, 모노하이트 | — | — | — | — | — |
그레이스케일 | 8/9/10/12/14/16bpp | — | — | 16/32bpp | — | — | |
RGB | RGB 1:2:1 (4비트 컬러) | 4bpp | — | — | — | — | — |
RGB 3:3:2 (8비트 컬러) | 8bpp | — | — | — | — | — | |
RGB 5:5:5 (하이 컬러) | 16ppp | — | — | — | — | — | |
RGB 5:6:5 (하이 컬러) | 16ppp | — | — | — | — | — | |
RGB/BGR | 24/30[p 1]/48bpp | 32[p 2]/64bpp | — | — | — | 8비트->32bpp | |
GBR[p 3] | — | — | 8/9/10/12/14/16 bpc | 8/10/12/16 bpc | — | — | |
RGB 플로트 | GBR | — | — | 32 bpc | 32 bpc | — | — |
YUV | YVU 4:1:0 | — | — | (9bpp(YVU9))[p 4] | — | — | — |
YUV 4:1:0 | — | — | 9bpp | — | — | — | |
YUV 4:1:1 | 8 bpc (UYY VYY) | — | 8 bpc | — | (8bpc(NV11)) | — | |
YVU 4:2:0 | — | — | (8bpc(YV12))[p 4] | — | 8(NV21) | — | |
YUV 4:2:0 | — | — | 8[p 5]/9/10/12/14/16 bpc | 8/9/10/16 bpc | 8(NV12)/10(P010)/16bpc(P016) | — | |
YVU 4:2:2 | — | — | (8bpc(YV16))[p 4] | — | (8bpc(NV61)) | — | |
YUV 4:2:2 | 8(YUV[p 6] 및 UYVY)/10bpc(Y210)[p 7] | — | 8[p 8]/9/10/12/14/16 bpc | 8/9/10/12/16 bpc | 8(NV16)/10(NV20 및 P210)/16bpc(P216) | — | |
YUV 4:4:0 | — | — | 8/10/12 bpc | — | — | — | |
YVU 4:4:4 | — | — | (8bpc(YV24))[p 4] | — | 8 bpc (NV42) | — | |
YUV 4:4:4 | (10(Y410) 및 16bpc(Y416)) | 8[p 9]/16 bpc | 8[p 10]/9/10/12/14/16 bpc | 8/9/10/12/16 bpc | 8 (NV24) / 10 (P410) / 16 bpc (P416) | — | |
XYZ | XYZ 4:4:4[p 11] | 12 bpc | — | — | — | — | — |
바이어 | BGGR/RGB/GBRG/GRBG | 8/16 bpp | — | — | — | — | — |
- ^ 10비트 컬러 컴포넌트 (2비트 패딩 포함) (X2RGB10)
- ^ RGBx(rgb0) 및 xBGR(0bgr)도 지원됩니다.
- ^ H.264 등의 YUV 중심 코덱에서 사용
- ^ a b c d FFmpeg에서는, YVU9, YV12, YV16, 및 YV24 가 raw video 코덱으로서 서포트되고 있습니다.
- ^ I420 A.K.A.YUV420P
- ^ Windows에서는 YUY2라고도 불립니다.
- ^ 패딩이 없는 UYVY 10bpc는 FFmpeg에서 비트 패킹된 코덱으로 지원됩니다.FFmpeg에서는 2비트 패딩을 사용한 UYVY 10bpc가 v210 코덱으로 지원되며 FFmpeg에서는 16bpc(Y216)가 targa_y216 코덱으로 지원됩니다.
- ^ I422 A.K.A.YUV422P
- ^ VUYA a.k.a.AYUV
- ^ I444 A.K.A.YUV444P
- ^ JPEG2000에서 사용
FFmpeg는 IMC1-IMC4, AI44, CYMK, RGBE, 로그 RGB 및 기타 형식을 지원하지 않습니다.또한 일반적으로 사용되지 않는ARGB 또는 기타 BMP 비트필드 형식도 아직 지원하지 않습니다.
지원되는 프로토콜
오픈 스탠다드
사실상의 기준
지원되는 필터
FFmpeg는 특히 다음 [68]필터를 지원합니다.
오디오
- 재샘플링(샘플)
- 통과/정지 필터
- 로우패스 필터(로우패스)
- 하이패스 필터(하이패스)
- All-pass 필터(all-pass)
- Butterworth 밴드 패스 필터(밴드 패스)
- Butterworth 밴드 스톱 필터(밴드 거부)
- 임의 유한 임펄스 응답 필터(afir)
- 임의 무한 임펄스 응답 필터(aiir)
- Equalizer
- 피크 이퀄라이저(이퀄라이저)
- Butterworth/Chebyshev Type I/Type II 멀티밴드 이퀄라이저(균등화기)
- 저선반 필터(베이스)
- 고선반 필터(트레블)
- Xbox 360 rqulizer
- FIR 이퀄라이저(파이어퀄라이저)
- 비쿼드 필터(비쿼드)
- DC 오프셋 제거/추가(dcshift)
- 표현 평가
- 다이내믹스
- 왜곡.
- 비트크러셔(acrusher)
- 강조(강조)
- 증폭/정규화기
- 변조
- 에코/리버스
- 에코(에코)
- 라우팅/패닝
- 페이드
- 오디오 시간 연장 및 피치 스케일링
- 시간 연장(atempo)
- 시간 연장 및 피치 시프트(고무 밴드, librubber band 경유)
- 편집
- 트리밍(애트림)
- 무음 패딩(apad)
- 사일런트 리무버(사일런트 리무버)
- 프레임/채널 정보 표시
- 프레임 정보 표시(ashowinfo)
- 채널 정보 표시(성)
- 무음 범위 표시(사일런트 감지)
- 오디오 볼륨 표시(볼륨 감지)
- 재생게인 스캐너(재생 게인)
- 프레임/채널 정보 수정
- 출력 형식 설정(aformat)
- 샘플 수 설정(asetnsamples)
- 샘플링 레이트 설정(아세트레이트)
- 믹서(amix)
- 동기화(비동기)
- HDCD 데이터 디코더(hdcd)
- 플러그인
- 아무것도 안 함(무효)
비디오
- 변혁
- 시간 편집
- 프레임레이트(fps, 프레임레이트)
- 루프(루프)
- 트리밍(트리밍)
- 디인터레이스(bwdif, idet, kerndeint, nnedi, yadif, w3fdif)
- 역텔레시네
- 필터링
- 노이즈 제거(아타데노이즈, 비트플라네노이즈, dctdnoiz, owdenoise, removegrain)
- 로고 삭제(델로고, 리무버로고
- 자막(ASS, 자막)
- 알파 채널 편집(알파 추출, 알파벳)
- 키잉(크로마키, 컬러키, 루마키)
- 프레임 검출
- 블랙 프레임 검출(블랙 검출, 블랙 프레임)
- 섬네일 선택(썸네일)
- 프레임 블렌딩(블렌드, tblend, 오버레이)
- 비디오 안정화(vidstabdetect, vidstabtransform)
- 색상 및 레벨 조정
- 히스토그램 및 시각화
- 그림그리기
- OCR
- 품질 측정
- 룩업 테이블
- lut, lutrgb, lutyuv, lut2, lut3d, haldclut
지원되는 테스트 패턴
- SMPTE 컬러바(Smptebar 및 SMptehdbar)
- EBU 컬러바(pal75bar 및 pal100bar)
지원되는 LUT 형식
- cineSpace LUT 형식
- 이리다스 큐브
- Adobe After Effects 3dl
- DaVinci Resolve dat
- 판도라 m3d
지원되는 미디어 및 인터페이스
FFmpeg는 외부 라이브러리를 [70]통해 다음 장치를 지원합니다.
미디어
- CD (libcdio 경유, 입력만 가능)
물리 인터페이스
- IEEE1394(일명,FireWire, libdc1394 및 libraw1394 경유, 입력만 가능)
- IEC 61883 (libiec61883 경유, 입력 전용)
- 덱링크
- Brooktree 비디오 캡처 칩(bktr 드라이버 사용, 입력 전용)
오디오 IO
- 고급 Linux 사운드 아키텍처(ALSA)
- 오픈 사운드 시스템(OSS)
- 펄스 오디오
- JACK 오디오 연결 키트(JACK, 입력 전용)
- OpenAL(입력 전용)
- 스니오
- 코어 오디오(macOS용)
- AVFundation(입력만)
- Audio Toolbox(출력 전용)
비디오 IO
- Video4Linux2
- Windows용 비디오(입력 전용)
- Windows DirectShow
- Android 카메라(입력 전용)
화면 캡처 및 출력
- 심플 다이렉트 미디어 레이어 2 (출력 전용)
- OpenGL(출력만)
- Linux 프레임 버퍼 (fbdev)
- 그래픽스 디바이스 인터페이스(GDI, 입력 전용)
- X Window 시스템(X11, XCB 경유, 입력만 가능)
- X 비디오 확장(XV, Xlib 경유, 출력만)
- 커널 모드 설정(libdrm 경유, 입력만)
다른이들
- ASCII 아트(libcaca 경유, 출력만)
적용들
법적 측면
FFmpeg에는 100개가 넘는 [71]코덱이 포함되어 있으며, 그 대부분은 어떤 종류의 압축 기술을 사용합니다.이러한 압축기술의 대부분은 소프트웨어 [72]특허와 관련된 법적 청구의 대상이 될 수 있습니다.이러한 주장은 소프트웨어 특허를 시행하고 있는 미국 등에서는 강제할 수 있지만,[73][original research] 예를 들어 유럽연합 회원국에서는 강제할 수 없거나 무효로 간주됩니다.AC3, 모든 MPEG-1 및 MPEG-2 코덱을 포함한 많은 오래된 코덱의 특허는 [citation needed]만료되었습니다.
FFmpeg는 LGPL 라이선스로 라이선스되지만 특정 빌드의 FFmpeg가 GPL 라이브러리(특히 x264)에 대해 링크되어 있는 경우 바이너리 전체가 GPL로 라이선스됩니다.
FFmpeg를 사용한 프로젝트
FFmpeg는 Blender, Cinelerra-GG Infinity, HandBrake, Kodi, MPC-HC, 플렉스, Shotcut, VirtualDub2(VirtualDub 포크),[74] VLC 미디어 플레이어, xine 및 YouTube [75][76]등의 소프트웨어에 사용됩니다.Google[76] Chrome 및 Linux 버전의 [77]Firefox에서 비디오 및 오디오 재생을 처리합니다.Multimedia[78] Xpert 및 XMedia Recode를 포함한 FFmpeg용 GUI 프론트 엔드가 개발되었습니다.
FFmpeg는 ffdshow, FFmpegInterop, GStreamer FFmpeg 플러그인, LAV 필터 및 OpenMAX IL에서 각각의 멀티미디어 플랫폼의 인코딩 및 디코딩 기능을 확장하기 위해 사용됩니다.
NASA의 Mars 2020 임무의 일환으로, FFmpeg는 화성에 있는 퍼텐스 탐사선에 의해 영상이 [79]지구로 전송되기 전에 이미지와 비디오 압축을 위해 사용된다.
「 」를 참조해 주세요.
- MEncoder, 유사한 프로젝트
- 오픈 소스 코덱 목록
레퍼런스
- ^ "Bobby announces work on libavfilter as GsOC project". 2008-02-09. Archived from the original on 2021-10-07. Retrieved 2021-10-07.
- ^ "Initial revision - git.videolan.org/ffmpeg.git/commit". git.videolan.org. 2000-12-20. Archived from the original on 2013-12-25. Retrieved 2013-05-11.
- ^ https://www.ffmpeg.org/download.html#release_5.1 를 참조해 주세요.
- ^ "Developer Documentation". ffmpeg.org. 2011-12-08. Archived from the original on 2012-02-04. Retrieved 2012-01-04.
- ^ "Platform Specific Information". FFmpeg.org. Archived from the original on 25 February 2020. Retrieved 25 February 2020.
- ^ "Download". ffmpeg.org. FFmpeg. Archived from the original on 2011-10-06. Retrieved 2012-01-04.
- ^ FFmpeg는 다양한 외부 라이브러리를 사용하여 컴파일할 수 있으며, 그 중 일부는 FFmpeg의 기본 라이센스인 GNU GPL과 호환되지 않는 라이센스를 가지고 있습니다.
- ^ a b "FFmpeg: Lavf: I/O and Muxing/Demuxing Library". ffmpeg.org. Archived from the original on 3 December 2016. Retrieved 21 October 2016.
- ^ "Libavfilter Documentation". ffmpeg.org. Archived from the original on 2021-10-07. Retrieved 2021-10-07.
- ^ ijkplayer, bilibili, 2021-10-05, archived from the original on 2021-10-05, retrieved 2021-10-05
- ^ a b "FFmpeg License and Legal Considerations". ffmpeg.org. Archived from the original on 2012-01-03. Retrieved 2012-01-04.
- ^ Niedermayer, Michael. "[FFmpeg-devel] FFmpegs future and resigning as leader". Archived from the original on 2015-08-15. Retrieved 2015-09-22.
- ^ Bellard, Fabrice (18 February 2006). "FFmpeg naming and logo". FFmpeg developer mailing list. FFmpeg website. Archived from the original on 26 April 2012. Retrieved 24 December 2011.
- ^ Carlsen, Steve (1992-06-03). "TIFF 6.0 specification" (PS). Aldus Corporation. p. 98. Retrieved 2016-08-14.
Zig-Zag Scan
[dead link] Alt URL이 Wayback Machine에서 2012-07-03으로 아카이브됨 - ^ Libav project site, archived from the original on 2012-01-03, retrieved 2012-01-04
- ^ Ronald S. Bultje (2011-03-14), Project renamed to Libav, archived from the original on 2016-11-07, retrieved 2012-01-04
- ^ A group of FFmpeg developers just forked as Libav, Phoronix, 2011-03-14, archived from the original on 2011-09-15, retrieved 2012-01-04
- ^ What happened to FFmpeg, 2011-03-30, archived from the original on 2018-09-02, retrieved 2012-05-19
- ^ FFMpeg turmoil, 2011-01-19, archived from the original on 2012-01-12, retrieved 2012-01-04
- ^ "The FFmpeg/Libav situation". blog.pkh.me. Archived from the original on 2012-07-01. Retrieved 2015-09-22.
- ^ "FFmpeg and a thousand fixes". googleblog.com. January 10, 2014. Archived from the original on 22 October 2016. Retrieved 21 October 2016.
- ^ "ffserver – FFmpeg". trac.ffmpeg.org. Archived from the original on 2018-02-04. Retrieved 2018-02-03.
- ^ "ffserver program being dropped". ffmpeg.org. 2016-07-10. Archived from the original on 2016-07-16. Retrieved 2018-02-03.
- ^ "ffmpeg.org/download.html#releases". ffmpeg.org. Archived from the original on 2011-10-06. Retrieved 2015-04-27.
- ^ a b "NUT". Multimedia Wiki. 2012. Archived from the original on 2014-01-03. Retrieved 2014-01-03.
- ^ Glaser, Fiona (2010-07-23), Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder, archived from the original on 2010-09-30, retrieved 2012-01-04
- ^ FFmpeg Announces High-Performance VP8 Decoder, Slashdot, 2010-07-24, archived from the original on 2011-12-21, retrieved 2012-01-04
- ^ "FFmpeg Goes WebM, Enabling VP8 for Boxee & Co". newteevee.com. 2010-06-17. Archived from the original on 2010-06-20. Retrieved 2012-01-04.
...with VLC, Boxee, MythTV, Handbrake and MPlayer being some of the more popular projects utilizing FFmpeg...
- ^ a b "Native VP9 decoder is now in the Git master branch". Launchpad. 2013-10-03. Archived from the original on 2013-10-22. Retrieved 2013-10-21.
- ^ a b "FFmpeg Now Features Native HEVC/H.265 Decoder Support". Softpedia. 2013-10-16. Archived from the original on 2014-06-15. Retrieved 2013-10-16.
- ^ FFmpeg (2016-02-15). "February 15th, 2016, FFmpeg 3.0 "Einstein"". Archived from the original on 2016-07-16. Retrieved 2016-04-02.
- ^ FFmpeg (2017-10-15). "October 15th, 2017, FFmpeg 3.4 "Cantor"". Archived from the original on 2016-07-16. Retrieved 2019-05-10.
- ^ FFmpeg (2018-11-06). "November 6th, 2018, FFmpeg 4.1 "al-Khwarizmi"". Archived from the original on 2016-07-16. Retrieved 2019-05-10.
- ^ Jan Ozer (2019-03-04). "Good News: AV1 Encoding Times Drop to Near-Reasonable Levels". StreamingMedia.com. Archived from the original on 2021-05-14. Retrieved 2019-05-10.
- ^ "This video of Linux desktop (X11) was captured by ffmpeg and encoded in realtime". Archived from the original on 2021-03-08. Retrieved 2020-05-19.
- ^ "FFmpeg Automated Testing Environment". Fate.multimedia.cx. Archived from the original on 2016-04-10. Retrieved 2012-01-04.
- ^ "FFmpeg Hardware Acceleration". ffmpeg.org Wiki. Archived from the original on 2016-12-04. Retrieved 2016-11-12.
- ^ "Hardware/VAAPI – FFmpeg". trac.ffmpeg.org. Archived from the original on 2017-10-16. Retrieved 2017-10-16.
- ^ "HEVC Video Encoder User Manual" (PDF). Qualcomm Developer Network. Archived (PDF) from the original on 2021-04-16. Retrieved 2021-02-23.
- ^ "FFmpeg Changelog". Archived from the original on 2017-03-21. Retrieved 2016-11-12.
- ^ a b c d e f "Changelog". FFmpeg trunk SVN. FFmpeg. 17 April 2007. Retrieved 26 April 2007.[영구 데드링크]
- ^ "FFmpeg Lands JPEG-XL Support". www.phoronix.com. Retrieved 2022-04-26.
- ^ "git.ffmpeg.org Git - ffmpeg.git/commit". git.ffmpeg.org. Archived from the original on 2018-04-23. Retrieved 2018-04-23.
- ^ a b FFmpeg 5.1은 이 중요한 멀티미디어 프로젝트를 대폭 개선하여 출시되었습니다.포로닉스.2022년 7월 22일
- ^ a b c d e FFmpeg 1.1은 새로운 지원, 인코더/디코더를 제공합니다.포로닉스.2013년 1월 7일
- ^ a b FFmpeg 4.1은 AV1 파서와 MP4의 AV1 지원을 제공합니다.포로닉스.2018년 11월 6일
- ^ FFmpeg 3.0 릴리즈, VP9 VA-API 액셀러레이션 지원포로닉스.2016년 2월 15일
- ^ FFmpeg 4.4 AV1 VA-API 디코더, SVT-AV1 인코딩과 함께 출시되었습니다.포로닉스.2021년 4월 9일
- ^ a b c d FFmpeg 0.11에는 Blu-Ray Protocol, 새로운 인코더가 탑재되어 있습니다.포로닉스.2012년 5월 26일
- ^ a b FFmpeg 3.3은 원어민 Opus 인코더, 구형 비디오 지원.포로닉스.2017년 4월 17일
- ^ FFmpeg 5.0은 널리 사용되는 오픈 소스 멀티미디어 라이브러리용으로 출시되었습니다.포로닉스.2022년 1월 14일
- ^ a b FFmpeg 2.2 릴리즈에 Libx265 인코더가 추가되었습니다.포로닉스.2014년 3월 23일
- ^ FFmpeg 4.2는 AV1 디코딩 지원, GIF 파서와 함께 출시되었습니다.포로닉스.2019년 8월 6일
- ^ FFmpeg 0.6 H.264, VP8 Love와 함께 출시되었습니다.포로닉스.2010년 6월 16일
- ^ a b FFmpeg 2.5는 애니메이션 PNG, WebP 디코딩 지원을 제공합니다.포로닉스.2014년 12월 4일
- ^ a b "FFmpeg development mailing list". FFmpeg development. FFmpeg. 7 May 2007. Archived from the original on 11 August 2007. Retrieved 24 December 2010.
- ^ vitor (13 April 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Retrieved 14 April 2008.[영구 데드링크]
- ^ vitor (30 March 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Retrieved 30 March 2008.[영구 데드링크]
- ^ benoit (14 April 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Retrieved 14 April 2008.[영구 데드링크]
- ^ Michael Niedermayer, Timothy Gu (2014-12-05). "RELEASE NOTES for FFmpeg 2.5 "Bohr"". VideoLAN. Archived from the original on 2014-12-08. Retrieved 2014-12-05.
- ^ ramiro (18 March 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Archived from the original on 17 August 2008. Retrieved 18 March 2008.
- ^ banan (8 June 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Archived from the original on 14 January 2009. Retrieved 8 June 2008.
- ^ faust3 (21 March 2008). "FFmpeg development mailing list". FFmpeg development. FFmpeg website. Archived from the original on 25 April 2008. Retrieved 21 March 2008.
- ^ "FFmpeg: libavutil/pixfmt.h File Reference - enum AVPixelFormat". FFmpeg Project. 2015-11-30. Archived from the original on 2021-11-29. Retrieved 2021-11-30.
- ^ van Kesteren, Anne (2010-09-01). "Internet Drafts are not Open Standards". annevankesteren.nl. Self-published. Archived from the original on 2010-09-02. Retrieved 2015-03-22.
- ^ Real Time Streaming Protocol 2.0(RTSP) draft-ietf-mmusic-rfc2326bis-40 웨이백머신 P.231에서의 2017-07-09 아카이브
- ^ "rtsp: Support tls-encapsulated RTSP - git.videolan.org Git - ffmpeg.git/commit". videolan.org. Archived from the original on 18 October 2016. Retrieved 21 October 2016.
- ^ "FFmpeg Filters". ffmpeg.org. Archived from the original on 2017-03-28. Retrieved 2017-03-27.
- ^ earwax.ca의 구조
- ^ "FFmpeg Devices Documentation". ffmpeg.org. Archived from the original on 2021-10-25. Retrieved 2021-10-25.
- ^ "Codecs list". ffmpeg.org. Archived from the original on 2012-01-06. Retrieved 2012-01-01.
- ^ "Legal information on FFmpeg's website". ffmpeg.org. Archived from the original on 2012-01-03. Retrieved 2012-01-04.
- ^ "The European Patent Convention". www.epo.org. European Patent Office. 2020-11-29. Archived from the original on 2021-11-24. Retrieved 2021-11-24.
- ^ "VirtualDub2". Archived from the original on 2020-08-07. Retrieved 2020-08-15.
- ^ "Google's YouTube Uses FFmpeg Breaking Eggs And Making Omelettes". Multimedia.cx. 2011-02-08. Archived from the original on 2012-08-14. Retrieved 2012-08-06.
- ^ a b 를 클릭합니다"FFmpeg-based Projects". ffmpeg.org. Archived from the original on 2016-02-20. Retrieved 2012-01-04..
- ^ "Firefox Enables FFmpeg Support By Default". Phoronix. 2015-11-15. Archived from the original on 2017-09-25. Retrieved 2015-11-18.
- ^ "Multimedia Xpert". Atlas Informatik. Retrieved 2022-05-26.
- ^ Maki, J. N.; Gruel, D.; McKinney, C.; Ravine, M. A.; Morales, M.; Lee, D.; Willson, R.; Copley-Woods, D.; Valvo, M.; Goodsall, T.; McGuire, J.; Sellar, R. G.; Schaffner, J. A.; Caplinger, M. A.; Shamah, J. M.; Johnson, A. E.; Ansari, H.; Singh, K.; Litwin, T.; Deen, R.; Culver, A.; Ruoff, N.; Petrizzo, D.; Kessler, D.; Basset, C.; Estlin, T.; Alibay, F.; Nelessen, A.; Algermissen, S. (2020). "The Mars 2020 Engineering Cameras and Microphone on the Perseverance Rover: A Next-Generation Imaging System for Mars Exploration". Space Science Reviews. Springer Nature Switzerland AG. 216 (8): 137. doi:10.1007/s11214-020-00765-9. PMC 7686239. PMID 33268910. Archived from the original on 21 February 2021. Retrieved 22 February 2021.