Comments (11)
I am working on a new project which supports this feature
New projects are located here under "CinemaMod" https://github.com/CinemaMod
from mcef.
I am very interested in getting codec support for my MCEF. Is there a guide or reference on how to achieve this?
from mcef.
I am very interested in getting codec support for my MCEF. Is there a guide or reference on how to achieve this?
There's several things to consider:
If you are new to CEF/Chromium, you should know that, by distributing a version of CEF built with proprietary codecs, you are required to have licenses for those codecs.
My new project, CinemaMod, gets around this by not distributing the CEF-with-proprietary-codecs binaries directly, but rather, I distribute the normal CEF binaries without codecs and in addition include bsdiff patch files which contain binary diffs between the 2 CEF versions: CEF-with-codecs and CEF-without-codecs. The process for me is basically:
- Build CEF+JCEF without codecs
- Build CEF+JCEF with codecs
- Take a bsdiff between the 2 sets of binaries
- Create manifest files (list of binaries + hashes) for each build (JCEF-w-codecs, JCEF-wo-codecs, the bsdiff files)
- Upload the manifest files for each build, upload JCEF without codecs, upload the bsdiff binaries all to my S3 bucket in a structured way
cinemamod-libraries/
jcef/
4896/
linux64/
manifest.txt
libcef.so
libjcef.so
...
win64/
manifest.txt
libcef.dll
libjcef.dll
...
jcef-patches/
4896/
linux64/
manifest.txt
patched-manifest.txt
libcef.so.diff
win64/
manifest.txt
patched-manifest.txt
libcef.dll.diff
libEGL.dll.diff
chrome_elf.dll.diff
...
(As you may notice, I have support for Windows x86_64 and Linux x86_64 at the moment. I don't have a working macOS build yet.)
I'm not sure how technical you want to get, I just thought I would describe my process for context. It would be possible to use my "downloader/patcher" system from CinemaMod in MCEF if you wanted to utilize my newer JCEF builds with codec patches. The process for that in the code is basically:
- When MC launches, check the disk to see if we have JCEF installed in the CinemaMod libraries path
- If not installed, download JCEF without codecs
- Download the codec bsdiff patch files
- Apply the patches to the JCEF build without codecs
See this package for an example of how that's all done: https://github.com/CinemaMod/CinemaMod-Fabric/tree/master/src/main/java/com/cinemamod/downloader
from mcef.
My new project, CinemaMod, gets around this
This is also a legally gray area for sure. I'm not a lawyer so don't take this as fact.
from mcef.
Thank you very much for responding! I am looking into getting this to work on my end.
from mcef.
It works beautifully thanks again!
I can watch a 4k movie from my Plex server in Minecraft!
from mcef.
It works beautifully thanks again!
Glad you got it to work. It would probably be possible to get a plex player working in CinemaMod so that you have additional features such as: multiplayer video sync, video queue/skip/vote skip, video timeline as a boss bar, regional theater boundaries defined by WorldGuard regions, and other stuff as well
from mcef.
It works beautifully thanks again!
Glad you got it to work. It would probably be possible to get a plex player working in CinemaMod so that you have additional features such as: multiplayer video sync, video queue/skip/vote skip, video timeline as a boss bar, regional theater boundaries defined by WorldGuard regions, and other stuff as well
I'd love to use your CinemaMod but I'm stuck on a long term build using 1.12 atm. Multiplayer video sync would be amazing!
from mcef.
I am very interested in getting codec support for my MCEF. Is there a guide or reference on how to achieve this?
There's several things to consider:
If you are new to CEF/Chromium, you should know that, by distributing a version of CEF built with proprietary codecs, you are required to have licenses for those codecs.
My new project, CinemaMod, gets around this by not distributing the CEF-with-proprietary-codecs binaries directly, but rather, I distribute the normal CEF binaries without codecs and in addition include bsdiff patch files which contain binary diffs between the 2 CEF versions: CEF-with-codecs and CEF-without-codecs. The process for me is basically:
- Build CEF+JCEF without codecs
- Build CEF+JCEF with codecs
- Take a bsdiff between the 2 sets of binaries
- Create manifest files (list of binaries + hashes) for each build (JCEF-w-codecs, JCEF-wo-codecs, the bsdiff files)
- Upload the manifest files for each build, upload JCEF without codecs, upload the bsdiff binaries all to my S3 bucket in a structured way
cinemamod-libraries/ jcef/ 4896/ linux64/ manifest.txt libcef.so libjcef.so ... win64/ manifest.txt libcef.dll libjcef.dll ... jcef-patches/ 4896/ linux64/ manifest.txt patched-manifest.txt libcef.so.diff win64/ manifest.txt patched-manifest.txt libcef.dll.diff libEGL.dll.diff chrome_elf.dll.diff ...
(As you may notice, I have support for Windows x86_64 and Linux x86_64 at the moment. I don't have a working macOS build yet.)
I'm not sure how technical you want to get, I just thought I would describe my process for context. It would be possible to use my "downloader/patcher" system from CinemaMod in MCEF if you wanted to utilize my newer JCEF builds with codec patches. The process for that in the code is basically:
- When MC launches, check the disk to see if we have JCEF installed in the CinemaMod libraries path
- If not installed, download JCEF without codecs
- Download the codec bsdiff patch files
- Apply the patches to the JCEF build without codecs
See this package for an example of how that's all done: https://github.com/CinemaMod/CinemaMod-Fabric/tree/master/src/main/java/com/cinemamod/downloader
necroing, but the links are now dead. is there a new way? I am using Mysticpasta1's MCEF fork.
from mcef.
Hope this may be added soon :)
In the meanwhile, .webm
seem to work 👍
from mcef.
This issue is now irrelevant with MCEF 2.x. The binaries that are included contain the codecs
from mcef.
Related Issues (20)
- MCEF may be leaving behind JCEF Processes run in the background. Even after minecraft is shut down. HOT 6
- Windows arm64 builds are not aarch64, rather x86_64 binaries. Something is broken in java-cef CI for Windows arm64
- MCEF crashes my game, and I got a -1 code. HOT 8
- TODO: Translations
- Game freezes when quitting on macOS HOT 2
- api: How to configure sites permissions? HOT 1
- MCEF doesn't initialize when using Vanilla launcher's Quick Play HOT 1
- add android arm64 support
- Example for 1.18.2 Forge?
- Add android support HOT 1
- Crash on open a web page
- build version 1.20.4
- can be used stand alone? HOT 1
- Failed to download windows_amd64.tar.gz.sha256
- mcef not showing as installed on 1.20.1 neoforge HOT 2
- Support 1.20.4 HOT 1
- Support 1.19.2 fabric
- MC says MCEF is not installed, even though it is. HOT 3
- Chromium Embedded Framework was never initialized.
- Crashes upon turning on a display, and then every subsequent startup crashes as soon as it finishes loading
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mcef.