扩展:嵌入式视频
此扩展目前不再活跃维护! 尽管它可能仍然工作,但任何错误报告或功能请求将很可能被忽略。 |
![]() 发行状态: 不再維護 |
|
---|---|
![]() |
|
实现 | 解析器函数 |
描述 | 添加一个名为 #ev 的分析器函数,用于嵌入来自流行视频共享服务的视频剪辑 |
作者 |
|
最新版本 | 3.4.0 (2020-10-14) |
MediaWiki | 1.29+ |
PHP | 7.0+ |
Composer | starcitizenwiki/embedvideo |
许可协议 | MIT授權條款 |
下載 | |
示例 | Gamepedia Help Wiki |
|
|
正在使用的公开wiki数 | 7,623 (Ranked 21st) |
翻译EmbedVideo扩展 | |
Vagrant角色 | embedvideo |
EmbedVideo 扩展添加了一个名为 #ev
的解析器函数,用于嵌入来自多种语言和国家/地区的超过 24 种流行视频共享服务的视频剪辑。
它还添加了视频和音频媒体处理程序,以支持将标准的 [[File:Example.mp4]] 文件链接转换为嵌入式 HTML5 <video>
和 <audio>
标记。
- 项目首页
- GitLab上的文档
- 源代码
- 在GitLab上的源代码
- 程序错误
- GitLab 的问题
- 许可协议
- EmbedVideo在The MIT License下发布。
用法
媒体处理程序
对于本地上传的内容,将其显示在页面上的过程与图像相同。 See the image syntax documentation for complete reference on this feature.
This example would display a video in page using a HTML5 <video>
tag.
[[File:Example.mp4]]
To specify the start and end timestamps in the media use the start and end parameters. The timestamp can be formatted as one of: ss, :ss, mm:ss, hh:mm:ss, or dd:hh:mm:ss.
[[File:Example.mp4|start=2|end=6]]
标签
The EmbedVideo parser function expects to be called in any of the following ways:
<span id="#ev
_—_Classic_parser_tag">
#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|dimensions|alignment|description|container|urlargs|autoresize}}
{{#ev:service|id|dimensions|alignment|description|container|urlargs|autoresize|valignment}}
However, if needed optional arguments may be left blank by not putting anything between the pipes:
{{#ev:service|id|||description}}
<span id="#evt
_—_Parser_tag_for_templates">
#evt
— 模板的解析器标签
The #evt
parser tag allows for key=value pairs which allows for easier templating and readability.
{{#evt: service=youtube |id=https://www.youtube.com/watch?v=eAORm-8b1Eg |alignment=right }}
<span id="#evu
_—_Parser_tag_for_URLs">
#evu
— URL 的解析器标记
The #evu
parser tag is like the #evt
tag, but its first parameter is a URL that will be parsed to determine the service automatically.
{{#evu:https://www.youtube.com/watch?v=eAORm-8b1Eg |alignment=right }}
<span id="<embedvideo>
_—_Tag_hook">
<embedvideo>
— 标签钩子
视频可以用<embedvideo>...</embedvideo>
的标签钩子轻松嵌入。
ID/URL作为标记之间的输入,参数可以作为标记参数添加。
<embedvideo service="youtube">https://www.youtube.com/watch?v=eAORm-8b1Eg</embedvideo>
或者,您也可以使用服务id作为标记(假设另一个扩展尚未使用此标记)。
<youtube>https://www.youtube.com/watch?v=eAORm-8b1Eg</youtube>
解析器标记的属性
属性 | 描述 | 必需? | 默认 |
---|---|---|---|
service="(请参阅下面的支持服务。)"
|
要呼叫的视频服务。 | Required | |
id="[id|url]"
|
播放器页面中的视频或网址的原始 ID。 | Required | |
dimensions="[WIDTH|WIDTHxHEIGHT|xHEIGHT]"
|
用于调整嵌入容器大小的尺寸(以像素为单位)。 标准格式是宽度 x 高度,其中任何一个都可以省略,但 x 必须继续高度以将其指示为高度。
示例: Some services such as Gfycat do not have standard heights and should be specified for each embed.
|
Optional | 640
|
alignment="[left|center|right|inline]"
|
将视频的位置向左、居中或向右对齐。 内联将允许多个视频并排显示,而无需强制换行。 | Optional | 无 |
description="[wikitext]"
|
在嵌入容器下显示说明。 对于换行符,请使用 (请参阅 https://www.w3.org/TR/REC-xml/#AVNormalize)
|
Optional | 无 |
container="[frame]"
|
指定要用于嵌入的容器类型。
|
Optional | 无 |
urlargs="modestbranding=1&version=3"
|
允许将额外的 URL 参数追加到生成的嵌入 URL。 这对于仅在一个服务上支持的模糊选项很有用。 | Optional | 无 |
autoresize="false"
|
当视频的大小会导致视频超出其容器元素时,自动调整视频大小。 | Optional | true
|
valignment="[top|middle|bottom|baseline]"
|
将视频的垂直位置与父元素的顶部、中间、底部或基线对齐。 使用此参数强制对齐参数为内联。 | Optional | 无 |
示例
例如,来自 YouTube 的视频使用 youtube
服务选择器。
您可以指定原始 ID:
{{#ev:youtube|eAORm-8b1Eg}}
或者指定完整的网址:
{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg}}
要将同一视频显示为右对齐的大缩略图,并附有说明,请执行以下操作:
{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg|1000|right|Let eet GO|frame}}
要让视频在特定时间代码开始,请使用 urlargs
(网址参数)参数。
从自定义 URL 中获取其余的 URL 参数,并将它们放入 urlargs
中。
请注意,并非所有视频服务都支持额外的网址参数,或者其网址参数可能有不同的键。
https://www.youtube.com/watch?v=eAORm-8b1Eg&start=76
{{#ev:youtube|https://www.youtube.com/watch?v=pSsYTj9kCHE|||||start=76}}
URL 参数可用于剪切视频并循环播放:
https://www.youtube.com/watch?v=eAORm-8b1Eg&start=160&end=180&loop=1
{{#ev:youtube|https://www.youtube.com/watch?v=eAORm-8b1Eg|||||start=160&end=180&loop=1}}
视频标签的支持
自版本 2.5 起,添加了对未维护的视频标签扩展程序标签的支持。
从原始扩展文档中:
视频链接扩展允许在文章中嵌入YouTube视频;允许在单个嵌入式视频播放器中播放多个链接的视频,当用户单击视频链接时首次显示。
<vplayer />
指定播放器应在页面中出现的位置,{{#vlink}} 解析器函数允许创建加载特定视频的链接。
<span id="<evlplayer>
_—_Tag_hook_for_video_container">
<evlplayer>
— 视频容器的标签钩子
<vplayer>
标记。此 <evlplayer>
标记用于在页面中定位视频播放器容器。
<evlplayer id="player id" w="width" h="height" class="class" style="style">默认路径</evlplayer>
默认情况下,可以将默认视频设置为填充容器,而不是默认路径。
<evlplayer id="player1" w="480" h="360" service="youtube" defaultid="eAORm-8b1Eg" />
属性 | 必要的 | 默认 | 描述 |
---|---|---|---|
id
|
Optional | default | 此容器的可选唯一标识符。 |
w
|
Optional | 800 | 生成嵌入式播放器时要发送到该播放器的宽度。 |
h
|
Optional | 从宽度实现 16:9 | Height to send to the embedded player when it's generated. |
class
|
Optional | Additional CSS class to add to the container <div> .
| |
style
|
Optional | Additional in-line CSS to apply to the container <div> .
| |
defaultid
|
Optional | Video ID of default video, if you want a default video. | |
service
|
Optional | Service of default video, if you want a default video. |
An important caveat to make note of, is that the w
and h
attributes only effect the video that is being included into the container <div>
, and not the actual container.
For styling of the container, please use the class
or style
attributes.
#evl
— Parser function for video links
{{#vlink}}
parser function is also acceptable here for backwards compatibility.{{#evl:<视频ID>|<链接文本>|<要播放的视频>|service=youtube|player=<player id>}}
In addition to all of the attributes supported by the #evt
tag, these specific attributes apply to the #evl
(and #vlink
) tags.
To maintain backwards compatibility, if you do not define a service
then youtube
is assumed.
属性 | 必要的 | 默认 | 描述 |
---|---|---|---|
视频ID | Required | 无 | The ID of the video you would like to play or a comma separated list of videos to play. Please note that the use of multiple video IDs separated by a semicolon is now deprecated. |
链接文字 | Required | 无 | 要在链接内显示的文本。 |
要播放的视频 | Optional | 无 | The number that represents the video to play from video ID if it is a comma separated list of IDs. |
player id | Optional | default
|
用于加载视频的播放器容器。 Note that the ID default will only exist if you’ve defined a player with no ID.
|
initial video | 已弃用 | 在原始视频链接中,这将定义在定义多个视频时首先播放的视频。 Please see notes about in video id and start. | |
开始 | 已弃用 | 0:00 | In the original VideoLink, this defined the start time of a video. Since we support multiple video services, this feature can now be replicated with the urlargs parameter. For backwards compatibility, this attribute will be respect on videos with the service youtube .
|
视频链接示例
Creating a video list allows video links to create a playlist on the fly using the youtube and youtubevideolist service.
<evlplayer w="width" h="height" class="class" style="style" id="example-player">默认路径</evlplayer>
{{#evl:21X5lGlDOfg|NASA Live|1|player=example-player}}
{{#evl:lEyCq2KRZik|IIS Q&A|2|player=example-player}}
{{#evl:OLeWbRdW6rY|Space Station Tour|3|player=example-player}}
支持的服务
从版本 2.x 开始,EmbedVideo 支持从以下服务嵌入视频内容:
站点 | 服务名称 | ID example | 网址示例 | 备注 |
---|---|---|---|---|
Archive.org 视频 | archiveorg
|
electricsheep-flock-244-80000-6 | https://archive.org/embed/electricsheep-flock-244-80000-6 | |
Bambuser | bambuser
|
5262334 | http://bambuser.com/v/5262334 | 广播 |
bambuser_channel
|
频道 | |||
Beam | beam
|
RocketBear | https://beam.pro/RocketBear | 流 |
Bing | bing
|
31ncp9r7l | http://www.bing.com/videos/watch/video/adorable-cats-attempt-to-eat-invisible-tuna/31ncp9r7l | |
Blip.tv | blip
|
http://blip.tv/vinylrewind/review-6864612 | Blip 需要视频页面的完整 URL,并且不接受原始 ID。 | |
C3TV | mediacccde
|
32c3-7305-quantum_cryptography | https://media.ccc.de/v/32c3-7305-quantum_cryptography | |
CollegeHumor | collegehumor
|
6875289 | http://www.collegehumor.com/video/6875289/batman-says-his-goodbyes | |
Dailymotion | dailymotion
|
x1adiiw_archer-waking-up-as-h-jon-benjamin_shortfilms | http://www.dailymotion.com/video/x1adiiw_archer-waking-up-as-h-jon-benjamin_shortfilms | |
Daum TVPot | tvpot — Obtain the URL or ID from the share menu URL.
|
s9011HdLzYwpLwBodQzCHRB | http://tvpot.daum.net/v/s9011HdLzYwpLwBodQzCHRB | |
Div Share | divshare
|
|||
Edutopia | Edutopia content moved to YouTube. Please use the YouTube service selector below. | |||
FunnyOrDie | funnyordie
|
c61fb67ac9 | http://www.funnyordie.com/videos/c61fb67ac9/to-catch-a-predator-elastic-heart-edition | |
Gfycat | gfycat
|
BruisedSilentAntarcticfurseal | http://www.gfycat.com/BruisedSilentAntarcticfurseal | |
Hitbox | hitbox
|
Washuu | http://www.hitbox.tv/Washuu | |
JW Player | jwplayer
|
cr5d8nbu-8ZpoNmmJ | https://content.jwplatform.com/players/cr5d8nbu-8ZpoNmmJ.html | |
Kickstarter | kickstarter
|
elanlee/exploding-kittens | https://www.kickstarter.com/projects/elanlee/exploding-kittens | |
Metacafe | metacafe
|
11404579 | http://www.metacafe.com/watch/11404579/lan_party_far_cry_4/ | |
Nico Nico Video | nico
|
sm24394325 | http://www.nicovideo.jp/watch/sm24394325 | |
RuTube | rutube
|
b698163ccb67498db74d50cb0f22e556 | http://rutube.ru/video/b698163ccb67498db74d50cb0f22e556/ | |
SoundCloud | soundcloud
|
https://soundcloud.com/skrillex/skrillex-rick-ross-purple-lamborghini | SoundCloud需要完整的URL。 | |
TeacherTube | teachertube
|
370511 | http://www.teachertube.com/video/thats-a-noun-sing-along-hd-version-370511 | |
TED Talks | ted
|
bruce_aylward_humanity_vs_ebola_the_winning_strategies_in_a_terrifying_war | http://www.ted.com/talks/bruce_aylward_humanity_vs_ebola_the_winning_strategies_in_a_terrifying_war | |
Tubi TV | tubitv
|
318409 | http://tubitv.com/video/318409 | |
Tudou | tudou
|
mfQXfumwiew | http://www.tudou.com/listplay/mfQXfumwiew.html | |
Twitch | twitch
|
twitchplayspokemon | http://www.twitch.tv/twitchplayspokemon | 实况流 |
twitchvod
|
Archived Videos on Demand | |||
Videomaten | videomaten
|
|||
Vimeo | vimeo
|
105035718 | http://vimeo.com/105035718 | |
Vine | vine
|
h2B7WMtuX2t | https://vine.co/v/h2B7WMtuX2t | |
Yahoo Screen (Archived 2013-09-20 at the Wayback Machine) | yahoo
|
katy-perry-dances-sharks-2015-024409668 | https://screen.yahoo.com/videos-for-you/katy-perry-dances-sharks-2015-024409668.html | |
YouTube | youtube
|
pSsYTj9kCHE | https://www.youtube.com/watch?v=pSsYTj9kCHE | 单个视频 |
youtubeplaylist
|
https://www.youtube.com/watch?v=CW_PbErQ_c8&list=PL76E80C7F756A2047 | 播放列表 | ||
youtubevideolist
|
https://www.youtube.com/watch?v=CW_PbErQ_c8&playlist=CW_PbErQ_c8,CW_PbErQ_c8 | 视频列表 | ||
Youku | youku
|
XODc3NDgzMTY4 | http://v.youku.com/v_show/id_XODc3NDgzMTY4.html |
安裝
- 下载文件,并将其放置在您
extensions/
文件夹中的EmbedVideo
目录内。 - 将下列代码放置在您的LocalSettings.php 的底部:
wfLoadExtension( 'EmbedVideo' );
- Configure as required
- 完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。
配置
变量 | 默认值 | 类型 | 描述 |
---|---|---|---|
$wgEmbedVideoAddFileExtensions
|
true
|
布尔值 | 启用或禁用将视频/音频文件扩展名添加到允许上传的文件列表中。 |
$wgEmbedVideoEnableVideoHandler
|
true
|
布尔值 | 启用或禁用用于在文章中显示嵌入视频的视频媒体处理程序。 |
$wgEmbedVideoEnableAudioHandler
|
true
|
布尔值 | Enable or disable the audio media handlers for displaying embedded audio in articles. |
$wgEmbedVideoDefaultWidth
|
''
|
整数 | Globally override the default width of video players. When not set this uses the video service's default width which is typically 640 pixels. |
$wgEmbedVideoMinWidth
|
''
|
整数 | Minimum width of video players. Widths specified below this value will be automatically bounded to it. |
$wgEmbedVideoMaxWidth
|
''
|
整数 | 视频播放器的最大宽度。 在此值上方指定的宽度将自动绑定到该值。 |
$wgFFmpegLocation
|
'/usr/bin/ffmpeg'
|
字符串 | 设置 ffmpeg 二进制文件的位置。
|
$wgFFprobeLocation
|
'/usr/bin/ffprobe'
|
字符串 | 设置 ffprobe 二进制文件的位置。
|
版本历史
- v2.9.0
- Fix stored XSS in AudioTransformOutput and VideoTransformOutput.
- Fix autoResize on mobile.
- Fix video caption escaping the container.
- Handle multiple video sizes per page in resize.
- Move beam service to mixer.
- Add a default link title for #evl/#vlink.
- Add spotify playlist embeds.
- Add facebook video embeds.
- Fix centering of videos.
- Add Microsoft Stream service.
- Add title to iframes.
- Add API help messages for 1.33 compatibility.
- Fix static analysis issues.
- Fix Twitch embeds.
- v2.8.0
- Renamed hitbox.tv to smashcast.tv.
- Updated Nico Video embed code.
- Added support for Twitch clips.
- Fix issues with Twitch VODs.
- Removed unused $wgFFmpegLocation that was interferring with TimedMediaHandler.
- Added Polish translation.
- v2.7.4
- Added support for playlist to evlplayer
- Added support for youtube video list
- Updated Documentation for evlplayer
- Added missing dependency for evlplayer in extension.json
- v2.7.3
- Default Twitch VOD to autoplay=false by default
- Allow videos to be sized in 1:1 aspect ratios for special use cases.
- v2.7.2
- Added feature to evlplayer to allow default video content
- v2.7.1
- Fixed issue with youku videos not embedding properly on https enabled wikis.
- v2.7.0
- Added SoundCloud support
- Added ability to use service name as a parser tag (if not defined previously)
- v2.6.1
- Added new configuration options to disable adding media handlers and file extensions.
- Fixed an uninitialized array.
- Fixed undefined indexes in the AudioHandler class.
- Fixed class properties that were unintentionally declared as static.
- Fixed RTL language issues with CSS.
发行说明
使用解析器函数作为视频剪辑的注入机制(与扩展标记相对)的主要好处是解析器函数可以利用模板参数(形式为 {{{1}}}
)。
例如,假设您发现自己制作了许多缩略图大小的YouTube视频,像图像一样右对齐。 您可以创建一个名为 Template:Youtube_tn
的模板,其中可能包含以下内容:
<div class="thumb tright">
{{#ev:youtube|{{{1}}}|{{{2|100}}}}}
</div>
然后这样称呼它:
{{youtube tn|someYoutubeId}}
报告问题
There is an issue tracker set up on the GitLab project page.
贡献
欢迎错误报告、功能请求和补丁。 New contributors can be added to the GitLab project if there is sufficient interest.
参见
- Extension:EmbedVideo (fork): 嵌入式视频的分支 — 此扩展的更注重隐私的版本。 Note that only a subset of services are supported, but new services can be requested through GitHub.
网页链接
參考
此扩展在以下wiki农场/托管网站和/或软件包中提供: 這不是一份權威名單。 即使某些wiki农场/托管网站和/或软件包未在这里列出,它们也可能提供此扩展。 请检查你的wiki农场/托管网站或软件包以确认提供情况。 |