
FFmpegKit เป็นชุดของเครื่องมือในการใช้ FFmpeg 1 ใน Android , iOS , Linux , macOS , tvOS , Flutter และ Application React Native
มันมีสคริปต์เพื่อสร้างไลบรารีพื้นเมือง FFmpeg , ห้องสมุด wrapper เพื่อเรียกใช้คำสั่ง FFmpeg / FFprobe ในแอปพลิเคชันและ 8 แพ็คเกจไบนารี prebuilt ที่มีอยู่ที่ GitHub, Maven Central, Cocoapods, Pub และ NPM
FFmpegKit เพื่อเรียกใช้คำสั่ง FFmpeg / FFprobe ในแอปพลิเคชันv4.5-dev หรือใหม่กว่าด้วยระบบเสริมและไลบรารีภายนอกLGPL 3.0 โดยค่าเริ่มต้น GPL v3.0 หากเปิดใช้งานไลบรารีที่ได้รับอนุญาตจาก GPL ดู Android เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ FFmpegKit สำหรับ Android
ดู Apple เพื่อใช้ FFmpegKit บนแพลตฟอร์ม Apple ( iOS , macOS , tvOS )
ดู Flutter เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ FFmpegKit สำหรับ Flutter
ดู Linux เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ FFmpegKit สำหรับ Linux
ดู React Native เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ FFmpegKit สำหรับ React Native
ใช้ android.sh , ios.sh , linux.sh , macos.sh และ tvos.sh เพื่อสร้าง FFmpegKit สำหรับแต่ละแพลตฟอร์มดั้งเดิม
สคริปต์ทั้งหมดสนับสนุนตัวเลือกเพิ่มเติมเพื่อเปิดใช้งานไลบรารีที่เป็นตัวเลือกและปิดการใช้งานสถาปัตยกรรมแพลตฟอร์ม ดูหน้าอาคาร Wiki สำหรับรายละเอียด
FFmpegKit เป็นไลบรารี wrapper ที่ช่วยให้คุณเรียกใช้คำสั่ง FFmpeg / FFprobe ในแอปพลิเคชันได้อย่างง่ายดาย มันมีคุณสมบัติเพิ่มเติมที่ด้านบนของ FFmpeg เพื่อเปิดใช้งานทรัพยากรเฉพาะแพลตฟอร์มควบคุมวิธีการดำเนินการคำสั่งและวิธีการจัดการผลลัพธ์
Library Android ของ FFmpegKit มี Java API, Apple Libraries ( iOS , macOS , tvOS Typescript มี Objective-C API ไลบรารี Flutter มาพร้อมกับ Dart API, Linux Library มี C++ API และ JavaScript React Native Library
มีแพ็คเกจ ffmpeg-kit ที่แตกต่างกันแปดชุดที่กระจายอยู่ใน GitHub, Maven Central, Cocoapods, Pub และ NPM ด้านล่างคุณจะเห็นว่าไลบรารีระบบและไลบรารีภายนอกใดที่เปิดใช้งานในแต่ละห้อง
โปรดจำไว้ว่าบางส่วนของ FFmpeg ได้รับใบอนุญาตภายใต้ GPL และแพ็คเกจ ffmpeg-kit ที่ได้รับใบอนุญาต GPL เท่านั้น
| นาที | Min-GPL | https | https-gpl | เสียง | วิดีโอ | เต็ม | Full-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 freetype ฟริบิดิ Kvazaar libass libiconv libtheora libvpx libwebp ฉุนเฉียว ซิมจ์ | DAV1D Fontconfig freetype ฟริบิดิ GMP gnutls Kvazaar ไม่ได้เรื่อง libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 OpenCore-AMR บทประพันธ์ ส่องแสง ฉุนเฉียว Soxr Speex twolame vo-amrwbenc ซิมจ์ | DAV1D Fontconfig freetype ฟริบิดิ GMP gnutls Kvazaar ไม่ได้เรื่อง libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 OpenCore-AMR บทประพันธ์ ส่องแสง ฉุนเฉียว Soxr Speex twolame vid.stab vo-amrwbenc x264 x265 xvidcore ซิมจ์ |
| ไลบรารีระบบ Android | zlib สื่อกลาง | |||||||
| ไลบรารีระบบ iOS | BZIP2 Audiotoolbox การอวาท ไอคอน Videotoolbox zlib | |||||||
| ไลบรารีระบบ MacOS | BZIP2 Audiotoolbox การอวาท ภาพหลัก ไอคอน opencl OpenGL Videotoolbox zlib | |||||||
| ไลบรารีระบบ tvos | BZIP2 Audiotoolbox ไอคอน Videotoolbox zlib | |||||||
AVFoundation ไม่สามารถใช้ได้ใน tvOSVideoToolbox ไม่สามารถใช้งานได้ใน LTS รุ่นของ iOS และ tvOSzimg รองรับตั้งแต่ v4.5.1 FFmpegKit ไบนารีที่สร้างขึ้นใช้หมายเลขรุ่นหลักและรองเช่นเดียวกับโครงการ FFmpeg ต้นน้ำ หมายเลขที่สามและสุดท้ายในสตริงเวอร์ชันหากมีอยู่นั้นมีความเฉพาะเจาะจงกับ FFmpegKit มันแสดงการเผยแพร่ที่แตกต่างจากสาขาการเปิดตัว FFmpeg เดียวกัน
ชิ้นส่วน dev ในสตริงเวอร์ชันระบุว่าซอร์สโค้ด FFmpeg ถูกโคลนจากสาขา master FFmpeg และหมายเลขเวอร์ชันที่แน่นอนของ FFmpeg นั้นได้มาโดยใช้คำสั่ง git describe --tags
| แพลตฟอร์ม | เวอร์ชัน ffmpegkit | เวอร์ชัน ffmpeg | วันที่วางจำหน่าย |
|---|---|---|---|
| กระพือ | 6.0.3 | 6.0 | 19 ก.ย. 2023 |
| ตอบสนองพื้นเมือง | 6.0.2 | 6.0 | 19 ก.ย. 2023 |
| กระพือ | 6.0.2 | 6.0 | 3 ก.ย. 2023 |
| ตอบสนองพื้นเมือง | 6.0.1 | 6.0 | 3 ก.ย. 2023 |
| กระพือ | 6.0.1 | 6.0 | 3 ก.ย. 2023 |
| ตอบสนองพื้นเมือง | 6.0.0 | 6.0 | 27 ส.ค. 2023 |
| กระพือ | 6.0.0 | 6.0 | 27 ส.ค. 2023 |
| Android แอปเปิล | 6.0 | 6.0 | 21 ส.ค. 2023 |
| ตอบสนองพื้นเมือง | 5.1.0 | 5.1.2 | 02 ต.ค. 2022 |
| กระพือ | 5.1.0 | 5.1.2 | 02 ต.ค. 2022 |
| Android แอปเปิล | 5.1 | 5.1.2 | 29 ก.ย. 2022 |
| ตอบสนองพื้นเมือง | 4.5.2 | 4.5-dev-3393 | 25 พฤษภาคม 2565 |
| กระพือ | 4.5.1 | 4.5-dev-3393 | 02 ม.ค. 2022 |
| ตอบสนองพื้นเมือง | 4.5.1 | 4.5-dev-3393 | 02 ม.ค. 2022 |
| Android | 4.5.1 | 4.5-dev-3393 | 01 ม.ค. 2022 |
| แอปเปิล | 4.5.1 | 4.5-dev-3393 | 30 ธ.ค. 2021 |
| กระพือ | 4.5.0 | 4.5-dev-2008 | ต.ค. 05, 2021 |
| ตอบสนองพื้นเมือง | 4.5.0 | 4.5-dev-2008 | 01 ต.ค. 2021 |
| Android แอปเปิล | 4.5 | 4.5-dev-2008 | 18 ก.ย. 2021 |
| Android แอปเปิล | 4.4 | 4.4-dev-3015 | มี.ค. 03, 2021 |
FFmpegKit BINARIES ถูกตีพิมพ์ในสองรุ่นรุ่น: Main Release และ LTS Release
การเปิดตัวหลักรวมถึงฟังก์ชั่นที่สมบูรณ์ของไลบรารีและรองรับคุณสมบัติ SDK/API ล่าสุด
การเปิดตัว LTS ได้รับการปรับแต่งเพื่อรองรับอุปกรณ์ที่หลากหลาย พวกเขาถูกสร้างขึ้นโดยใช้เวอร์ชัน API/SDK รุ่นเก่าดังนั้นคุณสมบัติบางอย่างจึงไม่สามารถใช้ได้
ตารางนี้แสดงความแตกต่างระหว่างสองตัวแปร
| รีลีสหลัก | LTS Release | |
|---|---|---|
| ระดับ Android API | 24 | 16 |
| การเข้าถึงกล้อง Android | ใช่ | - |
| สถาปัตยกรรม Android | 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-simulator Arm64-mac-catalyst x86-64 x86-64-mac-catalyst | 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-simulator | ARM64 x86-64 |
| รูปแบบชุด TVOS | xcframeworks | เฟรมเวิร์ก |
เอกสารรายละเอียดเพิ่มเติมมีอยู่ภายใต้วิกิ
คุณสามารถดูว่า FFmpegKit ใช้งานได้อย่างไรภายในแอปพลิเคชันโดยใช้แอปพลิเคชันทดสอบที่สร้างขึ้นภายใต้โครงการทดสอบ FFMPEGKIT
แอปพลิเคชันทั้งหมดเหมือนกันและรองรับการดำเนินการคำสั่ง, การเข้ารหัสวิดีโอ, การเข้าถึง URL HTTPS, การเข้ารหัสเสียง, คำบรรยายการเผาไหม้, การรักษาเสถียรภาพของวิดีโอ, การดำเนินการท่อและการดำเนินการคำสั่งพร้อมกัน
ไลบรารี FFmpegKit เพียงอย่างเดียวได้รับอนุญาตภายใต้ LGPL v3.0
FFmpegKit BUNDLES ( .aar Archives, frameworks , xcframeworks ) ซึ่งรวมถึงห้องสมุด FFmpegKit และ FFmpeg ทั้ง LGPL v3.0 อย่างไรก็ตามหากซอร์สโค้ดถูกสร้างขึ้นโดยใช้การตั้งค่าสถานะเป็นตัวเลือก --enable-gpl หรือไบนารี prebuilt ที่ใช้ -gpl postfix จะถูกใช้งาน FFmpegKit Bundles จะกลายเป็น GPL v3.0 เพราะ FFmpeg ได้รับใบอนุญาตภายใต้ GPL v3.0 ในชุดเหล่านั้น และนั่นทำให้ทั้งชุดมีประสิทธิภาพภายใต้ GPL v3.0
FFmpegKit BULD SCRIPTS กำหนดค่า FFmpeg ด้วยตัวเลือก --enable-version3 3 และไม่เคยเปิดใช้งานห้องสมุดที่ไม่ฟรี ดังนั้นไลบรารี FFmpeg ที่สร้างโดย FFmpegKit จะได้รับอนุญาตภายใต้ LGPL v3.0 โดยค่าเริ่มต้น เฉพาะเมื่อ --enable-gpl มีให้พวกเขาจะอยู่ภายใต้ GPL v3.0 นั่นคือวิธีการรวบรวมไบนารี prebuilt ที่มี -gpl postfix
อ้างถึงใบอนุญาตเพื่อดูใบอนุญาตของห้องสมุดทั้งหมด เครื่องหมายการค้าแสดงรายการเครื่องหมายการค้าที่ใช้ในเอกสาร FFmpegKit
มันไม่ได้อธิบายไว้อย่างชัดเจนในเอกสารของพวกเขา แต่เชื่อว่า FFmpeg , kvazaar , x264 และ x265 รวมอัลกอริทึมซึ่งอยู่ภายใต้สิทธิบัตรซอฟต์แวร์ หากคุณอาศัยอยู่ในประเทศที่อัลกอริทึมซอฟต์แวร์สามารถจดสิทธิบัตรได้คุณอาจต้องจ่ายค่าลิขสิทธิ์ให้กับผู้ถือสิทธิบัตร เราไม่ใช่นักกฎหมายดังนั้นเราขอแนะนำให้คุณขอคำแนะนำทางกฎหมายก่อน ดู FFMPEG MINI-FAQ สิทธิบัตร
openh264 ระบุอย่างชัดเจนว่าใช้อัลกอริทึมที่ได้รับสิทธิบัตร ดังนั้นหากคุณสร้าง ffmpeg-kit ด้วย openh264 และแจกจ่ายห้องสมุดนั้นคุณจะต้องจ่ายค่าธรรมเนียมใบอนุญาต MPEG LA อ้างถึงหน้าคำถามที่พบบ่อยของ OpenH264 สำหรับรายละเอียด
1 FFmpeg เป็นเครื่องหมายการค้าของ Fabrice Bellard FFmpegKit เป็นโครงการอิสระและไม่เกี่ยวข้องกับผู้ถือเครื่องหมายการค้า FFmpeg
ดูคู่มือการสนับสนุนของเรา