Re: [Mlt-devel] Best video format(s) for realtime melt?

2018-12-07 Thread Dan Dennedy
On Fri, Dec 7, 2018 at 11:55 AM Tom Murphy  wrote:

> Ah, and another criterion I forgot but could be important is the
> ability to quickly seek / jump around in a melt video.
>
>
Some people in the Shotcut forum working on proxy and intermediate file
workflows seem mostly impressed with the Ut Video codec, but that is
lossless compressed. Also, currently, to use it one must be sure to supply
colorspace and color_range flags to ffmpeg command line to ensure proper
output. Unfortunately, that is quite a large file, which is not great for
long intermediate files. DNxHD is still good and is smaller, but it has
limited support for resolutions and frame rates. If you need something that
compresses similar (i.e. visually lossless) to DNxHD, is fast, and
flexible; consider to use ProRes. I have not done a deep study of the three
prores encoder implementations in ffmpeg, but I have tended to favor
prores_ks.

https://trac.ffmpeg.org/wiki/Encode/VFX#Prores


> Tom
>
> On 12/7/18, Tom Murphy  wrote:
> > The "Films By Kris" tutorials recommend using ffmpeg with "-vcodec
> > dnxhd" to convert video before handing it off to melt, because DNxHD
> > is apparently good for realtime processing with MLT and melt.
> >
> > Is it (still) the case that DNxHD is the "best" for use with melt in
> > realtime mode (i.e. not writing to file)?
> >
> > Although this is admittedly a fuzzy question, I'd imagine criteria for
> > "best" being something like:
> >   - fast to decode (if not also encode)
> >   - parallelizable (it looks like AVCHD can't be decoded multithreaded,
> > e.g.)
> >   - good on other axes I'm not thinking of, maybe particular to MLT?
> >
> > Thanks, and apologies for any misapprehensions!
> > Tom
> >
>
>
> ___
> 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


Re: [Mlt-devel] Best video format(s) for realtime melt?

2018-12-07 Thread Tom Murphy
Ah, and another criterion I forgot but could be important is the
ability to quickly seek / jump around in a melt video.

Tom

On 12/7/18, Tom Murphy  wrote:
> The "Films By Kris" tutorials recommend using ffmpeg with "-vcodec
> dnxhd" to convert video before handing it off to melt, because DNxHD
> is apparently good for realtime processing with MLT and melt.
>
> Is it (still) the case that DNxHD is the "best" for use with melt in
> realtime mode (i.e. not writing to file)?
>
> Although this is admittedly a fuzzy question, I'd imagine criteria for
> "best" being something like:
>   - fast to decode (if not also encode)
>   - parallelizable (it looks like AVCHD can't be decoded multithreaded,
> e.g.)
>   - good on other axes I'm not thinking of, maybe particular to MLT?
>
> Thanks, and apologies for any misapprehensions!
> Tom
>


___
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel


[Mlt-devel] Best video format(s) for realtime melt?

2018-12-07 Thread Tom Murphy
The "Films By Kris" tutorials recommend using ffmpeg with "-vcodec
dnxhd" to convert video before handing it off to melt, because DNxHD
is apparently good for realtime processing with MLT and melt.

Is it (still) the case that DNxHD is the "best" for use with melt in
realtime mode (i.e. not writing to file)?

Although this is admittedly a fuzzy question, I'd imagine criteria for
"best" being something like:
  - fast to decode (if not also encode)
  - parallelizable (it looks like AVCHD can't be decoded multithreaded, e.g.)
  - good on other axes I'm not thinking of, maybe particular to MLT?

Thanks, and apologies for any misapprehensions!
Tom


___
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel


Re: [Mlt-devel] melt: add support for consumer in/out

2018-12-07 Thread Dan Dennedy
On Fri, Dec 7, 2018 at 11:27 AM jb  wrote:

> Hi,
>
> In shotcut, the  tag is used in the playlist's xml to pass
> consumer
> arguments, allowing to render a playlist file with melt whitout passing
> extra
> arguments.
>
> I am considering using the same approach for Kdenlive, but there is one
> small
> missing feature for us:
>
> it would be useful to allow rendering only part of the playlist using this
> method. My idea was to allow in/out attributes on the consumer that would
> then
> be passed on the producer to allow rendering only a part of the project.
>
> A simple patch to melt, like mine below, implements the feature.
>
> Would you be ok to include such feature ?
>
>
Yes, go ahead and commit it directly.


> Thanks
> Jean-Baptiste
>
> ---
> diff --git a/src/melt/melt.c b/src/melt/melt.c
> index ab3a0ab4..300f9c88 100644
> --- a/src/melt/melt.c
> +++ b/src/melt/melt.c
> @@ -972,11 +972,18 @@ query_all:
>
> // Get the last group
> mlt_properties group = mlt_properties_get_data(
> melt_props,
> "group", 0 );
> -
> +
> // Apply group settings
> mlt_properties properties =
> MLT_CONSUMER_PROPERTIES( consumer
> );
> mlt_properties_inherit( properties, group );
> -
> +   int in = mlt_properties_get_int( properties, "in"
> );
> +   int out = mlt_properties_get_int( properties,
> "out" );
> +   if ( in > 0 || out > 0 ) {
> +   if ( out == 0 ) {
> +   out = mlt_producer_get_length(
> melt ) - 1;
> +   }
> +   mlt_producer_set_in_and_out(melt, in, out);
> +   }
> // Connect consumer to melt
> mlt_consumer_connect( consumer,
> MLT_PRODUCER_SERVICE( melt )
> );
>
>
>
>
> ___
> 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


[Mlt-devel] melt: add support for consumer in/out

2018-12-07 Thread jb
Hi,

In shotcut, the  tag is used in the playlist's xml to pass consumer 
arguments, allowing to render a playlist file with melt whitout passing extra 
arguments.

I am considering using the same approach for Kdenlive, but there is one small 
missing feature for us:

it would be useful to allow rendering only part of the playlist using this 
method. My idea was to allow in/out attributes on the consumer that would then 
be passed on the producer to allow rendering only a part of the project.

A simple patch to melt, like mine below, implements the feature.

Would you be ok to include such feature ?

Thanks
Jean-Baptiste

---
diff --git a/src/melt/melt.c b/src/melt/melt.c
index ab3a0ab4..300f9c88 100644
--- a/src/melt/melt.c
+++ b/src/melt/melt.c
@@ -972,11 +972,18 @@ query_all:

// Get the last group
mlt_properties group = mlt_properties_get_data( 
melt_props, 
"group", 0 );
-   
+
// Apply group settings
mlt_properties properties = MLT_CONSUMER_PROPERTIES( 
consumer 
);
mlt_properties_inherit( properties, group );
-
+   int in = mlt_properties_get_int( properties, "in" );
+   int out = mlt_properties_get_int( properties, "out" );
+   if ( in > 0 || out > 0 ) {
+   if ( out == 0 ) {
+   out = mlt_producer_get_length( melt ) - 
1;
+   }
+   mlt_producer_set_in_and_out(melt, in, out);
+   }
// Connect consumer to melt
mlt_consumer_connect( consumer, MLT_PRODUCER_SERVICE( 
melt ) 
);




___
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel