kphoen / vex
Extract videos from any URL
Requires (Dev)
Suggests
- ext-curl: Enabling the curl extension allows you to use CurlHttpAdapter.
- guzzle/guzzle: Enabling Guzzle allows you to use the GuzzleHttpAdapter.
- kriswallsmith/buzz: Enabling Buzz allows you to use the BuzzHttpAdapter, it's the recommended HTTP layer.
- zendframework/zend-http: Enabling Zend_Http allows you to use the ZendHttpAdapter
README
Vex is a PHP library to extract a video from any URL.
Supported Services
For each video-sharing website of the following list, a Platform class can identify a supported URL and extract the video data.
Status
This project is DEPRECATED and should NOT be used.
If someone magically appears and wants to maintain this project, I'll gladly give access to this repository.
Installation
The recommended way to install Vex is through composer.
{ "require": { "kphoen/vex": "1.1.*" } }
If you don't use neither Composer nor a ClassLoader in your application, just require the provided autoloader:
require_once 'src/autoload.php';
You're done.
Usage
use Vex\Vex; $adapter = new \Vex\HttpAdapter\BuzzHttpAdapter(); $platform = \Vex\Platform\RutubePlatform($adapter); $vex = new Vex($platform); $video = $vex->extract('https://rutube.ru/video/b5a392c180ddfe3e1ebded38f9f9dc52/'); // Show the video title echo $video->getTitle(); // Shows the embedded video HTML echo $video->getCode(); // Show the video link echo $video->getLink(); // Show the video duration echo $video->getDuration(); // Show the video thumbnail echo $video->getThumb(); $url = $vex->reverse('<iframe width="640" height="360" src="http://rutube.ru/video/embed/6236741" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen scrolling="no"></iframe>'); // shows http://rutube.ru/video/9f4dc6bc2db6b6051ea07fb20234c6cc/ echo $url
Tests
To run unit tests, you'll need cURL and a set of dependencies you can install using Composer:
php composer.phar install --dev
Once installed, just launch the following command:
phpunit
Credits
- Kévin Gomez
- William Durand - for the
HttpAdapter
part, which was borrowed from Geocoder - Jérôme Tamarelle - to whom I borrowed this README
License
Vex is released under the MIT License. See the bundled LICENSE file for details.