-
Notifications
You must be signed in to change notification settings - Fork 105
[Linux] Video playback broken with Electron 0.36.8+ #69
Comments
What VLC version do you use? |
Got a couple of patches (unrelated to anything important - just HLS bandwidth selection tweaks) on top of the tagged 2.2.2 release. |
Thanks, I'll look. |
checked on Windows with Electron 0.36.9 - it works fine... so it could be really linux specific... btw, why do you need 0.36.9? |
I'm after `BrowserWindow.getNativeWindowHandle`, but there are quite a few
other nice-to-haves (like the premature remote object freeing, which I'm
running into quite a lot) - generally I like to stay as current as possible
anyway, it makes reporting issues easier.
|
Does it mean it's possible now place custom windows on Electron main window? Maybe I should resurrect |
Hm...that one is new... @RSATom if a window handle is all you need, then please consider doing something with it! Do you think it's possible, if you get a window handle to a transparent Electron window, to draw a video via VLC, or even better - MPV - in it's background? |
Yes, I can, but unfortunately not in background. I.e. don't think it will be possible place any html elements over it. That's why I'm thinking about |
Something very strange happening. I can't play .avi on Linux with Electron 0.36.9.
the same file plays fine in NW.js |
And the plot thickens... With It is quite the mystery. Crash dump: https://gist.github.com/asherkin/9f805d8adfbdde5034a4 |
Hi guys, Is there any news on this issue? I'm seeing the exact same thing with Electron/WebChimera.js(specifically wcjs-player) on Linux (Debian 8.0). Any version of Electron < 0.36.8 is working fine, but newer versions do not show the video. In the console I get the error:
I would like to go to Electron v1.0.* because that fixes some other issues (non WebChimera.js related) I'm having, but this issue is preventing me from doing so. Please let me know if I can do more to troubleshoot or find more information, happy to help tracking down the problem. |
@jayke-vbh, unfortunately still can't find enough time to find solution... sorry. Will try to do something soon. |
My theory here is that the problem is caused by Electron's
Chromium is explicitly building without My next line of investigation will be attempting to create a compatible EDIT: Heh, on a whim I just deleted EDIT 2: I'm a lemon and had a copy of |
Thanks for acknowledging this is still an issue. For the moment this is preventing me to use this as a solution, while it seems well suited otherwise. Is there anyway I can help by performing tests or looking into things? I'm not very experienced with linking of libraries and stuff, but maybe I can do something. Otherwise, I would be willing to offer a bounty, if that would help prioritize this issue for you guys? |
Unfortunately no, it's require C/C++ software debugging/bugfixing skills to get it solved...
It's already number 1 issue in my priority list, I just don't have free time atm. So bounty will not help much... |
I think problem is really come from All possible solution I can imagine at the moment are pretty complex:
|
I think second option will be better solution, but unfortunately it will take pretty huge amount of time to implement it, which I don't have atm... So help wanted... |
The issue with the latest builds of electron in linux is solved? |
@MikeGCV, I didn't solve it. Maybe something was changed on Electron side, I didn't check. |
Has this changed with the current modern versions of electron? I've built this from source on my linux machine and it seems to have compiled against electron 1.2.7. Does mean that it works properly now? |
@amilajack, it builds without problem, but didn't run due to conflict with ffmpeg bundled with Electron. |
but I didn't try latest versions. |
I see. How can I try this out myself after I have built it? |
@amilajack, Just try https://github.com/RSATom/wcjs-ugly-demo with |
Just made a repo to test this out: https://github.com/amilajack/wcjs-example The problem is that electron exits with no errors. Do you know the reason for this? |
Don't see any issue in your code, but I didn't try run it. Maybe it's the problem with Electron. Try the same with older Electron(it's 100% worked with Electron v0.33.9). |
Well, it builds without any errors, have to try it in the app |
@RSATom, I think I've found out why this happens:
It does not indicate ffmpeg here, but I'm assuming it does dlopen or something like that since ffmpeg is required dependency: https://wiki.videolan.org/Contrib_Status/#Usage In the extension I develop currently (node-libtorrent-ng) I've had a similar issue, I had to use a third-party library (libtorrent) which's dependent on boost and always resolved to local system's boost. I ended up compiling everything as static (both libtorrent and boost) and linking into the addon; this way I managed to do a truly redistributable library (depends only on libstdc++) with acceptable size (about 4Mbs, even lesser than boost + libtorrent compiled as dynamic!). My ideas are:
What do you think? |
The problem is it's not so easy build libvlc as static library |
I will try to do it. Also, there's kind of official cpp wrapper: https://code.videolan.org/videolan/libvlcpp/tree/master |
Is this something that could be more easily fixed electron's end or does it have to be fixed here? |
@TomBZombie, if you can rebuild Electron - yes, you could change Electron's build configuration to link ffmpeg statically. |
@RSATom , @lyssdod |
can anybody fix this or let us know how to? |
@thesabbir, I think the simplest solution will be rebuild electron with patches mentioned by @kazemihabib |
@RSATom Any update? Is there a way to build customized libffmpeg.so to replace the default one? |
@sunxfancy, no. I didn't work on this issue.
You don't need rebuild libffmpeg.so, you need rebuild Electron with static libffmpeg. And no, I didn't investigate how to do it yet. |
Simplest workaround that I use for mpv.js/boram is:
It's unfortunately broken since 1.4.15: electron/libchromiumcontent#268 |
Also found workaround for latest Electron! See Kagami/mpv.js#10 (comment) |
@Kagami, is it use sandboxed libmpv? |
No, the system one. |
hm... so pepper plugins could be run in not sandboxed environment? Interesting |
Yes. It's kinda intended for dev purposes, but nothing prevents you to use in production :) (Well, there are few pitfalls, but not critical.) |
I'm planning to try WebChimera.js on latest electron version: (v1.7.6). Seems there's a lot to try to get it to work. And seems quite involved. |
@vishal733, no, WebChimera.js doesn't require NSAPI. It's based on Node.js addons API. |
Closed as too old. |
onFrameSetup
is called fine,onFrameReady
is never called.I'm thinking this is probably a Linux-only issue, and possibly related to "Don't drop capabilities in renderer process." from the Electron changelog - since VLC (well, I think avcodec actually) is also now logging
detected 4 logical cores
. I'm guessing multithreaded software decoding is going awry somewhere.The text was updated successfully, but these errors were encountered: