
FFmpegKit هي مجموعة من الأدوات لاستخدام FFmpeg 1 في Android و iOS و Linux و macOS و tvOS و Flutter و React Native .
ويشمل البرامج النصية لإنشاء مكتبات FFmpeg الأصلية ، ومكتبة غلاف لتشغيل أوامر FFmpeg / FFprobe في التطبيقات و 8 حزم ثنائية مقدمة متوفرة في 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 لكل منصة أصلية.
تدعم جميع البرامج النصية خيارات إضافية لتمكين المكتبات الاختيارية وتعطيل بنيات النظام الأساسي. انظر صفحة البناء الويكي للحصول على التفاصيل.
FFmpegKit هي مكتبة غلاف تتيح لك تشغيل أوامر FFmpeg / FFprobe بسهولة في التطبيقات. يوفر ميزات إضافية أعلى FFmpeg لتمكين موارد محددة منصة ، والتحكم في كيفية تنفيذ الأوامر وكيفية معالجة النتائج.
تحتوي مكتبة Android في FFmpegKit على واجهة برمجة تطبيقات Java ومكتبات Apple ( iOS و macOS و tvOS ) لها واجهة برمجة تطبيقات Objective-C ، وتأتي مكتبة Flutter مع واجهة برمجة تطبيقات Dart ، ومكتبة Linux لديها واجهة برمجة تطبيقات C++ ، وتوفر مكتبة React Native API JavaScript مع تعريفات Typescript ، والتي تتطابق مع الميزات والقدرات.
هناك ثماني حزم مختلفة من ffmpeg-kit موزعة على Github و Maven Central و Cocoapods و Pub و NPM. أدناه يمكنك معرفة المكتبات النظام والمكتبات الخارجية التي يتم تمكينها في كل واحد منها.
يرجى تذكر أن بعض أجزاء FFmpeg مرخصة بموجب GPL وأن حزم ffmpeg-kit المرخصة فقط GPL تتضمنها.
| دقيقة | دقيقة GPL | https | https-gpl | صوتي | فيديو | ممتلىء | كامل GPL | |
|---|---|---|---|---|---|---|---|---|
| المكتبات الخارجية | - | vid.Stab x264 x265 XVIDCORE | GMP gnutls | GMP gnutls vid.Stab x264 x265 XVIDCORE | عاجِز libilbc libvorbis opencore-amr opus يشرق Soxr speex twolame vo-amrwbenc | dv1d fontconfig freetype فريبيدي kvazaar libass ليبيكونيف libtheora libvpx libwebp snappy Zimg | dv1d fontconfig freetype فريبيدي GMP gnutls kvazaar عاجِز libass ليبيكونيف libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus يشرق snappy Soxr speex twolame vo-amrwbenc Zimg | dv1d fontconfig freetype فريبيدي GMP gnutls kvazaar عاجِز libass ليبيكونيف libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus يشرق snappy Soxr speex twolame vid.Stab vo-amrwbenc x264 x265 XVIDCORE Zimg |
| مكتبات نظام Android | زلب MediCodec | |||||||
| مكتبات نظام iOS | BZIP2 Audiotoolbox Avfoundation ICONV Videotoolbox زلب | |||||||
| مكتبات نظام MacOS | BZIP2 Audiotoolbox Avfoundation الصورة الأساسية ICONV opencl OpenGL Videotoolbox زلب | |||||||
| مكتبات نظام TVOS | BZIP2 Audiotoolbox ICONV Videotoolbox زلب | |||||||
AVFoundation غير متوفر على tvOSVideoToolbox غير متوفر على إصدارات LTS من iOS و tvOSzimg مدعوم منذ v4.5.1 تستخدم ثنائيات FFmpegKit التي تم إنشاؤها نفس أرقام الإصدارات الرئيسية والثانوية مثل مشروع FFmpeg المنبع. الرقم الثالث والأخير في سلسلة الإصدار ، إذا كان موجودًا ، خاص بـ FFmpegKit . يظهر إصدارات مختلفة من نفس فرع إطلاق FFmpeg .
يشير جزء dev في سلسلة الإصدار إلى أن رمز المصدر FFmpeg يتم استنساخه من فرع FFmpeg master ويتم الحصول على الرقم الدقيق لـ 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 | سبتمبر 03 ، 2023 |
| رد فعل مواطن | 6.0.1 | 6.0 | سبتمبر 03 ، 2023 |
| رفرفة | 6.0.1 | 6.0 | سبتمبر 03 ، 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 مايو 2022 |
| رفرفة | 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 في اثنين من المتغيرات الإصدار: Main Release LTS Release .
تتضمن الإصدارات الرئيسية وظائف كاملة للمكتبة ودعم أحدث ميزات SDK/API.
يتم تخصيص إصدارات LTS لدعم مجموعة واسعة من الأجهزة. تم تصميمها باستخدام إصدارات API/SDK الأقدم ، لذلك لا تتوفر بعض الميزات عليها.
يوضح هذا الجدول الاختلافات بين نوعين.
| الإصدار الرئيسي | إطلاق LTS | |
|---|---|---|
| مستوى Android API | 24 | 16 |
| وصول كاميرا Android | نعم | - |
| Android Architectures | 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 | - |
| ماكوس مين SDK | 10.15 | 10.12 |
| macos avfoundation | نعم | - |
| بنيات ماكوس | ARM64 x86-64 | x86-64 |
| macos حزمة تنسيق | xcframeworks | الأطر |
| tvos min sdk | 11.0 | 10.0 |
| TVOS Videotoolbox | نعم | - |
| TVOS Architectures | ARM64 x86-64 ARM64-Simulator | ARM64 x86-64 |
| تنسيق حزمة TVOS | xcframeworks | الأطر |
تتوفر وثائق أكثر تفصيلاً تحت ويكي.
يمكنك أن ترى كيف يتم استخدام FFmpegKit داخل التطبيق عن طريق تشغيل تطبيقات الاختبار التي تم إنشاؤها تحت مشروع اختبار FFMPEGKIT.
جميع التطبيقات متطابقة ويدعم تنفيذ الأوامر ، وترميز الفيديو ، والوصول إلى عناوين URL HTTPS ، وترميز الصوت ، والترجمات المحترقة ، وتثبيت الفيديو ، وعمليات الأنابيب ، وتنفيذ الأوامر المتزامنة.
مكتبة FFmpegKit وحدها مرخصة بموجب LGPL v3.0 .
يتم أيضًا ترخيص حزم FFmpegKit ( .aar أرشيفات. AAR ، frameworks ، xcframeworks ) ، والتي تشمل كل من مكتبات FFmpegKit و FFmpeg ، بموجب LGPL v3.0 . ومع ذلك ، إذا تم تصميم الرمز المصدري باستخدام علامة --enable-gpl الاختيارية -أو الثنائيات المسبقة مع -gpl ، فسيتم استخدام حزم FFmpegKit خاضعة لـ GPL v3.0 . لأن FFmpeg مرخصة بموجب GPL v3.0 في تلك الحزم. وهذا يجعل الحزمة بأكملها تخضع بشكل فعال لـ GPL v3.0 .
FFmpegKit Build Scripts دائمًا تكوين FFmpeg مع خيار --enable-version3 . ولا تمكّن المكتبات غير المجانية أبدًا. وبالتالي ، يتم ترخيص مكتبات FFmpeg التي أنشأتها FFmpegKit بموجب LGPL v3.0 افتراضيًا. فقط عندما يتم توفير --enable-gpl فإنها تصبح خاضعة لـ GPL v3.0 . هذه هي الطريقة التي يتم بها تجميع الثنائيات المسبقة مع -gpl postfix.
ارجع إلى التراخيص لرؤية تراخيص جميع المكتبات. يسرد العلامات التجارية العلامات التجارية المستخدمة في وثائق FFmpegKit .
لم يتم شرحه بوضوح في وثائقهم ، ولكن يُعتقد أن FFmpeg و kvazaar و x264 و x265 تشمل خوارزميات تخضع لبراءات براءات الاختراع. إذا كنت تعيش في بلد تكون فيه خوارزميات البرمجيات قابلة للبراءة ، فربما ستحتاج إلى دفع رسوم الملوك لأصحاب براءات الاختراع. نحن لسنا محامين ، لذلك نوصيك بطلب المشورة القانونية أولاً. انظر FFMPEG براءة اختراع مصغرة.
ينص openh264 بوضوح على أنه يستخدم خوارزميات حاصلة على براءة اختراع. لذلك ، إذا قمت بإنشاء ffmpeg-kit مع openh264 وتوزيع تلك المكتبة ، فأنت تخضع لدفع رسوم الترخيص MPEG LA. الرجوع إلى صفحة الأسئلة الشائعة OpenH264 للحصول على التفاصيل.
1 FFmpeg هي علامة تجارية لفابريس بيلارد. FFmpegKit هو مشروع مستقل وليس تابعًا لصاحب العلامة التجارية FFmpeg .
انظر دليل المساهمة لدينا.