通过浏览器在 VLC Player 上打开视频流

Posted

技术标签:

【中文标题】通过浏览器在 VLC Player 上打开视频流【英文标题】:Open video stream on VLC Player through the browser 【发布时间】:2011-12-29 14:37:32 【问题描述】:

是否可以在网页上添加一种链接以打开 VLC Player 并开始播放流视频?喜欢这个:

或者,是否可以在浏览器中嵌入 VLC Player?

【问题讨论】:

【参考方案1】:

更新:2018-09-25此回复大部分仅适用于旧版浏览器,因此更新了某些部分。

在旧版浏览器上可以,但需要客户端浏览器 插件取决于您的浏览器和操作系统版本,请参阅: https://web.archive.org/web/20150212035837/http://www.videolan.org/doc/play-howto/en/ch04.html

下面是一段摘录,展示了如何嵌入和后备以下载或点击流式传输:

<object type="application/x-vlc-plugin" data="http://server.example.com/video1.mpeg"   id="video1">
     <param name="movie" value="http://server.example.com/video1.mpeg"/>
     <embed type="application/x-vlc-plugin" name="video1"
     autoplay="no" loop="no"  
     target="http://server.example.com/video1.mpeg" />
     <a href="http://server.example.com/video1.mpeg">Download Video1</a>
</object>

VLC 播放器插件公开了一个有用的 javascript API,可以通过名称或 ID 访问:

<a href="javascript:;" onclick='document.video1.play()'>Play video1</a>
<a href="javascript:;" onclick='document.getElementById('video1').pause()'>Pause video1</a>
<a href="javascript:;" onclick='document.video1.stop()'>Stop video1</a>
<a href="javascript:;" onclick='document.video1.fullscreen()'>Fullscreen</a>

MIME 类型 application/x-vlc-plugin 用于激活 VLC 插件(如果可用)。您应该提供某种形式的后备,例如常规链接。

至于链接到 VLC 支持的协议,这将取决于用户的设备和/或操作系统设置,特别是他们选择哪个应用程序作为给定协议的默认媒体播放器。但一个例子可能是:

http://www.example.com/your_file.mpg

或:

rtsp://www.example.com/your_file.3gp

您可以包含有关如何将 VLC 设置为默认播放器的“帮助”说明,或者,您需要在客户端安装一些您自己的软件,以确保 VLC 是被打开的应用程序,不是别的东西。 VLC 可以通过命令行轻松运行(在该 VLC 第 4 章链接的页面顶部指定)。

请注意,随着 HTML5 支持越来越普遍,您 可能要考虑使用 HTML5

更新:2018-09-25 上述通知现在比以往任何时候都更重要。坚持 HTML5 和开放标准。除非 VLC 团队通过开发与 WebExtensions 标准兼容的版本来使插件起死回生,否则上述内容将不再适用。对于个人用途,如果您使用本地网络专门为自己的视频流构建了一些东西,您仍然可以在本地网络上使用旧浏览器,但不建议您以这种方式为普通网络用户/访问者构建任何东西。

【讨论】:

插件不再可用 是的,对于大多数通过 Chrome、FF、Edge、Safari 接收自动更新的互联网用户来说,这条评论现在已经过时了......按照答案末尾的建议坚持 HTML5 和开放格式. 感谢您的回复!也许您对我刚刚发布的相关问题有所了解? ***.com/questions/52473966/…【参考方案2】:

我已经构建了一些程序来在 Windows、Mac 和 Linux 中打开 vlc:// 链接。见https://github.com/stefansundin/vlc-protocol

您基本上需要在协议和 VLC 之间使用一个程序来删除“vlc://”,因为 VLC 不知道这些链接,并且它需要在尝试打开 URL 之前删除此前缀。

【讨论】:

好东西,应该更上一层楼:)【参考方案3】:

ios 中,您可以使用回调 URL 从网页打开 vlc:

vlc-x-callback://x-callback-url/ACTION?url=...&PARAMETER=...

在此处查看更多信息:https://wiki.videolan.org/Documentation:IOS/#x-callback-url。

android 上的 Chrome 中,您可以使用 Intent 来实现:

https://developer.chrome.com/multidevice/android/intents

这里是从链接打开条形码阅读器的示例:

href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"

【讨论】:

我似乎无法理解适用于 Android 的意图。例如,这只会打开 VLC 的 Play 商店页面:intent://vlclauncher/#Intent;package=org.videolan.vlc;scheme=org.videolan.vlc;end;【参考方案4】:

您可以打开流媒体站点,查看页面来源并找到视频的 URL(有时您必须播放视频才能看到 URL)。然后将此链接复制并粘贴到“打开网络流...” (Ctrl+N) 上即可。

我编写了一个小脚本,可以自动执行此过程,在流媒体站点中查找 URL,然后使用自定义协议使用 VLC 打开它。这是一个非常简单的 JS 脚本,可以在页面中找到视频 URL 并重定向到 vlcs:URL;自定义协议打开另一个脚本,从字符串中删除 vlcs: 并将生成的 URL 发送到 VLC。所有这一切只需打开流媒体网站。

它适用于一些流媒体网站,但我将与其他网站一起升级脚本。随意阅读代码并添加您最喜欢的流媒体网站或发送新网站的拉取请求。

这里是说明链接:https://github.com/giuseppe-dandrea/Stream-to-VLC

希望对你有帮助!

【讨论】:

您的链接可能包含有用的信息,但您应该在此处提供适当的问题描述,然后如果您愿意,可以将链接作为参考。 好的,我发布了一个更完整的答案,希望它现在有用

以上是关于通过浏览器在 VLC Player 上打开视频流的主要内容,如果未能解决你的问题,请参考以下文章

[ 请教]VLC Media Player 怎么用啊

Debian11安装VLC Media Player视频播放器

种开源的跨平台视频开发框架:VideoLAN-VLC media player

2018-05-20 安卓使用vlc播放本地视频

JavaSwing_基于VLC media player内核制作一个简单的视频播放器

开源软件vlc media player 暗藏一个游戏功能