copadia / php-video-url-parser
A Simple and efficient PHP Video URL Parser that gives you thumbnails and embed codes for various services as Youtube, Vimeo, DailyMotion and Facebook
v1.0.3
2019-09-12 13:51 UTC
Requires
- php: >=5.3
Requires (Dev)
- fabpot/php-cs-fixer: >= 1.0
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-12-14 14:54:11 UTC
README
PHP Video URL Parser is a parser that detects a given video url and returns an object containing information like the video's embed code, title, description, thumbnail and other information that the service's API may give.
Installation
Install the latest version with
$ composer require copadia/php-video-url-parser
Requirements
- PHP 5.3
- cURL (Or at least file_get_contents() enabled if you want to use it with Vimeo, otherwise it's not required)
Basic Usage
<?php use RicardoFiorani\Matcher\VideoServiceMatcher; require __DIR__ . '/vendor/autoload.php'; $vsm = new VideoServiceMatcher(); //Detects which service the url belongs to and returns the service's implementation //of RicardoFiorani\Adapter\VideoAdapterInterface $video = $vsm->parse('https://www.youtube.com/watch?v=PkOcm_XaWrw'); //Checks if service provides embeddable videos (most services does) if ($video->isEmbeddable()) { //Will echo the embed html element with the size 200x200 echo $video->getEmbedCode(200, 200); //Returns the embed html element with the size 1920x1080 and autoplay enabled echo $video->getEmbedCode(1920, 1080, true); //Returns the embed html element with the size 1920x1080, autoplay enabled and force the URL schema to be https. echo $video->getEmbedCode(1920, 1080, true, true); } //If you don't want to check if service provides embeddable videos you can try/catch try { echo $video->getEmbedUrl(); } catch (\RicardoFiorani\Exception\NotEmbeddableException $e) { die(sprintf("The URL %s service does not provide embeddable videos.", $video->getRawUrl())); } //Gets URL of the smallest thumbnail size available echo $video->getSmallThumbnail(); //Gets URL of the largest thumbnail size available //Note some services (such as Youtube) does not provide the largest thumbnail for some low quality videos (like the one used in this example) echo $video->getLargestThumbnail();
Currently Suported Services
- Youtube
- Vimeo
- Dailymotion
- Facebook Videos
Currently Supported PHP Versions
- PHP 5.3
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7.0
- PHP 7.1