nondanee / vsc-netease-music

UNOFFICIAL Netease Music extension for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=nondanee.vsc-netease-music
MIT License
1.02k stars 80 forks source link

vscode 1.43.0 Mac版本替换ffmpeg之后闪退 #86

Open laofangxose opened 4 years ago

laofangxose commented 4 years ago

感谢作者的付出! 环境:macOS Mojave 10.14.6 升级到vscode 1.43.0 + electron 7.1.7版本,利用自动脚本替换ffmpeg之后,会导致整个vscode卡死并闪退 之前的Vscode 1.42.1 + electron 6.1.6版本一切正常

nondanee commented 4 years ago

不好意思比较忙 我试了下 1.43.1 版本没问题,脚本替换的,你试试看

可能是网络原因,下载或替换的文件有问题 要是真的由于 vscode electron 版本有对应 dll 的限制导致闪退了我也没辙啊 (只能放弃) ==

laofangxose commented 4 years ago

感谢! 升级到1.43.1还是不行,大概不是插件的问题。我还是先用老版本吧。 最新测试条件: Version: 1.43.1 Commit: fe22a9645b44368865c0ba92e2fb881ff1afce94 Date: 2020-03-18T07:01:41.240Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Darwin x64 18.7.0

nondanee commented 4 years ago

我看了下同事的错误信息是签名验证失败

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x000000010f4b6000
Exception Note:        EXC_CORPSE_NOTIFY
......
Application Specific Information:
dyld: launch, loading dependent libraries
@rpath/libffmpeg.dylib  Thread 0 Crashed: 
......

有几种可能

可以看下 https://www.cnblogs.com/csuftzzk/p/macos_code_signature_invalid.html

nondanee commented 4 years ago

搜了下可能和这个事情有关 https://www.theregister.co.uk/2020/03/10/visual_studio_code_apple_notarisation

看了签名指南发现自己签名我都测试不了 (没 developer 账号) https://github.com/electron/electron/blob/master/docs/tutorial/mac-app-store-submission-guide.md

试了下关闭 sip 可以使用

这个问题得改实现方式了,就调用本地 chrome/edge (headless) 来播放

现在应急方案就是关闭 sip 或者用老版本吧,我尽快修

nondanee commented 4 years ago

查过了是脚本替换的问题,手动替换没问题,已经修了 调用本地 chrome 的 feature 还是之后再做hhhh~~~

yliu342 commented 3 years ago

试了下自签名依然会闪退。错误信息是签名不匹配

hzfmer commented 3 years ago

我也有这个问题,用了 automatic script 之后,显示 ffmpeg 签名有问题,然后 Electron 似乎也不对,VSCode 就再也打不开了。手动下载的话,我的 electron 是在 anaconda 里面,似乎挪过去也没用。暂时先不试了,以免又得重装 VSCode。。

提一个小建议,doc里面的

https://raw.githubusercontent.com/Microsoft/vscode/%version%/.yarnrc 查看其使用的 Electron 版本,并于 https://github.com/electron/electron/releases/tag/%version% 下载对应的 Electron 完整版本进行替换

这里的 %version% 对 VSCode 来说是 1.51.0 这种,对 Electron 来说应该是 v9.3.3这种,有些人可能不清楚 version 具体指的什么(比如有没有 v),就不好手动下载了。可以给一个具体的例子说明一下。

willin commented 3 years ago

vsc crashed (vsc 1.15.2, electron 9.3.5)

nondanee commented 3 years ago

看别人分享 M1 vscode 卡顿的问题解决方法时发现签名可以去掉 https://github.com/microsoft/vscode/issues/107103#issuecomment-731664821

之前试过去掉所有签名就可以启动了,就是比较暴力。。。 今天测了下去签名的最小集应该是这样

export VSCODE_INSTALLATION="/Applications/Visual Studio Code.app"
codesign --remove-signature "$VSCODE_INSTALLATION/Contents/MacOS/Electron"
codesign --remove-signature "$VSCODE_INSTALLATION/Contents/Frameworks/Code Helper.app"
codesign --remove-signature "$VSCODE_INSTALLATION/Contents/Frameworks/Code Helper (Renderer).app"
codesign --remove-signature "$VSCODE_INSTALLATION/Contents/Frameworks/Code Helper (GPU).app"
liudonghua123 commented 1 year ago

https://stackoverflow.com/questions/48321919/show-html5-video-on-previewhtml-command-in-vscode-extension/51735036#51735036

This is possible with VS Code 1.71+. This version of VS Code now includes support for the following formats/codecs:

You should be able to include audio/video in those format just like you can on a normal webpage

For older versions of VS Code, this is not possible because VS Code uses a version of electron that does not include ffmpeg. That means that playback of many common media formats is not supported inside vscode, or inside its webviews. There are no plans to change this. (I am the developer of vscode's webview API)

You can try either finding a format that is supported (such as gifs or mjpegs for short clips) or use a library to play back the content in software.

(PS. Don't use vscode.previewHtml; use the proper webview API)

fdy696 commented 1 year ago

咋回退呀