https://github.com/ricardofiorani/php-video-url-parser
A Simple and efficient PHP Video URL Parser that provides you thumbnails and embed codes for various video streaming websites
https://github.com/ricardofiorani/php-video-url-parser
dailymotion embed parse php thumbnails video video-embed video-url vimeo youtube
Last synced: 12 months ago
JSON representation
A Simple and efficient PHP Video URL Parser that provides you thumbnails and embed codes for various video streaming websites
- Host: GitHub
- URL: https://github.com/ricardofiorani/php-video-url-parser
- Owner: ricardofiorani
- License: mit
- Created: 2015-08-29T16:17:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-04-29T20:18:12.000Z (almost 5 years ago)
- Last Synced: 2025-05-07T04:06:41.727Z (12 months ago)
- Topics: dailymotion, embed, parse, php, thumbnails, video, video-embed, video-url, vimeo, youtube
- Language: PHP
- Homepage:
- Size: 134 KB
- Stars: 63
- Watchers: 3
- Forks: 14
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DEPRECATED !
If you have PHP 7.4 or newer then please use https://github.com/ricardofiorani/oembed instead.
This lib will receive only small bugfixes, not new features anymore.
# PHP Video URL Parser
[](http://travis-ci.org/ricardofiorani/php-video-url-parser)
[](https://php.net/)
[](https://packagist.org/packages/ricardofiorani/php-video-url-parser)
[](https://packagist.org/packages/ricardofiorani/php-video-url-parser)
[](https://github.com/php-fig-rectified/fig-rectified-standards)
[](https://scrutinizer-ci.com/g/ricardofiorani/php-video-url-parser/?branch=master)
[](https://scrutinizer-ci.com/g/ricardofiorani/php-video-url-parser/?branch=master)
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
```bash
$ composer require ricardofiorani/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
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();
```
## Registering your own service video (it's easy !)
If you want to register an implementation of some service your class just needs to implement the "RicardoFiorani\Adapter\VideoAdapterInterface" or extend the RicardoFiorani\Adapter\AbstractServiceAdapter
A Fully functional example can be found [Here](https://github.com/ricardofiorani/php-video-url-parser/tree/master/documentation/RegisteringANewService.md).
PS: If you've made your awesome implementation of some well known service, feel free to send a Pull Request. All contributions are welcome :)
## Using your own framework's template engine
A Fully functional example can be found [Here](https://github.com/ricardofiorani/php-video-url-parser/tree/master/documentation/IntegratingYourOwnRenderer.md).
## 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
* PHP 7.2
> Please note that lib is not passing tests on HHVM, therefore, we can't guarantee it will work properly. Please use it on your own risk.