مسودة: يصف هذا التوثيق أوكتا فيديو كما ستكون عند الإطلاق، وقد لا تكون بعض الميزات متاحة بعد.
OctaVideoالتوثيق

حزم SDK

مكتبات أوكتا فيديو الرسمية لـ Node.js وPHP وPython.

تغلّف حزم SDK واجهة الخادم البرمجية: تضبط ترويسة AccessKey، وتعيد محاولة الطلبات المحدودة المعدّل والفاشلة، وتُطلق أخطاء محدّدة الأنواع، وتتحقق من تواقيع إشعارات webhooks. وكل ما تفعله ممكن أيضًا عبر HTTP مباشرة.

التثبيت

npm install @octavideo/node
الحزمةالمتطلبات
@octavideo/nodeNode.js 18 أو أحدث (ESM وCommonJS، مع أنواع TypeScript)
octavideo/octavideo-phpPHP 8.1 أو أحدث
octavideoPython 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.

في هذه الصفحة