嵌入 Youtube 视频不适用于 Node-webkit

Embedding Youtube videos not working with Node-webkit

我的 nw.js 应用程序中嵌入了 YouTube 视频。正确视频的预览显示正确,但是当我点击播放它时,我遇到了以下错误:

An error occurred, please try again later

应用程序中的所有视频都会出现此错误,除了一个出现此令人费解的错误:

The following video contains content from the International Basketball Federation

当我点击这些视频时,我可以在错误出现之前看到视频的第一瞬间。

我尝试了 enabling/disabling 清单中的 webkit 插件:

  "webkit": {
    "plugin": true
    }

我尝试按照 this post 中的建议使用 Javascript 播放器 API。但是我仍然遇到同样的错误。

如何让这些视频正常播放?

这是显示视频的 HTML(我正在使用 angularJS 并且视频处于模态 window):

<script type="text/ng-template" id="myModalContent.html">
        <object width="100%" height="600px" data={{video}}> 
        </object>

</script>

我也尝试使用 Javascript 播放器 API 复制 this example,甚至尝试使用与示例相同的视频,但我仍然遇到相同的错误。

非常感谢您抽出宝贵时间。如果您需要我提供任何其他信息或者我不清楚,请告诉我。

您需要 plugins 目录中的 flash 插件与 package.json NPSWF32_13_0_0_214.dllNPSWF32_14_0_0_125.dll 处于同一根级别。这与上面的将启用 Flash。

好的,所以问题是 ffmpegsumo.dll。起初我尝试用 chrome 39 和 42 中的 dll 替换它,但这并没有解决我的问题。用 Chrome 38.0.2125.122 中的 ffmpegsumo.dll 替换文件后,我的问题得到解决,视频按预期播放。

Chrome 38.0.2125.122 ffmpegsumo.dll 32 bit

Chrome 38.0.2125.122 ffmpegsumo.dll 64 bit

使用 Yeoman Node Webkit 生成器 (https://github.com/Dica-Developer/generator-node-webkit/wiki/Getting-Started) 在 Linux 64 位中遇到了同样的问题

刚刚通过添加 so 库修复了它:

$ cp nwjs/nwjs-v0.12.0-linux-x64/libffmpegsumo.so  dist/Linux64_v0.12.0/