# Docs - [OctaVideo documentation](/en): Host, protect and securely play your videos, from the console or from your own server. - **Get started** - [Quickstart](/en/getting-started/quickstart): Create a library, upload a video and put it on your site in about 5 minutes. - [Core concepts](/en/getting-started/concepts): How accounts, libraries, videos, private keys and one-time playback passwords fit together. - [Private beta](/en/getting-started/private-beta): How the OctaVideo private beta works, what the trial includes and how to get an invite. - **Console guides** - [Libraries](/en/guides/libraries): Create a library, find your way around it and keep an eye on its health. - [Upload and import](/en/guides/upload-and-import): Add videos to a library from your computer, from cloud storage or from a URL, and follow their processing. - [Manage videos](/en/guides/manage-videos): Edit a video's details, chapters, thumbnail and transcript, replace its file, and move videos to Trash. - [Encoding](/en/guides/encoding): Choose the codec, resolutions and previews of a library, and re-encode existing videos after a change. - [Player](/en/guides/player): Choose how the player looks and behaves wherever your library's videos play. - [Security](/en/guides/security): Control who can play your videos, on which sites and from which countries, and how they're protected. - [Transcription and search widget](/en/guides/transcription): Turn your videos' speech into transcripts, then let viewers search them and jump to the exact moment. - [Embedding](/en/guides/embedding): Put your videos and the search widget on your site with a ready-made iframe or with OTPs from your own server. - [Statistics and logs](/en/guides/statistics-and-logs): See how viewers watch your videos, and find every request and change in the library's logs. - **Developers** - [Authentication](/en/developers/authentication): Call the server API with your library's private key in the AccessKey header. - [SDKs](/en/developers/sdks): Official OctaVideo libraries for Node.js, PHP and Python. - [Secure playback](/en/developers/secure-playback): Request a one-time password (OTP) from your server for each viewer, then embed the player with it. - [Upload with the API](/en/developers/upload-api): Upload video files, import them from a URL, Google Drive or OneDrive, and group them into collections. - [Processing status](/en/developers/processing-status): Follow a video from queued to ready by polling it, and handle failed processing. - [Webhooks](/en/developers/webhooks): Let OctaVideo call your server when a video is ready, fails, or gets its transcript. - [Errors](/en/developers/errors): The error envelope, every error code the API returns, and which errors are safe to retry. - [Pagination and limits](/en/developers/pagination-and-limits): How list endpoints page their results, and the size, time and rate limits of the API. - API reference - [API reference](/en/api-reference): The OctaVideo server API, endpoint by endpoint, generated from its OpenAPI spec. - Videos - [Upload a video](/en/api-reference/videos/upload-video): Uploads a video file as `multipart/form-data` and queues it for processing. Send the `title` part **before** the `file` part: the file is streamed straight into storage, so parts after it are ignored. If `title` is missing or blank, the file name without its extension is used. The file can be up to 10 GiB and the request may run for up to 2 hours. The new video starts in the `queued` status; poll [Get a video](#operation/getVideo) until `encoding_status` is `ready`. - [Import a video](/en/api-reference/videos/import-video): Imports a video from Google Drive, OneDrive or a public URL. The import runs in the background: the response is `202 Accepted` with a `job_id` and the new video in the `queued` status. For `url`, `source_ref` must be an absolute `http` or `https` URL. - [List videos](/en/api-reference/videos/list-videos): Lists the videos of the library, one page at a time, newest first. - [Get a video](/en/api-reference/videos/get-video): Returns one video, including its processing status. Poll this endpoint after an upload or import: `encoding_status` moves from `queued` to `processing` to `ready` (or `failed`), and `progress` goes from 0 to 100. - [Update video details](/en/api-reference/videos/update-video-details): Replaces the title and description of a video. - [Set video chapters](/en/api-reference/videos/set-video-chapters): Replaces all chapters of a video. Send up to 200 chapters whose `start_seconds` strictly increase. An empty list removes every chapter. - [Transcribe a video](/en/api-reference/videos/transcribe-video): Starts a transcription of the video's speech. The body is optional: leave out `language` to auto-detect it. Transcription runs in the background, so the response is `202 Accepted` with a `job_id`. - [List video thumbnails](/en/api-reference/videos/list-video-thumbnails): Returns the URLs of the thumbnails generated for a video. The list is empty until processing reaches the thumbnails stage. - Collections - [Create a collection](/en/api-reference/collections/create-collection): Creates an empty collection in the library. - [Add videos to a collection](/en/api-reference/collections/add-collection-videos): Adds 1 to 100 videos of the library to a collection. Video IDs must be unique within the request. - Playback - [Issue a playback OTP](/en/api-reference/playback/issue-playback-otp): Issues a one-time password (OTP) that lets one viewer play one video, and returns the `embed_url` to load in an iframe. Call this from your server each time a signed-in viewer opens a video page, and never expose your library key to the browser. An OTP can be used once and expires after `ttl_seconds` (5 minutes by default). Always pass `user_id`: it makes one person count as one unique viewer across devices. The video must be `ready`, otherwise the response is `409` with the code `video_not_ready`. - **Billing** - [How billing works](/en/billing/how-billing-works): Your plan, the allowances every library shares, how usage is measured, and what happens when an allowance runs out. - [Balance and invoices](/en/billing/balance-and-invoices): Recharge the pay-as-you-go balance, turn on auto top-up and alerts, and download invoices. - **Help** - [Troubleshooting](/en/help/troubleshooting): Fixes for the problems people hit most often with uploads, playback and the API. - [Support](/en/help/support): How to reach the OctaVideo team, and what to include so we can help quickly. # Docs - [توثيق أوكتا فيديو](/): استضف فيديوهاتك واحمِها وشغّلها بأمان، من لوحة التحكم أو من خادمك. - **البدء** - [البدء السريع](/getting-started/quickstart): أنشئ مكتبة وارفع فيديو واعرضه على موقعك في نحو 5 دقائق. - [المفاهيم الأساسية](/getting-started/concepts): كيف ترتبط الحسابات والمكتبات والفيديوهات والمفاتيح الخاصة وكلمات مرور التشغيل لمرة واحدة. - [البيتا الخاصة](/getting-started/private-beta): كيف تعمل البيتا الخاصة لأوكتا فيديو، وماذا تشمل الفترة التجريبية، وكيف تحصل على دعوة. - **أدلة لوحة التحكم** - [المكتبات](/guides/libraries): أنشئ مكتبة، وتعرّف على أقسامها، وتابع حالتها. - [الرفع والاستيراد](/guides/upload-and-import): أضف فيديوهات إلى مكتبة من جهازك أو من التخزين السحابي أو من رابط، وتابع معالجتها. - [إدارة الفيديوهات](/guides/manage-videos): عدّل تفاصيل الفيديو وفصوله وصورته المصغّرة ونصّه المكتوب، واستبدل ملفه، وانقل الفيديوهات إلى سلة المحذوفات. - [الترميز](/guides/encoding): اختر برنامج الترميز والدقّات والمعاينات لمكتبة، وأعد ترميز الفيديوهات الحالية بعد أي تغيير. - [المشغّل](/guides/player): اختر كيف يبدو المشغّل ويتصرّف أينما تُعرض فيديوهات مكتبتك. - [الأمان](/guides/security): تحكّم في من يشغّل فيديوهاتك، وعلى أي مواقع ومن أي دول، وكيف تُحمى. - [التفريغ النصي وأداة البحث](/guides/transcription): حوّل الكلام في فيديوهاتك إلى نصوص مكتوبة، ثم دع المشاهدين يبحثون فيها وينتقلون إلى اللحظة نفسها. - [التضمين](/guides/embedding): ضع فيديوهاتك وأداة البحث على موقعك بإطار iframe جاهز أو برموز OTP من خادمك. - [الإحصائيات والسجلات](/guides/statistics-and-logs): اعرف كيف يشاهد المشاهدون فيديوهاتك، وابحث عن كل طلب وتغيير في سجلات المكتبة. - **للمطوّرين** - [المصادقة](/developers/authentication): استدعِ واجهة الخادم البرمجية بالمفتاح الخاص لمكتبتك في ترويسة AccessKey. - [حزم SDK](/developers/sdks): مكتبات أوكتا فيديو الرسمية لـ Node.js وPHP وPython. - [التشغيل الآمن](/developers/secure-playback): اطلب كلمة مرور لمرة واحدة (OTP) من خادمك لكل مشاهد، ثم ضمّن المشغّل بها. - [الرفع عبر الواجهة البرمجية](/developers/upload-api): ارفع ملفات الفيديو، أو استوردها من رابط أو من Google Drive أو OneDrive، ونظّمها في مجموعات. - [حالة المعالجة](/developers/processing-status): تابع الفيديو من الانتظار حتى الجاهزية بالاستعلام عنه، وتعامل مع فشل المعالجة. - [إشعارات Webhooks](/developers/webhooks): اجعل أوكتا فيديو تستدعي خادمك حين يصبح الفيديو جاهزًا، أو تفشل معالجته، أو يجهز نصه المكتوب. - [الأخطاء](/developers/errors): شكل استجابة الخطأ، وكل رموز الأخطاء التي تعيدها الواجهة البرمجية، والأخطاء التي يمكن إعادة المحاولة بعدها. - [الترقيم والحدود](/developers/pagination-and-limits): كيف تُقسَّم نتائج القوائم إلى صفحات، وحدود الحجم والوقت والمعدّل في الواجهة البرمجية. - مرجع الواجهة البرمجية - [مرجع الواجهة البرمجية](/api-reference): واجهة خادم أوكتا فيديو البرمجية نقطةً نقطة، مولّدة من مواصفة OpenAPI الخاصة بها. - الفيديوهات - [Upload a video](/api-reference/videos/upload-video): Uploads a video file as `multipart/form-data` and queues it for processing. Send the `title` part **before** the `file` part: the file is streamed straight into storage, so parts after it are ignored. If `title` is missing or blank, the file name without its extension is used. The file can be up to 10 GiB and the request may run for up to 2 hours. The new video starts in the `queued` status; poll [Get a video](#operation/getVideo) until `encoding_status` is `ready`. - [Import a video](/api-reference/videos/import-video): Imports a video from Google Drive, OneDrive or a public URL. The import runs in the background: the response is `202 Accepted` with a `job_id` and the new video in the `queued` status. For `url`, `source_ref` must be an absolute `http` or `https` URL. - [List videos](/api-reference/videos/list-videos): Lists the videos of the library, one page at a time, newest first. - [Get a video](/api-reference/videos/get-video): Returns one video, including its processing status. Poll this endpoint after an upload or import: `encoding_status` moves from `queued` to `processing` to `ready` (or `failed`), and `progress` goes from 0 to 100. - [Update video details](/api-reference/videos/update-video-details): Replaces the title and description of a video. - [Set video chapters](/api-reference/videos/set-video-chapters): Replaces all chapters of a video. Send up to 200 chapters whose `start_seconds` strictly increase. An empty list removes every chapter. - [Transcribe a video](/api-reference/videos/transcribe-video): Starts a transcription of the video's speech. The body is optional: leave out `language` to auto-detect it. Transcription runs in the background, so the response is `202 Accepted` with a `job_id`. - [List video thumbnails](/api-reference/videos/list-video-thumbnails): Returns the URLs of the thumbnails generated for a video. The list is empty until processing reaches the thumbnails stage. - المجموعات - [Create a collection](/api-reference/collections/create-collection): Creates an empty collection in the library. - [Add videos to a collection](/api-reference/collections/add-collection-videos): Adds 1 to 100 videos of the library to a collection. Video IDs must be unique within the request. - التشغيل - [Issue a playback OTP](/api-reference/playback/issue-playback-otp): Issues a one-time password (OTP) that lets one viewer play one video, and returns the `embed_url` to load in an iframe. Call this from your server each time a signed-in viewer opens a video page, and never expose your library key to the browser. An OTP can be used once and expires after `ttl_seconds` (5 minutes by default). Always pass `user_id`: it makes one person count as one unique viewer across devices. The video must be `ready`, otherwise the response is `409` with the code `video_not_ready`. - **الفوترة** - [كيف تعمل الفوترة](/billing/how-billing-works): خطتك، والحصص التي تتشاركها كل المكتبات، وكيف يُقاس الاستخدام، وماذا يحدث عند نفاد حصة. - [الرصيد والفواتير](/billing/balance-and-invoices): اشحن رصيد الدفع حسب الاستخدام، وفعّل الشحن التلقائي والتنبيهات، ونزّل فواتيرك. - **المساعدة** - [حل المشكلات](/help/troubleshooting): حلول للمشكلات الأكثر شيوعًا في الرفع والتشغيل والواجهة البرمجية. - [الدعم](/help/support): كيف تتواصل مع فريق أوكتا فيديو، وما الذي ترسله لنساعدك بسرعة.