WebVfx 0.1.6-6-g5144893-dirty
examples/producer-demo.html

This is an example MLT producer implemented in HTML. It renders a user settable title parameter with an animated CSS shadow effect. The rendered video can be viewed here demo/mlt/mlt_producer_demo_html.

<html>
<head>
<style type="text/css">
html, body {
    margin: 0;
    width: 100%;
    height: 100%;
}
body {
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
#top {
    -webkit-box-flex: 1;
    background: #666;
}
#text {
    background: #666;
    color: #999;
    text-align: center;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
}
#bottom {
    -webkit-box-flex: 1;
    background: #999;
}
</style>
<script type="text/javascript">
function Producer(textStyle) {
    this.textStyle = textStyle;
}
Producer.prototype.render = function(time) {
    // Use em units which are proportional to font-size,
    // which is being set to proportional to page render size.
    // Vary x offset from -0.2 to 0.2.
    this.textStyle.textShadow = ((time * 0.4) - 0.2) + "em -0.2em 0.3em black";
}
function onLoad() {
    handleFontSize();
    var text = document.getElementById("text");
    text.innerText = webvfx.getStringParameter("title");
    var producer = new Producer(text.style);
    webvfx.renderRequested.connect(producer, Producer.prototype.render);
    webvfx.readyRender(true);
}
function handleFontSize() {
    // Set base font-size to 10% of window height
    document.body.style.fontSize = (window.innerHeight * 0.1) + "px";
}
window.addEventListener("load", onLoad, false);
window.addEventListener("resize", handleFontSize, false);
</script>
</head>
<body>
    <div id="top"></div>
    <div id="text"></div>
    <div id="bottom"></div>
</body>
</html>
 All Classes Namespaces Functions Variables Enumerations Enumerator