Commit 4c086f60 authored by Mehdi Sabwat's avatar Mehdi Sabwat
Browse files

Update readme

parent 7620f9c6
# VLC.js: VLC for WASM/asm.js
This project is a port of VLC to run completely in the webbrowser.
This project is a port of VLC to run completely in the web-browser.
It is, of course, quite insane, but it will be doable in the future, as WASM improves.
Notably when we have:
It started with an asm.js port, now that WASM is ready with :
- threads
- WASM (and not only asm.js)
- SIMD.js/wasm
- Full webgl support
- Audio support in threads
we will be able to have a first version.
we are getting closer to a first version.
After, when we have modules, then VLC modules could be downloaded at runtime.
......@@ -23,46 +23,50 @@ After, when we have modules, then VLC modules could be downloaded at runtime.
cp config.sub /usr/share/automake-1.15/config.sub
```
Before compiling vlc, you must copy the video Dolby_Canyon.vob in the root of this project.
### Compile vlc.
```bash
./compile.sh
```
All files (javascript and html) are in the folder build-emscripten. You can see localy vlc by
lanch a webserver on your computer.
You can run it locally by launching a webserver on your computer.
```bash
source emsdk-portable/emsdk_env.sh
cd vlc/build-emscripten
emrun --no_browser --port 8080 experimental.html --emrun
source emsdk/emsdk_env.sh
emrun --no_browser --port 8080 vlc.html --emrun
```
And seeing the result in firefox at url : http://localhost:8080/experimental.html
You can also put the generated files on a server and access to it normaly.
And seeing the result at url : http://localhost:8080/vlc.html
You can also put the generated files on a server and access it normally.
## Run
Currently only Firefox is able to run vlc.js, but you need to enable some features in Firefox first.
Type about:config in the Location Bar and press Enter to see all Preferences.
It should be able to run in all browsers and OSes except Chrome in MacOS where there is a [bug](https://code.videolan.org/b1ue/vlc/issues/36)
|| Chrome 77.0.3865.120 (stable) | Firefox Dev Edition (70.0b14) (*)|
| ------ | ------ | ------ |
| Linux (Arch) | Audio+Video | Audio+Video |
| MacOS | #36 | Audio+Video |
| Windows 10 | Audio+Video | Audio+Video (#35)|
(*) Type about:config in the Location Bar and press Enter to see all Preferences.
Features to enable :
* Set 'javascript.options.shared_memory' to true
* Set 'gfx.offscreencanvas.enabled' to true
* Set 'gfx.webrender.all' to true
* Set 'dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled' to true
Then, you should be able to see vlc.js
Then, you should be able to see vlc.js.
## Hack
To can compile vlc.js, we need to apply patches on the main VLC.
Emscripten being in devlopment, some patches need to applied too to fix issues and missing features.
To compile vlc.js, we need to apply patches on VLC master.
All the patches are grouped in 2 folders:
All the patches are grouped in this folder:
* patch_vlc: vlc patches
* patch_emscripten : emscripten patches
There are also patches to enable dav1d and dvd contribs.
The script compile.sh sets up the toolchain, clones vlc, compiles it, generates the module_list and compiles all into a html + js pages.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment