حزم SDK
مكتبات أوكتا فيديو الرسمية لـ Node.js وPHP وPython.
تغلّف حزم SDK واجهة الخادم البرمجية: تضبط ترويسة AccessKey، وتعيد محاولة الطلبات المحدودة المعدّل والفاشلة، وتُطلق أخطاء محدّدة الأنواع، وتتحقق من تواقيع إشعارات webhooks. وكل ما تفعله ممكن أيضًا عبر HTTP مباشرة.
التثبيت
npm install @octavideo/node| الحزمة | المتطلبات |
|---|---|
@octavideo/node | Node.js 18 أو أحدث (ESM وCommonJS، مع أنواع TypeScript) |
octavideo/octavideo-php | PHP 8.1 أو أحدث |
octavideo | Python 3.9 أو أحدث |
أنشئ عميلًا
أنشئ عميلًا واحدًا لكل مكتبة، بالمفتاح الخاص لتلك المكتبة من متغيّرات بيئة خادمك:
import { OctaVideo } from '@octavideo/node';
const octa = new OctaVideo({ accessKey: process.env.OCTAVIDEO_KEY });أصدِر رمز تشغيل
الاستدعاء الأكثر شيوعًا: رمز OTP واحد لكل مشاهد في كل مشاهدة للصفحة. اقرأ التشغيل الآمن.
const { otp, embedUrl } = await octa.playback.createOtp({
videoId: '6f1c2b9e-4a7d-4f3e-9b8a-2d5c7e1f0a34',
userId: user.id,
ttlSeconds: 300,
});ارفع الفيديوهات وأدِرها
import { openAsBlob } from 'node:fs';
const video = await octa.videos.upload({
title: 'Lesson 1: Introduction',
file: await openAsBlob('lesson-01.mp4'),
});
const page = await octa.videos.list({ perPage: 100 });
for await (const v of octa.videos.listAll()) console.log(v.id, v.encodingStatus);لكل نقطة نهاية في مرجع الواجهة البرمجية دالة مقابلة: videos.import وvideos.get وvideos.updateDetails وvideos.setChapters وvideos.transcribe وvideos.thumbnails وcollections.create وcollections.addVideos (وفي PHP وPython بالأسماء نفسها بصيغة snake_case).
الأخطاء
يُطلق الاستدعاء الفاشل الخطأ OctaVideoError مع رمز code من الواجهة البرمجية (errorCode في PHP لأن code محجوز في Exception) وحالة HTTP في status والمعرّف requestId. اقرأ الأخطاء.
import { OctaVideoError } from '@octavideo/node';
try {
await octa.playback.createOtp({ videoId });
} catch (err) {
if (err instanceof OctaVideoError && err.code === 'video_not_ready') {
// Show "processing" to the viewer and try again later.
} else {
throw err;
}
}تعيد حزم SDK محاولة استجابات 429 (بعد Retry-After) و5xx حتى 3 مرات افتراضيًا. اضبط maxRetries (أو max_retries في PHP وPython) عند إنشاء العميل لتغيير ذلك.
تحقّق من إشعارات webhooks
const event = octa.webhooks.verify(rawBody, req.get('OctaVideo-Signature'), process.env.OCTAVIDEO_WEBHOOK_SECRET);تتحقق verify من التوقيع والطابع الزمني وتعيد الحدث بعد تحليله، أو تُطلق خطأ إن فشل أي منهما. اقرأ إشعارات Webhooks.