raffaelj / cockpit-videolinkfield

为Cockpit CMS下载YouTube和Vimeo的视频缩略图

安装: 25

依赖项: 1

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 1

开放问题: 0

类型:cockpit-module

0.1.4 2020-12-14 16:32 UTC

This package is auto-updated.

Last update: 2024-09-11 18:48:44 UTC


README

此插件与Cockpit CMS v2不兼容。

另请参阅Cockpit CMS v1文档Cockpit CMS v1仓库以及Cockpit CMS v2文档Cockpit CMS v2仓库

从YouTube或Vimeo复制一个URL,点击“查找值”按钮,等待一秒钟,然后在后台开始一个服务,该服务下载视频缩略图并返回一些元数据。

无需YouTube API密钥即可运行。

安装

将此存储库复制到/addons并命名为VideoLinkField

cd path/to/cockpit
git clone https://github.com/raffaelj/cockpit_VideoLinkField.git addons/VideoLinkField

法律建议

如果您没有使用、下载或存储缩略图的权限,则不应使用此插件。

预期用途

您有自己的YouTube或Vimeo频道(或您在嵌入其他人员的视频内容之前已经请求了许可)并且您希望有一个简单的方法来构建一个具有嵌入视频的隐私友好型网站。

但是直接嵌入外部视频有多个原因是不好的

  1. 隐私 - 如果YouTube iframe在启动时加载视频,则Google会跟踪我的访问者。
  2. EUGDPR - 在我嵌入带有跟踪机制的第三方资源之前,我必须先请求我的访问者同意。
  3. 页面速度 - 如果我的访问者不想看视频,我不希望加载1-2MB的预览窗口。

想法很简单

用户有一个简单的UI来复制和粘贴视频链接,无需关注嵌入代码片段。在从Wysiwyg字段加载数据后,链接就存在了,即使用户(或搜索引擎机器人)禁用了javascript。当文档准备就绪并且访问者接受cookie使用和第三方请求时,脚本将链接转换为iframe。

功能

自定义字段

  • 有缩略图预览
  • 存储具有以下键的对象
    • url
    • text
    • title
    • id
    • provider
    • asset_id

TinyMCE插件

它没有缩略图预览,但它生成一个简单的HTML <a> 标签,其中包含我嵌入所需的所有数据。

示例输出

<a href="https://www.youtube.com/watch?v=fSdVs95Kesk" data-video-id="fSdVs95Kesk" data-video-provider="youtube" data-video-thumb="5cdf0b193338621488000156" data-video-width="480" data-video-height="360">Poledance-Show beim Kammgarnspinnereifest 2018</a>

设置

转到“设置”-->“VideoLinkField”或调用/videolinkfield/settings

现在您可以为所有缩略图定义一个存储文件夹。也可以不使用文件夹。

请确保您是管理员或设置管理此插件的权利。示例配置在/config/config.yaml

groups:
    author:
        cockpit:
            backend: true
        videolinkfield:
            manage: true    # Now authors can change the folder

对于正常使用,您不需要设置任何东西。

内部发生什么?

缩略图作为资产存储。如果标题和描述可用,它们也会存储在资产元数据中。

YouTube

  • 向以下服务器发送两个请求
    • https://img.youtube.com/vi/VIDEO_ID/0.jpg以获取缩略图
    • https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=VIDEO_ID&format=json 用于获取视频标题

Veemo

  • 向以下服务器发送两个请求
    • http://vimeo.com/api/v2/video/VIDEO_ID.json 用于获取缩略图URL、标题和描述
    • 还有一个用于下载缩略图

版权和许可

版权所有2019年Raffael Jesche,MIT许可。

更多信息请参阅 LICENSE