Javascript 无法从JS传递VLC Mozilla插件的选项
我试图为VLC Mozilla插件的嵌入式播放器传递一些选项,但什么也没发生Javascript 无法从JS传递VLC Mozilla插件的选项,javascript,firefox,vlc,Javascript,Firefox,Vlc,我试图为VLC Mozilla插件的嵌入式播放器传递一些选项,但什么也没发生 <embed type="application/x-vlc-plugin" id="vlc" width="400" height="300" ></embed> <script type="text/javascript"> var target = "http://example.com/videostream/"; var optio
<embed
type="application/x-vlc-plugin"
id="vlc"
width="400" height="300"
></embed>
<script type="text/javascript">
var target = "http://example.com/videostream/";
var options = new Array("--video-filter invert");
vlc = document.getElementById("vlc");
var id = vlc.playlist.add(target,"Not Inverted Here",options);
vlc.playlist.playItem(id);
</script>
不管怎样,我尝试了各种独立VLC播放器的命令行选项,例如旋转、深褐色、灰度、模糊,但我失败了。也许我必须为VLC启用或选择一些东西
真正的问题是,我想通过将-demux=h264传递给嵌入式播放器来修复视频流格式错误。它与从命令行启动的桌面VLC播放器一起工作,但首先我想将任何选项传递给嵌入式播放器,以确保它工作
vlc http://example.com/videostream/ --video-filter invert
我正在使用Ubuntu 15.04、Firefox 40.0和VLC Web Plugin 2.2.0 Weatherwax。为了设置添加到播放列表的选项,您应该使用如下语法:
var options = new Array(":video-filter=invert");
但是,此选项被认为是不安全的,您将在前台运行firefox时获得以下输出:
[00007f801e0fceb8]核心输入错误:不安全选项视频过滤器已损坏
由于安全原因被忽略
为了设置此选项,您需要修改libvlc或vlcweb插件中的代码
我试图将播放列表的视频过滤器选项作为一个受信任的选项处理,但没有成功。我认为它需要修改libvlc本身
我验证的一种方法是在npapi vlc中将视频过滤器选项设置为可信
为此,您可以这样处理:
修改处理新选项
构建并安装修改后的npapi vlc插件
修改html以设置此新选项:
<embed type="application/x-vlc-plugin" id="vlc" width="400" height="300"
extra="--video-filter=invert" />
像这样,我想,您可以设置命令行的任何选项,删除安全选项检查。如果您想强制选择解复用器,这比设置过滤器更容易 在vlc的帮助下: 流MRL语法: [[access][/demux]://]URL[[title][:chapter][-[title][:chapter]]][:option=value…] 然后,您应该能够使用以下方法设置h264解复用器:
<script type="text/javascript">
var target = "http/h264://example.com/videostream/";
vlc = document.getElementById("vlc");
var id = vlc.playlist.add(target);
vlc.playlist.playItem(id);
</script>
这个URL协议前缀看起来非常愚蠢,但可以工作。
<script type="text/javascript">
var target = "http/h264://example.com/videostream/";
vlc = document.getElementById("vlc");
var id = vlc.playlist.add(target);
vlc.playlist.playItem(id);
</script>