Coder Social home page Coder Social logo

rectalogic / webvfx Goto Github PK

View Code? Open in Web Editor NEW
49.0 13.0 33.0 7.81 MB

Video effects engine based on web technologies.

Home Page: http://www.webvfx.org/

License: BSD 3-Clause "New" or "Revised" License

Prolog 2.28% Shell 1.52% C++ 52.74% C 0.33% JavaScript 43.03% Objective-C 0.10%

webvfx's Introduction

Overview

WebVfx is a video effects library that allows effects to be implemented using WebKit HTML or Qt QML. It is being developed for MacOS and Linux.

Prerequisites

You will need Qt installed (4.7.3 or later recommended). Qt includes QtWebKit and QML. For more interesting effects (e.g. using WebGL, CSS 3D etc.) you may want to build a more current QtWebKit. You may also want to build QtQuick3D - 3D extensions to QML. WebVfx includes support for QtQuick3D.

WebVfx includes an MLT service that exposes producers, filters and transitions implemented in WebVfx. Install MLT Framework 0.7.2 or greater to build the plugin.

Building

In the webvfx directory run qmake -r PREFIX=/usr/local and then make install. PREFIX determines where WebVfx will be installed. If MLT is installed in a non-standard location, you may need to set the PKG_CONFIG_PATH environment variable to where its pkgconfig file lives, e.g. PKG_CONFIG_PATH=/usr/local/lib/pkgconfig.

The MLT melt command will not work with WebVfx on MacOS because the Qt event loop must run on the main thread. If you set MLT_SOURCE to the root of your MLT source code directory, then a qmelt executable will be installed which behaves the same as melt but works with WebVfx on MacOS. e.g. qmake -r PREFIX=/usr/local MLT_SOURCE=~/Projects/mlt.

make doxydoc to generate the documentation using Doxygen. You can also make uninstall, make clean and make distclean.

Demos

See the documentation for examples.

License

Copyright (c) 2011 Hewlett-Packard Development Company, L.P. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

webvfx's People

Contributors

ddennedy avatar rectalogic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webvfx's Issues

html producer and transparency

i am using mlt for our community tv playout. i try now to use your really great plugin for dynamic real time overlays on our tv signal. the idea is to have a permanent (transparent) layer on top of the video signal and trigger showing elements using websockets.
the problem i am having now is that i find no way for the webvfx producer to give it a transparent backgrond.
css3 has support for that with background: rgba(255,255,255,0) but it seems when there is nothing to render at all webkit just returns white (which makes sense for usual browser usage)

do you think there is a way for your plugin to pass regions of frames that have nothing to show with transparency?
if this is not possible one could still set a backgound and do some keying on the output. but that has it's own drawbacks..

thanks for your answer
stefan

Qt version

Hi,

I want to check what version of QT should I use, because I get this error when running qmake:

Project ERROR: Unknown module(s) in QT: declarative webkit

this is the output of qmake -v:
QMake version 3.0
Using Qt version 5.0.2 in /usr/lib/x86_64-linux-gnu

Thanks!

compilation error: content_context.cpp:85:89: error: ‘class QString’ has no member named ‘toAscii’

pt -isystem /usr/include/qt5/QtCore -I../build/release/.moc/webvfx -I/usr/lib64/qt5/mkspecs/linux-g++ -o ../build/release/.obj/webvfx/content_context.o content_context.cpp
content_context.cpp: In member function ‘QUrl WebVfx::ContentContext::getImageUrl(const QString&)’:
content_context.cpp:85:89: error: ‘class QString’ has no member named ‘toAscii’
return QUrl::fromEncoded(QString("image://webvfx/%1/%2").arg(name).arg(renderCount).toAscii(),
^
Makefile.Release:344: recipe for target '../build/release/.obj/webvfx/content_context.o' failed
make[2]: *** [../build/release/.obj/webvfx/content_context.o] Error 1

How to start using webvfx

Good day!

I am an occasional kdenlive user. And I was always missing the ability to do some quick test animations and pseudo-3d transformations I had the experience doing in Sony Vegas before that. At the same time I do some web development stuff.

Now I've found webvfx and it kind of came together. I wish I could use it in my videos, but have no idea where and how to start. More to that, I've seen the deprecation disclaimer on the mltframework repo and that kind of bugs me.

So my question is this. Do you advise to start with webvfx now in 2021 and if so, how to do it?

Thanks in advance))

compilation error: content_context.cpp:85:89: error: ‘class QString’ has no member named ‘toAscii’

pt -isystem /usr/include/qt5/QtCore -I../build/release/.moc/webvfx -I/usr/lib64/qt5/mkspecs/linux-g++ -o ../build/release/.obj/webvfx/content_context.o content_context.cpp
content_context.cpp: In member function ‘QUrl WebVfx::ContentContext::getImageUrl(const QString&)’:
content_context.cpp:85:89: error: ‘class QString’ has no member named ‘toAscii’
return QUrl::fromEncoded(QString("image://webvfx/%1/%2").arg(name).arg(renderCount).toAscii(),
^
Makefile.Release:344: recipe for target '../build/release/.obj/webvfx/content_context.o' failed
make[2]: *** [../build/release/.obj/webvfx/content_context.o] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.