Comments (4)
You can take a look on my example:
https://kwikmandarin.net/content/demo/html5-ass/index3.html
simply see Source Script 👍
from libjass.
Yes, it could do with some more comments. Meanwhile:
-
Use the ASS URL to fetch the ASS object.
var assLoadedPromise = libjass.ASS.fromUrl(assUrl);
Note that this is a Promise, i.e., an async operation.
-
Get a reference to the video element.
var video = document.querySelector("#idvideo");
-
Use DefaultRenderer to render subs.
assLoadedPromise.then(function (ass) { var renderer = new libjass.renderers.DefaultRenderer(video, ass); });
That's the basic usage. More advanced things below:
-
Autoplay the video when the renderer is ready (it downloads all the fonts referenced in the ASS so it takes time to become ready):
renderer.addEventListener("ready", function () { video.play(); });
-
Enable / disable the subs (let's say you have a
<input type="checkbox" id="enable-disable-subs">
):document.querySelector("#enable-disable-subs").addEventListener("change", function (event) { renderer.setEnabled(event.target.checked); }, false);
-
Resize the subs when the video is resized:
renderer.resize(newWidth, newHeight);
You would typically get newWidth and newHeight from some user-selection. For example you might have a dropdown with a list of resolutions (like Youtube has).
-
Use WebRenderer instead of DefaultRenderer for more control over the subtitles div, at the cost of losing some convenience features.
from libjass.
It works!!! Nice! Thanks a lot for the exaustive explanation!
the code that worked for me is the ''basic one''
<video id="player" controls='controls' >
<source src="VIDEO_URL_HERE" type="video/mp4">
<script>
var assLoadedPromise = libjass.ASS.fromUrl("ASS_URL_HERE");
var video = document.querySelector("#player");
assLoadedPromise.then(function (ass) {
var renderer = new libjass.renderers.DefaultRenderer(video, ass);
});
</script>
</video>
Thanks also to Anime4000 i've used the basic structure of your work
from libjass.
http://arnavion.github.io/libjass/demo/index.js now contains more comments. I hope that helps.
from libjass.
Related Issues (20)
- "PlayResX" is not treated as optional! -> breaking HOT 15
- When PlayResX or PlayResY are defined as zero, tab crashes. HOT 1
- Unexpected style margin collisions HOT 1
- \n being rendered in plain text, wrapping style 2 HOT 2
- Request for new release HOT 2
- How to crate subtitle from JSON Object ? HOT 2
- libjass.deserialize dialogue style changes not work HOT 2
- When playing preroll ads, sometimes the text appears very small HOT 1
- Why the npm package doesn't contains a type definition file. HOT 1
- Line-specific styles do not override style definitions HOT 2
- \fad with a fadeout of 0 is treated as fading out for the duration of the line HOT 1
- Opt-in support for command execution HOT 3
- [Feature Request]Can you convert a .ass subtitle to VobSub format? HOT 2
- dialogues ID will be created next to the last dialogues ID from previous object HOT 3
- when I create new dialogue can I get a dialogue class tag? HOT 1
- Update Typescript version HOT 6
- Serialize back to .ass HOT 1
- implement smart line wrapping
- Lines can be "pushed away" by other lines on the same layer HOT 2
- Lines are moved down when lines underneath it are removed HOT 1
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 libjass.