
FFmpegKit FFmpeg Android , iOS , Linux , macOS , tvOS React Native Flutter
FFmpeg 기본 라이브러리, 응용 프로그램에서 FFmpeg / FFprobe 명령을 실행하는 래퍼 라이브러리 및 GitHub, Maven Central, Cocoapods, Pub 및 NPM에서 사용할 수있는 8 개의 사전 제작 된 이진 패키지를 구축하는 스크립트가 포함되어 있습니다.
FFmpegKit 래퍼 라이브러리를 실행하여 응용 프로그램에서 FFmpeg / FFprobe 명령을 실행합니다.v4.5-dev 를 기반으로 한 옵션 시스템 및 외부 라이브러리가있는 나중에LGPL 3.0 에 따라 라이센스가 부여 된 GPL v3.0 GPL 라이센스 라이브러리가 활성화 된 경우 Android 용 FFmpegKit 에 대해 자세히 알아 보려면 Android 를 참조하십시오.
Apple 플랫폼 ( iOS , macOS , tvOS )에서 FFmpegKit 사용하려면 Apple을 참조하십시오.
FFmpegKit for Flutter 에 대해 자세히 알아 보려면 Flutter를 참조하십시오.
Linux 용 FFmpegKit 에 대한 자세한 내용은 Linux를 참조하십시오.
React Native의 FFmpegKit 에 대한 자세한 내용은 React Native 를 참조하십시오.
android.sh , ios.sh , linux.sh , macos.sh 및 tvos.sh 를 사용하여 각 기본 플랫폼에 대해 FFmpegKit 구축하십시오.
모든 스크립트는 옵션 라이브러리를 활성화하고 플랫폼 아키텍처를 비활성화하는 추가 옵션을 지원합니다. 자세한 내용은 Wiki 페이지 구축을 참조하십시오.
FFmpegKit 는 응용 프로그램에서 FFmpeg / FFprobe 명령을 쉽게 실행할 수있는 래퍼 라이브러리입니다. FFmpeg 위에 추가 기능을 제공하여 플랫폼 별 리소스를 활성화하고 명령 실행 방법 및 결과 처리 방법을 제어합니다.
FFmpegKit 의 Android 라이브러리는 Java API를 보유하고 있으며 Apple 라이브러리 ( iOS , macOS , tvOS ) Objective-C API가 있으며 Flutter Library에는 Dart API가 제공되며 Linux 라이브러리에는 C++ API가 있으며 React Native Library에는 기능 및 기능 Typescript 에서 동일한 JavaScript API를 제공합니다.
Github, Maven Central, Cocoapods, Pub 및 NPM에 배포 된 8 가지 ffmpeg-kit 패키지가 있습니다. 아래에서 각 라이브러리와 외부 라이브러리가 활성화 된 시스템 라이브러리를 확인할 수 있습니다.
FFmpeg 의 일부 부분은 GPL 에 따라 라이센스가 부여되며 GPL 라이센스가 부여 된 ffmpeg-kit 패키지 만 포함합니다.
| 최소 | Min-GPL | https | https-gpl | 오디오 | 동영상 | 가득한 | 풀 -GPL | |
|---|---|---|---|---|---|---|---|---|
| 외부 라이브러리 | - | vid.stab x264 x265 xvidcore | GMP gnutls | GMP gnutls vid.stab x264 x265 xvidcore | 절뚝거리는 libilbc libvorbis OpenCore-AMR 작 빛나는 soxr Speex Twolame VO-AMRWBENC | Dav1d FontConfig 프리 타입 Fribidi 크바자르 리바스 libiconv Libtheora libvpx libwebp 팔팔한 짐그 | Dav1d FontConfig 프리 타입 Fribidi GMP gnutls 크바자르 절뚝거리는 리바스 libiconv libilbc Libtheora libvorbis libvpx libwebp libxml2 OpenCore-AMR 작 빛나는 팔팔한 soxr Speex Twolame VO-AMRWBENC 짐그 | Dav1d FontConfig 프리 타입 Fribidi GMP gnutls 크바자르 절뚝거리는 리바스 libiconv libilbc Libtheora libvorbis libvpx libwebp libxml2 OpenCore-AMR 작 빛나는 팔팔한 soxr Speex Twolame vid.stab VO-AMRWBENC x264 x265 xvidcore 짐그 |
| 안드로이드 시스템 라이브러리 | zlib MediaCodec | |||||||
| iOS 시스템 라이브러리 | bzip2 Audiotoolbox avfoundation 아이콘 videotoolbox zlib | |||||||
| MACOS 시스템 라이브러리 | bzip2 Audiotoolbox avfoundation 핵심 이미지 아이콘 Opencl Opengl videotoolbox zlib | |||||||
| TVOS 시스템 라이브러리 | bzip2 Audiotoolbox 아이콘 videotoolbox zlib | |||||||
tvOS 에서는 AVFoundation 사용할 수 없습니다iOS 및 tvOS 의 LTS 릴리스에서는 VideoToolbox 사용할 수 없습니다.zimg v4.5.1 이후 지원됩니다 생성 된 FFmpegKit BINARIES는 업스트림 FFmpeg 프로젝트와 동일한 전공 및 사소한 버전 번호를 사용합니다. 버전 문자열의 세 번째 및 마지막 숫자는 존재하는 경우 FFmpegKit 에 따라 다릅니다. 동일한 FFmpeg 릴리스 브랜치와 다른 릴리스를 보여줍니다.
버전의 dev part는 FFmpeg 소스 코드가 FFmpeg master 브랜치에서 클로닝되고 git describe --tags FFmpeg 을 사용하여 정확한 버전 번호를 얻습니다.
| 플랫폼 | FFMPEGKIT 버전 | FFMPEG 버전 | 출시일 |
|---|---|---|---|
| 설레다 | 6.0.3 | 6.0 | 2023 년 9 월 19 일 |
| 원시 반응 | 6.0.2 | 6.0 | 2023 년 9 월 19 일 |
| 설레다 | 6.0.2 | 6.0 | 2023 년 9 월 3 일 |
| 원시 반응 | 6.0.1 | 6.0 | 2023 년 9 월 3 일 |
| 설레다 | 6.0.1 | 6.0 | 2023 년 9 월 3 일 |
| 원시 반응 | 6.0.0 | 6.0 | 2023 년 8 월 27 일 |
| 설레다 | 6.0.0 | 6.0 | 2023 년 8 월 27 일 |
| 기계적 인조 인간 사과 | 6.0 | 6.0 | 2023 년 8 월 21 일 |
| 원시 반응 | 5.1.0 | 5.1.2 | 2022 년 10 월 2 일 |
| 설레다 | 5.1.0 | 5.1.2 | 2022 년 10 월 2 일 |
| 기계적 인조 인간 사과 | 5.1 | 5.1.2 | 2022 년 9 월 29 일 |
| 원시 반응 | 4.5.2 | 4.5-DEV-3393 | 2022 년 5 월 25 일 |
| 설레다 | 4.5.1 | 4.5-DEV-3393 | 2022 년 1 월 2 일 |
| 원시 반응 | 4.5.1 | 4.5-DEV-3393 | 2022 년 1 월 2 일 |
| 기계적 인조 인간 | 4.5.1 | 4.5-DEV-3393 | 2022 년 1 월 1 일 |
| 사과 | 4.5.1 | 4.5-DEV-3393 | 2021 년 12 월 30 일 |
| 설레다 | 4.5.0 | 4.5-Dev-2008 | 2021 년 10 월 5 일 |
| 원시 반응 | 4.5.0 | 4.5-Dev-2008 | 2021 년 10 월 1 일 |
| 기계적 인조 인간 사과 | 4.5 | 4.5-Dev-2008 | 2021 년 9 월 18 일 |
| 기계적 인조 인간 사과 | 4.4 | 4.4-DEV-3015 | 2021 년 3 월 3 일 |
FFmpegKit BINARIES는 Main Release 및 LTS Release 두 가지 릴리스 변형으로 게시됩니다.
주요 릴리스에는 라이브러리의 완전한 기능이 포함되며 최신 SDK/API 기능을 지원합니다.
LTS 릴리스는 더 넓은 범위의 장치를 지원하도록 사용자 정의됩니다. 이전 API/SDK 버전을 사용하여 구축하므로 일부 기능을 사용할 수 없습니다.
이 표는 두 변형의 차이점을 보여줍니다.
| 메인 릴리스 | LTS 릴리스 | |
|---|---|---|
| 안드로이드 API 수준 | 24 | 16 |
| 안드로이드 카메라 액세스 | 예 | - |
| 안드로이드 아키텍처 | ARM-V7A-NEON ARM64-V8A x86 x86-64 | ARM-V7A ARM-V7A-NEON ARM64-V8A x86 x86-64 |
| iOS MIN SDK | 12.1 | 10 |
| iOS VideoToolbox | 예 | - |
| iOS avfoundation | 예 | - |
| iOS 아키텍처 | ARM64 ARM64- 시뮬레이터 ARM64-MAC- 촉매 x86-64 X86-64-MAC- 촉매 | ARMV7 ARM64 i386 x86-64 |
| iOS 번들 형식 | xcframeworks | 프레임 워크 |
| Mac Catalyst Min 버전 | 14.0 | - |
| MACOS MIN SDK | 10.15 | 10.12 |
| Macos avfoundation | 예 | - |
| MACOS 아키텍처 | ARM64 x86-64 | x86-64 |
| MACOS 번들 형식 | xcframeworks | 프레임 워크 |
| TVOS MIN SDK | 11.0 | 10.0 |
| TVOS Videotoolbox | 예 | - |
| TVOS 아키텍처 | ARM64 x86-64 ARM64- 시뮬레이터 | ARM64 x86-64 |
| TVOS 번들 형식 | xcframeworks | 프레임 워크 |
보다 자세한 문서는 Wiki에서 제공됩니다.
FFMPEGKIT 테스트 프로젝트에서 생성 된 테스트 응용 프로그램을 실행하여 응용 프로그램 내에서 FFmpegKit 어떻게 사용되는지 알 수 있습니다.
모든 응용 프로그램은 동일하며 명령 실행, 비디오 인코딩, HTTPS URL에 액세스, 오디오 인코딩, 자막을 굽는 자막, 비디오 안정화, 파이프 작동 및 동시 명령 실행을 지원합니다.
FFmpegKit 라이브러리만으로는 LGPL v3.0 에 따라 라이센스가 부여됩니다.
FFmpegKit 번들 ( .aar 아카이브, frameworks , xcframeworks )은 FFmpegKit 및 FFmpeg 라이브러리를 모두 포함하는 LGPL v3.0 에 따라 라이센스가 부여됩니다. 그러나 소스 코드가 옵션 인 --enable-gpl 플래그 또는 -gpl postfix가있는 사전 제작 된 바이너리를 사용하여 구축되면 FFmpegKit 번들이 GPL v3.0 에 적용됩니다. FFmpeg 해당 번들의 GPL v3.0 에 따라 라이센스가 부여되기 때문입니다. 그리고 그것은 전체 번들이 효과적으로 GPL v3.0 에 적용됩니다.
FFmpegKit 빌드 스크립트는 항상 --enable-version3 옵션으로 FFmpeg 구성합니다. 비가없는 라이브러리를 사용하지 마십시오. 따라서 FFmpegKit 가 작성한 FFmpeg 라이브러리는 기본적으로 LGPL v3.0 에 따라 라이센스가 부여됩니다. --enable-gpl 제공 될 때만 GPL v3.0 의 적용을받습니다. 그것이 -gpl postfix와 함께 사전 제작 된 바이너리가 컴파일되는 방법입니다.
모든 라이브러리의 라이센스를 보려면 라이센스를 참조하십시오. 상표는 FFmpegKit 문서에 사용 된 상표를 나열합니다.
문서에서 명확하게 설명되지는 않지만 FFmpeg , kvazaar , x264 및 x265 에는 소프트웨어 특허의 대상이되는 알고리즘이 포함 된 것으로 여겨집니다. 소프트웨어 알고리즘을 특허 할 수있는 국가에 거주하는 경우 특허 보유자에게 로열티 수수료를 지불해야 할 것입니다. 우리는 변호사가 아니므로 먼저 법률 조언을 구하는 것이 좋습니다. FFMPEG 특허 미니-파크를 참조하십시오.
openh264 특허받은 알고리즘을 사용한다고 명시합니다. 따라서 openh264 사용하여 ffmpeg-kit 구축하고 해당 라이브러리를 배포하면 MPEG LA 라이센스 수수료를 지불해야합니다. 자세한 내용은 OpenH264 FAQ 페이지를 참조하십시오.
1 FFmpeg 는 Fabrice Bellard의 상표입니다. FFmpegKit 는 독립적 인 프로젝트이며 FFmpeg 상표 보유자와 제휴하지 않습니다.
기고 가이드를 참조하십시오.