Comments (8)
I don't know the exact cause of your problem, but it might help to debug if you simplify your XML.
- Remove all instances of
<multitrack>
- You should only need one
<tractor>
- and I don't think you need to nest<tractor>
s - Try to boil your XML down to be as simple as it can be.
It might help you if you use Shotcut to create a simple example of what you want to want and then modify/extrapolate from that.
from mlt.
Dear Brian
Thanks for your quick reply.
I tried to boil my XML down and it's getting worse ;)
I think I still need a multitrack because I'm compositing two tracks.
This XML makes either melt crash or generate bad frames (I can launch it several times and it does not crash at the same percentage and sometimes does not crash)
<mlt LC_NUMERIC="en_US.UTF-8">
<producer id="1">
<property name="resource">video.mp4</property>
</producer>
<producer id="63">
<property name="mlt_service">webvfx</property>
<property name="resource">plain:boc-bug.html</property>
<property name="transparent">1</property>
</producer>
<tractor>
<multitrack>
<playlist>
<entry producer="1" in="0" out="200">
</entry>
</playlist>
<playlist>
<entry producer="63" in="0" out="124">
</entry>
</playlist>
</multitrack>
<transition in="0" out="99">
<property name="mlt_service">composite</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
</transition>
<transition in="100" out="124">
<property name="mlt_service">luma</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
<property name="reverse">1</property>
</transition>
</tractor>
</mlt>
I'm pretty sure this has something to do with using QT5.
I will investigate more and keep you updated of my results.
All the best
Geoffroy
from mlt.
Another suggestion: Figure out how to create the effect you are looking for using the melt command line application. When it looks right, use the xml consumer to export as XML. Then, you can inspect the XML.
If you can provide a melt command that reproduces the problem (without using an XML producer), then I might be able to look at it.
from mlt.
OK ! I am currently trying different versions of QT, FFMPEG and MELT to try and find where it breaks, but using the melt command line is a good idea. Thanks Brian !
from mlt.
Dear Brian
I followed your advice and tried the command line.
I'm running a fresh install of Ubuntu 14.04TLS
I've just compiled mlt from https://github.com/mltframework/mlt master branch
Here are the packages I installed before compiling :
"git", "automake", "autoconf", "libtool", "intltool", "g++", "yasm", "swig", "libmp3lame-dev",
"libgavl-dev", "libsamplerate-dev", "libxml2-dev", "ladspa-sdk", "libjack-dev", "libsox-dev", "libsdl-dev",
"libgtk2.0-dev", "liboil-dev", "libsoup2.4-dev", "libexif-dev", "libtheora-dev", "libvdpau-dev",
"libvorbis-dev", "python-dev", "cmake", "libeigen3-dev", "libglew-dev", "xutils-dev", "libegl1-mesa-dev", "libfftw3-dev",
'qt5-default','libqt5webkit5-dev','qtdeclarative5-dev','qtquick1-5-dev','qtscript5-dev','libqt5svg5-dev'
Here is the melt.conf
file used when compiling melt
INSTALL_DIR="/opt/melt"
AUTO_APPEND_DATE=0
SOURCE_DIR="/opt/melt/src"
MLT_HEAD=1
ENABLE_WEBVFX=1
FFMPEG_HEAD=1
So that
$ melt -version
melt 6.1.0
Copyright (C) 2002-2016 Meltytech, LLC
<http://www.mltframework.org/>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ffmpeg
ffmpeg version N-79468-ga676c29 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --prefix=/opt/melt --enable-gpl --enable-version3 --enable-shared --enable-debug --enable-pthreads --enable-runtime-cpudetect --disable-doc --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx
libavutil 55. 22.100 / 55. 22.100
libavcodec 57. 34.102 / 57. 34.102
libavformat 57. 34.101 / 57. 34.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 42.100 / 6. 42.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
This command line works and the video is correct
$ xvfb-run -a melt video.mp4 in=0 out=200 \
-track \
color:#80224466 in=0 out=124 \
-transition composite in=0 out=99 a_track=0 b_track=1 \
-progress -profile my_nhd -consumer avformat:boc-bug.mp4 strict=experimental
[libx264 @ 0x7fd6a80c7a80] interlace + weightp is not implemented
[mp4 @ 0x7fd6a80c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[mp4 @ 0x7fd6a80c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Current Frame: 200, percentage: 99
This command line works and the video is correct
$ xvfb-run -a melt video.mp4 in=0 out=200 \
-track \
webvfx:plain:boc-bug.html in=0 out=124 transparent=1 \
-progress -profile my_nhd -consumer avformat:boc-bug.mp4 strict=experimental
WARNING: QApplication was not created in the main() thread.
[libx264 @ 0x7fd2780c7a80] interlace + weightp is not implemented
[mp4 @ 0x7fd2780c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[mp4 @ 0x7fd2780c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Current Frame: 200, percentage: 99
This command line crashes melt
$ xvfb-run -a melt video.mp4 in=0 out=200 \
> -track \
> webvfx:plain:boc-bug.html in=0 out=124 transparent=1 \
> -transition composite in=0 out=99 a_track=0 b_track=1 \
> -progress -profile my_nhd -consumer avformat:boc-bug.mp4 strict=experimental
WARNING: QApplication was not created in the main() thread.
[libx264 @ 0x7f3d900c7a80] interlace + weightp is not implemented
[mp4 @ 0x7f3d900c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[mp4 @ 0x7f3d900c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Segmentation fault (core dumped)ntage: 1
qmelt also crashes
$ xvfb-run -a qmelt video.mp4 in=0 out=200 \
> -track \
> webvfx:plain:boc-bug.html in=0 out=124 transparent=1 \
> -transition composite in=0 out=99 a_track=0 b_track=1 \
> -progress -profile my_nhd -consumer avformat:boc-bug.mp4 strict=experimental
[libx264 @ 0x7f91f00c7a80] interlace + weightp is not implemented
[mp4 @ 0x7f91f00c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[mp4 @ 0x7f91f00c6da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Segmentation fault (core dumped)ntage: 1
Many thanks again for your time and help, all the best
Geoffroy
from mlt.
I reproduced this using the above command line and qmelt from Shotcut 16.04. It crashes here:
#0 convert_image (frame=0x7fff9c804260, image=0x7fff377fd928, format=0x7fff377fd7ac, output_format=mlt_image_yuv422) at filter_avcolour_space.c:194
I also reproduced the corrupt video when using the affine or frei0r.cairoblend transitions. I do not reproduce it when using color:#9900ff00
instead of the webvfx producer (color is also rgba). This points to something wrong with the way the webvfx producer is providing images.
from mlt.
Fixed in WebVfx.
from mlt.
WOW !!! That was quick !! your bugfix is solving the problem.
Many thanks again Dan and Brian for your help and responsiveness.
Have a great weekend
from mlt.
Related Issues (20)
- 7.22.0 CMakeLists.txt HOT 1
- mlt.so does not specify dependency on libruby.so HOT 1
- [SVT-AV1] MLT does not seem to support any configuration done via Kdenlive interface except "preset". HOT 1
- Discovered a bug regarding image size scaling and rotation
- sdl consumer may require SDL12COMPAT_NO_QUIT_VIDEO
- Protobuf duplicate library causes crash HOT 3
- Melt SIGSEGV when using the -chain flag HOT 5
- "Why does the outline range of fonts in Shotcut span from 0 to 200, while in MLT, the range is only from 0 to 3? Is there any solution?" HOT 6
- How to change the spacing of wrapped text? HOT 3
- how to use gpu decode video? HOT 1
- MLT master fails to build with ffmpeg 7.0 HOT 6
- Is there something wrong with the hash function of mlt_properties_add? HOT 2
- avformat: vbr parameter should also accept integer values HOT 1
- Audio not synchronized
- Setting lowres>=1 for codecs that don't support lowres results in broken output
- producer_avformat performs useless work when source is intra-only and consumer framerate is lower than the source's framerate HOT 4
- [producer_xml] failed to load filter "affine" HOT 2
- Rendering .mlt File to .mp4 with melt looses image transparency HOT 2
- error: use of undeclared identifiers 'free' and 'calloc' HOT 1
- audio_index=all broken with Sintel since c170481 HOT 3
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 mlt.