copadia / php-video-url-parser

一个简单高效的PHP视频URL解析器,为YouTube、Vimeo、Dailymotion和Facebook等不同服务提供缩略图和嵌入代码

v1.0.3 2019-09-12 13:51 UTC

README

PHP视频URL解析器是一个解析器,可以检测给定的视频URL,并返回一个包含视频嵌入代码、标题、描述、缩略图以及其他服务API可能提供的信息的对象。

安装

使用以下命令安装最新版本:

$ composer require copadia/php-video-url-parser

要求

  • PHP 5.3
  • cURL(如果您想使用Vimeo,至少需要启用file_get_contents(),否则不是必需的)

基本用法

<?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();

目前支持的服务

  • YouTube
  • Vimeo
  • Dailymotion
  • Facebook视频

目前支持的PHP版本

  • PHP 5.3
  • PHP 5.4
  • PHP 5.5
  • PHP 5.6
  • PHP 7.0
  • PHP 7.1