starcitizenwiki / embedvideo
添加了解析器功能,可以从流行的来源嵌入视频。
Requires
- php: >=8.0.0
- composer/installers: >=1.0.1
Requires (Dev)
README
扩展嵌入视频
嵌入视频扩展是一个MediaWiki扩展,它添加了一个名为#ev
的解析器功能以及各种解析器标签,如<youtube>
,用于从各种视频分享服务中嵌入视频剪辑。
它还添加了视频和音频媒体处理器,以支持将标准的[[File:Example.mp4]]
文件链接转换为嵌入的HTML5 <video>
和<audio>
标签。
这个增强隐私的分支添加了一个可切换的设置,只有在使用户通过点击视频明确同意后才会加载外部内容。
请注意,缩略图仍然从相应的服务获取,这导致连接到外部URL。可以通过将$wgEmbedVideoFetchExternalThumbnails
设置为false
来禁用此行为。
可以在问题跟踪器中创建问题、错误报告和功能请求
https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo/issues
原始MediaWiki扩展页面位于
https://www.mediawiki.org/wiki/Extension:EmbedVideo
历史
代码库的大部分内容来自扩展:嵌入视频v2.9.0。
许可证
嵌入视频在MIT许可证下发布
https://open-source.org.cn/licenses/mit-license.php
有关更多信息,请参阅LICENSE
安装
下载
有三个地方可以下载EmbedVideo扩展。第一个是直接从其GitHub项目页面,那里正在进行活跃的开发。如果您有git,您可以使用以下咒语来检查出扩展源代码的只读副本
git clone https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo.git
GitHub项目页面还将提供编号发布版本的可下载存档包。
安装说明
- 下载上述内容的扩展。
- 在您的MediaWiki安装的extensions/文件夹中创建一个EmbedVideo文件夹。
- 将此分发的所有内容复制到该文件夹
- 安装FFmpeg(当使用本地视频处理器时,默认启用)
将以下行添加到您的LocalSettings.php中
wfLoadExtension("EmbedVideo");
用法
媒体处理器
对于本地上传的内容,在页面上显示它的过程与图像相同。有关此功能的完整参考,请参阅MediaWiki.org上的图像语法文档。
此示例将使用HTML5 <video>
标签在页面上显示视频。
[[File:Example.mp4]]
在媒体中使用起始和结束时间戳时,请使用起始和结束参数。时间戳可以格式化为以下之一:ss、:ss、mm:ss、hh:mm:ss或dd:hh:mm:ss。
[[File:Example.mp4|start=2|end=6]]
此外,可以通过指定一个cover=
键为视频文件设置封面图像。
[[File:Example.mp4|start=2|end=6|poster=File:LocalFile.png]]
示例
可用选项
当使用本地文件的媒体处理器时,以下选项可用。
选项以|poster=File:...
或|start=2
等形式添加到wikitext中。
- loop
- 循环音频/视频
- autoplay
- 自动播放文件
- nocontrols
- 禁用控制元素
仅适用于视频文件的选项
- poster / cover
- 将本地图像文件设置为视频的封面
- muted
- 静音视频的音频轨道(对于自动播放是必需的)
- gif
- 设置自动播放、静音、循环和无控件的特殊选项,例如使视频像gif一样运行
当 $wgEmbedVideoUseEmbedStyleForLocalVideos
启用时,将提供两个附加选项
- 标题
- 视频标题
- 描述
- 显示在视频下方的内容
标签
EmbedVideo 解析函数期望以以下任何一种方式调用
#ev - 经典解析标签
{{#ev:service|id}}
{{#ev:service|id|dimensions}}
{{#ev:service|id|dimensions|alignment}}
{{#ev:service|id|dimensions|alignment|description}}
{{#ev:service|id|dimensions|alignment|description|container}}
{{#ev:service|id|dimensions|alignment|description|container|urlargs}}
但是,如果需要,可以通过在管道之间不放入任何内容来留空可选参数
{{#ev:service|id|||description}}
或者,每个参数都可以以任何顺序作为命名参数使用。以下参数可用
id
尺寸
对齐
描述
容器
urlArgs
自动调整大小
- 设置
|autoresize=true
以使嵌入自动使用父元素的可用宽度
- 设置
垂直对齐
宽度
高度
poster
/cover
- 如果
$wgEmbedVideoRequireConsent
设置为 true,则此选项有效
- 如果
标题
- 如果
$wgEmbedVideoRequireConsent
设置为 true,则此选项有效
- 如果
请注意 混合命名和无命名参数将需要您按照之前提到的顺序添加所有无命名参数(和空格)。
例如,使用命名的 id 和无命名的描述 {{#ev:service||||This is the Description|id=abc}}
/ {{#ev:service|id=abc|||This is the Description}}
#evu - 嵌入视频 URL
该 {{#evu}}
解析函数尝试从 URL 的主机名中提取服务。
它接受与 {{#ev}}
相同的参数。
#evl - 嵌入视频链接
在版本 3.4.0 中添加了对 {{#evl}} / {{#vlink}}
和 <evlplayer> / <vplayer>
的支持。
链接解析函数接受以下参数
id
- 视频IDtext
- 链接文本player
- 如果页面上存在多个<evlplayer>
,则为其指定的 IDservice
- 嵌入服务的名称,默认为 YouTube
命名参数可以以任何顺序传递,无命名参数必须按照上述顺序传递。
<evlplayer> / <vplayer>
此播放器用于播放由 {{#evl}}
链接定义的视频。
请注意,此实现与 EmbedVideo v2.x 在以下方面有所不同
- 不支持
默认内容
,即标签内的文本 - 应定义默认视频 ID,否则播放器将显示一个空的嵌入
- 在旧实现中,没有显示任何内容
- 无法设置
style
属性 - 不支持视频列表
示例
<evlplayer w="width" h="height" class="class" id="example-player" defaultid="pSsYTj9kCHE"></evlplayer>` {{#evl:21X5lGlDOfg|NASA Live|player=example-player}}` {{#evl:6ZFbXIJkuI1dVNWvzJzown|text=Spotify Track|service=spotifytrack|player=example-player}}
显示视频 pSsYTj9kCHE
的 YouTube 嵌入以及两个视频链接,一个用于另一个 YouTube 视频(NASA Live)和一个 Spotify 轨道。
示例
SharePoint
有关 SharePoint 嵌入的更多信息,请参阅 问题 #60。
YouTube 示例
YouTube 示例 #1
例如,YouTube 上的视频使用 'youtube' 服务选择器,输入原始 ID
{{#ev:youtube|pSsYTj9kCHE}}
或完整 URL
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE}}
YouTube 示例 #2
显示同一视频作为右对齐的大缩略图并带有描述
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|1000|right|Example description|frame}}
YouTube 示例 #3
为 YouTube 创建视频列表。这允许您将一系列视频排队到一个临时播放列表中。使用 youtubevideolist
服务选择器
{{#ev:youtubevideolist|-D--GWwca0g|||||playlist=afpRzcAAZVM,gMEHZPZTAVc,lom_plwy9iA,BSWYMQEQhEo,EREaWhXj4_Q}}
YouTube 示例 #4
使用服务名称作为解析标签
<youtube>https://www.youtube.com/watch?v=eAORm-8b1Eg</youtube>
YouTube 示例 #5
使用本地文件作为嵌入缩略图
{{#ev:youtube|pSsYTj9kCHE|poster=File:LocalFile.jpg}}
YouTube 示例 #6
使用本地文件作为嵌入缩略图并指定标题
{{#ev:youtube|pSsYTj9kCHE|poster=File:LocalFile.jpg|title=Title of the Embed}}
YouTube 示例 #7
使用命名参数
{{#ev:youtube|id=pSsYTj9kCHE|dimensions=320x320}}
YouTube 示例 #8
为了让YouTube视频从特定时间码开始播放,请使用urlargs(URL参数)参数。将自定义URL中的其余URL参数放入urlargs中。
请注意,并非所有视频服务都支持额外的URL参数,或者它们的URL参数可能使用不同的键。
https://www.youtube.com/watch?v=pSsYTj9kCHE&start=76
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||start=76}}
或
{{#ev:youtube|pSsYTj9kCHE|||||start=32}}
或
{{#ev:youtube|id=pSsYTj9kCHE|urlArgs=start=32}}
或
{{#ev:youtube|id=pSsYTj9kCHE|urlArgs=start=32&end=42}}
支持的服务
截至3.x版本,EmbedVideo支持从以下服务嵌入视频内容
新服务
可以通过以下链接或点击新建问题
来请求新服务。
配置设置
致谢
EmbedVideo的原始版本由Jim R. Wilson编写。后续的主要升级由Andrew Whitworth、Alexia E. Smith和其他贡献者完成。
有关详细信息,请参阅致谢