frandieguez/panorama-php

用于以标准方式访问视频服务信息的包装类

1.0.14 2019-12-29 19:22 UTC

This package is auto-updated.

Last update: 2024-09-15 22:47:22 UTC


README

Build Status

这是什么!

使用这个包装类,你可以以统一和独特的方式管理任何视频服务。你只需要知道你将要使用的视频服务的URL。

快速示例

要将此视频嵌入到一篇帖子中,你只需要知道视频的URL。使用Panorama-PHP API,你可以获取以下信息

    $video = new \Panorama\Video("http://www.youtube.com/watch?v=GPQnbtldFyo")
    $video.getTitle() => "paradon del portero"
    $video.getThumbnail() => "http://i4.ytimg.com/vi/GPQnbtldFyo/default.jpg"
    $video.getEmbedUrl() => "http://www.youtube.com/v/GPQnbtldFyo"
    $video.getEmbedHTML()(width, height) => "<object [...]</object>"
    $video.getFLV() => "http://...flv"
    # all together :)
    $video.getVideoDetails(width, height) => {
                                            'title' => ...,
                                            'thumbnail' => ...,
                                            'embed_url' => ...,
                                            'embed_html' => ...,
                                            'flv' => ...
                                          }

安装它!

  1. 只需将其放入你的include_path文件夹之一,并确保使用PSR-0兼容的自动加载器。

依赖

这个库仅依赖于PHP 5.6,你必须使用命名空间以及5.4版本的某些其他特性。

不要请求PHP < 5.6支持,你不应该使用它。在不久的将来,我们将将最低版本移至7.0。

使用它!

目的是让它尽可能简单。对于类似http://vimeo.com/1785993的URL视频

    $video = new \Panorama\Video("http://vimeo.com/1785993")

然后你可以在你的应用程序中知道有关视频的信息的方法。

  • getTitle: 一个获取服务中视频标题的方法。

      $video.getTitle()
      => "Beached"
    
  • getService: 一个获取视频提供商服务名称的方法。

    $video.getService()
    => "Vimeo"
    
  • getThumbnail: 视频的图像表示。每个服务的大小不同,但...它工作得很好 :)

      $video.getThumbnail()
      => "http://bc1.vimeo.com/vimeo/thumbs/143104745_640.jpg"
    
  • getEmbedUrl: 视频播放器的URL(带有flashvars)。

      $video.getEmbedUrl()
      => "http://vimeo.com/moogaloop.swf?clip_id=1785993 [...] &show_portrait=1"
    
  • getEmbedHTML(width, height): 使用embed_url构建oembed字符串。默认宽度x高度为425x344,但我们可以指定不同的值。

      $video.getEmbedHTML(400, 300)
      => "<object width='400' height='300'><param name='mo [...] 300'></embed></object>"
    
  • getFLV: 获取flv URL。并非所有服务都有此选项。请记住,在某些服务中,flv URL会过期,且在其条款中不允许在没有其播放器的情况下使用flv。

      $video.getFLV
      => "http://www.vimeo.com/moogaloop/play/clip:1785993/ [...] 8ee400/video.flv"
    
  • getVideoDetails(width, height): 一起,返回所有前面的元素到一个哈希表中。宽度和高宽可以指定以构建embed_html。

      $video.getVideoDetails()
      => "array( [...] )"
    

支持的服务

目前我们支持以下视频服务

损坏的服务

这些服务被包含在这个API中,但由于其网站的变化,现在不再工作。任何修复它们的补丁都受欢迎。 ;)

如果你在运行测试时发现新的损坏服务,请让我知道。

我们始终愿意包含新的服务。

测试它!

帮助我们保持这个库更新。使用behat运行我们的行为测试,给我们反馈哪些服务不再工作。

为了运行测试

  1. 在你的系统中安装composer https://composer.php.ac.cn/doc/00-intro.md
  2. 安装依赖项:composer install
  3. 执行测试:bin/behat features

构建状态

还有...什么呢?

如果你发现错误或想要建议一个新的视频服务,请通过问题跟踪告诉我们。

谢谢!!