Comments (9)
Also, when I manually modify the playlist0
file to have the same start and end times as playlist1
:
<playlist id="playlist0" title="Anonymous Submission">
<entry producer="playlist1" in="0" out="5001"/>
</playlist>
The video plays. Which makes me wonder why the xml generator didn't put that there in the first place.
from mlt.
I should also mention that I am explicitly setting the "out" property to 5001 on the playlists. But they seem to be discarded by the XML generator.
from mlt.
I highly doubt anyone will help you with this, and I do not have time to investigate it as a bug any time soon. I suggest you tinker around to figure it yourself and strongly consider not trying to nest playlists. Most tested/used cases of nesting things includes usage of the tractor element. Good luck.
from mlt.
Sigh, well thanks for the honest answer. I'll see if I can get it to work nesting with tractors. Thanks.
from mlt.
Also, interesting, you get this same issue when you put a tractor in a playlist:
...
<tractor id="tractor0" in="" out="">
<track producer="producer0"/>
</tractor>
<playlist id="playlist0" title="Anonymous Submission">
<entry producer="tractor0" in="" out=""/>
</playlist>
...
from mlt.
Hmm...ya, pretty sure at this point that this is a bug. This issue even persists when I use mlt_playlist_append_io.
@ddennedy Do you know where the code for the XML renderer is?
from mlt.
In general, I recommend people to stick to composition patterns that one can observe in the XML outputs from melt -consumer xml
, Shotcut, and Kdenlive. SImply reading the documentation and trying things can lead to a lot of frustration. However, in this case, it does seem one ought to be able to use any producer as a playlist entry including a playlist. One could test this theory by making a short program or script. To answer your question see src/modules/xml/producer_xml.c
from mlt.
In general, I recommend people to stick to composition patterns that one can observe in the XML outputs from
melt -consumer xml
, Shotcut, and Kdenlive
Oh interesting, doesn't that mean everything needs to fall into just one tractor with flat playlists?
(I say that because as far as I can tell, you only really offset a clip in a track is to make it a playlist and insert a blank. Let me know if that is not correct.)
SImply reading the documentation and trying things can lead to a lot of frustration
Ya, I noticed. ;) If you have a better way though I'd love to hear about it. Thank you for all of the help you've given me so far though.
However, in this case, it does seem one ought to be able to use any producer as a playlist entry including a playlist
Yup. The idea being that abstraction is nice. Namely, my motivation for playing with these bindings is because I am working on a Racket based DSL for building videos, and I'm currently playing with using libmlt as a backend. If you are interested in checking it out sometime, the repo is at:
https://github.com/Leifandersen/video
One could test this theory by making a short program or script
Yup, done that. ;) That's how I generated the XML file.
To answer your question see src/modules/xml/producer_xml.c
Cool, thanks. Ya, this looks like a this is a bug in the xml generator. I'll play with a bit and submit a PR.
Thanks again, you're fantastic. :)
from mlt.
Oh interesting, doesn't that mean everything needs to fall into just one tractor with flat playlists?
Not necessarily. Shotcut lets you make clip, playlist, or multitrack projects by simply not using the respective features/panels. In a Shotcut multitrack timeline project, when you make a transition you can see an example of a nested tractor (a tractor implies a multitrack - not simply a wrapper for any producer). Also, if you use both playlist and timeline, you will see an orphan playlist. Compositions can have multiple top-level, unreferenced producers, but the xml producer returns the last-most, top-level producer to consume by default. Surely there are other composition patterns that will work but may only be discovered through heavy experimentation alone or experimentation combined with code analysis.
from mlt.
Related Issues (20)
- Issue when saving consumer stream in file on remote server HOT 2
- Termux: Linker cannot find symbols HOT 1
- Utilizing GPU for rendering HOT 1
- [4k 30fps] OOM after 15m while rendering hevc_nvenc profile HOT 4
- compile error on mlt-7.24.0 HOT 1
- how can i save the audio language HOT 1
- How to specify output video width and height? HOT 9
- "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.