PHPackages                             elfarmawy/vdocipher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. elfarmawy/vdocipher

ActiveLibrary[API Development](/categories/api)

elfarmawy/vdocipher
===================

Laravel package for VdoCipher video platform integration

1.1.0(11mo ago)417MITPHPPHP ^8.1CI passing

Since Jun 14Pushed 10mo agoCompare

[ Source](https://github.com/TarekHesham/laravel-vdocipher)[ Packagist](https://packagist.org/packages/elfarmawy/vdocipher)[ Docs](https://github.com/tarekhesham/laravel-vdocipher)[ RSS](/packages/elfarmawy-vdocipher/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

VdoCipher for Laravel
=====================

[](#vdocipher-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/178b0a695add1f9506ac413de4026f88442301e1bd2fff39de1b8863ebac2bd3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f456c4661726d6177792f76646f6369706865722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ElFarmawy/vdocipher)[![Total Downloads](https://camo.githubusercontent.com/f87d0a3405497541f99301ab6f540fd8a0837fb8c51886745348fee6efe0cb9f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f456c4661726d6177792f76646f6369706865722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ElFarmawy/vdocipher)[![GitHub Tests Action Status](https://camo.githubusercontent.com/2a6968e1cd6cc6f7abcd7a3ac9a8cfa66a8f322853177a2dfd62aa5cb88ff336/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f546172656b48657368616d2f6c61726176656c2d76646f6369706865722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e)](https://github.com/TarekHesham/laravel-vdocipher/actions?query=workflow%3Arun-tests+branch%3Amain)

A Laravel package that provides a clean, API-only integration with the VdoCipher video platform. Supports Laravel 10, 11, and 12.

Installation
------------

[](#installation)

You can install the package via Composer:

```
composer require ElFarmawy/vdocipher
```

Publishing the config file
--------------------------

[](#publishing-the-config-file)

```
php artisan vendor:publish --provider="ElFarmawy\VdoCipher\Providers\VdoCipherServiceProvider" --tag=config
```

This will create a `config/vdocipher.php` configuration file in your app where you can modify the settings.

Configuration
-------------

[](#configuration)

Update your `.env` file with your VdoCipher API key:

```
VDOCIPHER_API_KEY=your-api-key
VDOCIPHER_BASE_URL=https://dev.vdocipher.com/api
VDOCIPHER_OTP_TTL=300

```

You can also configure default watermarks in the `config/vdocipher.php` file:

```
'watermarks' => [
    [
        'type'     => 'rtext',
        'text'     => 'Copyright © ' . date('Y'),
        'alpha'    => '0.6',
        'color'    => '0xFFFFFF',
        'size'     => '15',
        'interval' => '5000',
    ],
],
```

Usage
-----

[](#usage)

### Basic Example

[](#basic-example)

```
use ElFarmawy\VdoCipher\Facades\VdoCipher;

// Get OTP for video playback
$otpInfo = VdoCipher::getOtp('video_id', [
    'userId' => 42,
]);

// Get complete video details including OTP
$details = VdoCipher::getVideoDetails('video_id', [
    'userId' => 42,
]);

// List all videos
$videos = VdoCipher::getVideos([
    'page' => 1,
    'limit' => 10,
]);
```

### Overriding Default Configuration at Runtime

[](#overriding-default-configuration-at-runtime)

You can override the default configuration at runtime:

```
// Override API key
VdoCipher::setApiKey('new-api-key');

// Override base URL
VdoCipher::setBaseUrl('https://custom-dev.vdocipher.com/api');

// Override default watermarks
VdoCipher::setWatermarks([
    [
        'type'     => 'rtext',
        'text'     => 'MyCustomText',
        'alpha'    => '0.2',
        'color'    => '0x00FF00',
        'size'     => '40',
        'interval' => '100000',
    ],
]);
```

### Managing Videos

[](#managing-videos)

```
// Get a specific video
$video = VdoCipher::getVideo('video_id');

// Delete a video
$deleted = VdoCipher::deleteVideo('video_id');
```

### Video Upload

[](#video-upload)

```
// Get upload credentials
$credentials = VdoCipher::getVideoCredentials('My Video Title', '7d52*******'); // folderId Optional

// Upload a video file
$uploadLink = $credentials['clientPayload']['uploadLink'];
$formData = $credentials['clientPayload'];
$file = $request->file('video');

// Added custom redirect if needed
// $formData['success_action_status'] = 201;
// $formData['success_action_redirect'] = '';

$uploadResult = VdoCipher::uploadVideoToApi($uploadLink, $formData, $file);
```

---

Full Documentation
------------------

[](#full-documentation)

For complete documentation and advanced usage, please check the [Wiki](https://github.com/TarekHesham/laravel-vdocipher/wiki).

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Tarek Hesham](https://github.com/TarekHesham)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance53

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

330d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e49323ad5b272abd72b7b0b6d21a5bb68f2260c8281aa3280c10014bdea485a6?d=identicon)[Tarek Hesham](/maintainers/Tarek%20Hesham)

---

Top Contributors

[![TarekHesham](https://avatars.githubusercontent.com/u/37149220?v=4)](https://github.com/TarekHesham "TarekHesham (8 commits)")

---

Tags

api-wrapperlaravellaravel-packagevdocipherlaravelstreaminglmselfarmawyvdociphervdocipher-api

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/elfarmawy-vdocipher/health.svg)

```
[![Health](https://phpackages.com/badges/elfarmawy-vdocipher/health.svg)](https://phpackages.com/packages/elfarmawy-vdocipher)
```

###  Alternatives

[essa/api-tool-kit

set of tools to build an api with laravel

52680.5k](/packages/essa-api-tool-kit)[resend/resend-laravel

Resend for Laravel

1191.4M6](/packages/resend-resend-laravel)[joggapp/laravel-aws-sns

Laravel package for the SNS events by AWS

3171.8k](/packages/joggapp-laravel-aws-sns)[simplestats-io/laravel-client

Client for SimpleStats!

4515.5k](/packages/simplestats-io-laravel-client)[dragon-code/laravel-json-response

Automatically always return a response in JSON format

1118.6k1](/packages/dragon-code-laravel-json-response)[surface/laravel-webfinger

A Laravel package to create an ActivityPub webfinger.

113.8k](/packages/surface-laravel-webfinger)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
