I wasn't aware about Shotcut doing so. Good to know.

My first attempt wasn't very successful. I did the following:
# nim c --threads:on -r ex23_loader_video
import mlt
import os
let f = initFactory("/usr/lib/mlt-7")

# Create the consumer
let p = newProfile("hdv_720_50p")
var sdl = newFactoryConsumer(p, "sdl2")

sdl["terminate_on_pause"] = 1 # Stop the consumer when finished

# Create via the default producer
var clip1 = p.newMedia( "./resources/sygic.mp4")


var filter = newFactoryFilter(p, "affine")
filter["transition.fill"] = 1
filter["transition.distort"] = 0
filter["transition.rect"] = "339.703 126.468 1430.3 953.532 1"
filter["transition.valign"] = "middle"
filter["transition.halign"] = "center"
filter["transition.threads"] = 0
filter["transition.fix_rotate_x"] = 340.0

#[
<property name="background">color:#00000000</property>
<property name="mlt_service">affine</property>
<property name="shotcut:filter">affineSizePosition</property>
<property name="transition.fill">1</property>
<property name="transition.distort">0</property>
<property name="transition.rect">339.703 126.468 1430.3 953.532 1</property>
<property name="transition.valign">middle</property>
<property name="transition.halign">center</property>
<property name="shotcut:animIn">00:00:00.000</property>
<property name="shotcut:animOut">00:00:00.000</property>
<property name="transition.threads">0</property>
<property name="transition.fix_rotate_x">340.304</property>

]#
clip1.attach(filter)
clip1 > sdl

sdl.start # Start the consumer

while not sdl.stopped:
sleep(1)

Do you spot something obvious that might be wrong?

El jue, 30 dic 2021 a las 18:52, Dan Dennedy (<d...@dennedy.org>) escribió:

> You can use a tool like Shotcut and study it’s XML output to understand
> the properties for a filter. The affine filter is called Size, Position &
> Rotate. To get the XML use File > Save.
>
> On Thu, Dec 30, 2021 at 9:47 AM José María García Pérez <
> josemaria.alk...@gmail.com> wrote:
>
>> I don't understand how to use the affine filter:
>> https://www.mltframework.org/plugins/FilterAffine/#transition
>>
>> Could you post a basic C example using it? It would be nice to cover both
>> the static and an animation case.
>>
>> I had the following example about using a filter using Nim:
>> import mlt, os
>> var f = initFactory()
>>
>> # Create the default consumer
>> var p = newProfile()
>> var sdl = newFactoryConsumer(p, "sdl2")
>>
>> # Create via the default producer
>> var clip = newFactoryProducer(p, resource =
>> "avformat:/home/jose/Descargas/sygic.mp4")
>>
>> var filter = newFactoryFilter(p, "frei0r.pixeliz0r")
>> filter["BlockSizeX"] = 0.1
>> filter["BlockSizeY"] = 0.2
>>
>> clip.attach( filter )
>> clip > sdl
>>
>> # Start the consumer
>> sdl.start
>>
>> while not sdl.stopped:
>> sleep(1)
>> _______________________________________________
>> Mlt-devel mailing list
>> Mlt-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mlt-devel
>>
>
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to