On Mon, Mar 9, 2015 at 2:25 PM, Stefan de Konink <ste...@konink.de> wrote:

> Hi,
>
> I'm trying to use a Blackmagic Design DeckLink Mini Monitor. MLT provides
> me output. Idealy I would like to have a way to continously loop the
> inputscript. I read that that a "high" repeat would emulate a loop best.
>
> /opt/mlt/bin/melt -profile dv_pal_wide eof=loop /home/tv/kabelkrant.mlt
> -repeat 1000000 -consumer decklink
>
>
You do not need a -repeat. Just move eof=loop ahead of -profile:
http://www.mltframework.org/bin/view/MLT/Questions#How_do_I_loop_something_indefini


> The above functions. I am using a moving background and a png to overlay
> ontop of it.
>
> <?xml version="1.0" ?>
> <mlt>
>         <!-- clip -->
>         <producer id="clip1">
>                 <property name="resource">/home/tv/test.png</property>
>         </producer>
>         <producer id="clip2">
>                 <property name="resource">/home/tv/logo.png</property>
>         </producer>
>         <!-- cg -->
>         <producer id="cg">
>                 <property
> name="resource">/home/tv/FGTV_ACHTERGROND_10.mp4</property>
>         </producer>
>           <!-- cg loop -->
>         <playlist id="clips">
>                 <entry producer="clip1" in="0.0" out="400.0" />
>                 <entry producer="clip2" in="400.0" out="800.0" />
>         </playlist>
>         <playlist id="cg_loop" eof="loop">
>                 <entry producer="cg" eof="loop"/>
>         </playlist>
>         <tractor eof="loop">
>                 <multitrack>
>                         <track producer="clips" in="0.0" out="800.0"/>
>                         <track producer="cg_loop" in="0.0" out="800.0"/>
>                 </multitrack>
>                 <!-- clip and cg blending -->
>                 <transition in="0.0" out="800.0">
>                     <property name="mlt_service">composite</property>
>                     <property name="a_track">1</property>
>                     <property name="b_track">0</property>
>                     <property name="fill">1</property>
>                 </transition>
>         </tractor>
> </mlt>
>
> Now the output looks bad, and I mean: linear scaling bad. I wonder, how
>

Or do you mean non-interpolated, nearest-neighbor bad? The default for
decklink output is bilinear.


> does MLT currently make wide-screen pal, or scaling at all? At what step
> does it downscale to anamorphically 720x576?
>

After the reading/decode and before user-specified filters.


>
> I see that the larger the input resolution is, the worse edges become at
> the output. Any pro tips?


The image reader producers assume your graphics are square pixels.
Therefore, it will normalize the input pixel aspect ratio to the output
pixel aspect ratio - anamorphic in this case. This is often where some poor
quality occurs. Some producers such as the image readers do their own
scaling - an exception to the norm. If you have the pixbuf producer, you
can add "rescale=bicubic" or "rescale=hyper" to the consumer to get better
scaling (GDK pixbuf's "hyper" mode, which you can read about). Or, you can
pre-scale the graphics and set the property "force_aspect_ratio" on the
producer to the same value as the profile:

$ melt -query profile=dv_pal_wide | grep sample
sample_aspect_num: 64
sample_aspect_den: 45
=> force_aspect_ratio=@64/45


> Is it for example possible to have the tractor at HD resolution and have
> the consumer downscale it?
>

Yes, by using the consumer producer, but it will cause any interlaced clips
to be deinterlaced because there is no field-aware scaler and you are
changing vertical resolutions with interpolated scaling - which would
otherwise cause fields to be blended. MLT detects that and places a
deinterlace before anything else.

melt eof=loop -profile dv_pal_wide consumer:/home/tv/kabelkrant.mlt
mlt_profile=atsc_1080p_25 -consumer decklink


>
> And a more pragmatic question: is it possible to use VDPAU in combination
> with Decklink output? Or is the idea stupid, and is it much better to use a
>

Yes, it is possible, but modern x86-64 processors and libavcodec are more
efficient at decoding than the cost of transferring from GPU to system RAM.
If you are able to decode on GPU, need filtering, and do most processing on
GPU; then, that is another matter, but MLT does not offer that (VDPAU ->
Movit).


> DVI->HDMI->SDI conversion?
>

I don't know what you are trying to do here.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to