Re: [FFmpeg-user] Next Release

2021-01-28 Thread - Neustradamus -
Hello all,

Thanks for this thread, because I have recently published:
- http://ffmpeg.org/pipermail/ffmpeg-devel/2021-January/274978.html

I have requested new versions with CVE fixes:
- https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ffmpeg

Last builds:
- https://github.com/FFmpeg/FFmpeg/releases
- Jul 11, 2020: 4.3.1
- Jul 9, 2020: 4.2.4
- Jul 7, 2020: 2.8.17
- Jul 4, 2020: 4.1.6
- Jul 3, 2020: 4.0.6
- Jul 3, 2020: 3.4.8
- Jul 2, 2020: 3.2.15
- Jun 15, 2020: 4.4-dev

Regards,

Neustradamus

De : ffmpeg-user  de la part de Carl Eugen 
Hoyos 
Envoyé : mardi 26 janvier 2021 18:09
À : FFmpeg user questions
Objet : Re: [FFmpeg-user] Next Release

Am Di., 26. Jan. 2021 um 10:33 Uhr schrieb Armin Hasitzka :

> Given that FFmpeg has been released on an almost
> monthly basis before that

Nearly one year passed between 4.2 and 4.3.

We recommend that all users download current
FFmpeg git head as we lack the manpower to
support other versions.

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] What is the usage for -cgop/+cgop and -g options.

2021-01-28 Thread Hongyi Zhao
On Fri, Jan 29, 2021 at 11:27 AM "zhilizhao(赵志立)"
 wrote:
>
>
>
> > On Jan 27, 2021, at 4:26 PM, Hongyi Zhao  wrote:
> >
> > On Wed, Jan 27, 2021 at 10:52 AM pdr0  wrote:
> >>
> >> Hongyi Zhao wrote
> >>> I noticed there are -cgop/+cgop and -g options used by ffmpeg. But I
> >>> really can't figure out the usage of them. Any hints will be highly
> >>> appreciated.
> >>
> >> -g is the maximum gop length (the maximum keyframe interval) . Some
> >> codecs/settings have adaptive GOP and I frame placement, but it will never
> >> exceed that value
> >
> > I've tried to search through the whole source code repo and still
> > can't find any definitive explanation about this parameter.
>
> Use `ffmpeg -h full` for quick reference.
>
> For source code, ref. libavcodec//options_table.h

Wonderful notes/hints, thanks a lot.

Best regards,
HY

>
> >
> >> cgop is for specifying closed GOP
> >
> > Same for this one.
> >
> > Best
> > --
> > Assoc. Prof. Hongyi Zhao 
> > Theory and Simulation of Materials
> > Hebei Polytechnic University of Science and Technology engineering
> > NO. 552 North Gangtie Road, Xingtai, China
> > ___
> > ffmpeg-user mailing list
> > ffmpeg-user@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".



-- 
Assoc. Prof. Hongyi Zhao 
Theory and Simulation of Materials
Hebei Polytechnic University of Science and Technology engineering
NO. 552 North Gangtie Road, Xingtai, China
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] What is the usage for -cgop/+cgop and -g options.

2021-01-28 Thread zhilizhao(赵志立)


> On Jan 27, 2021, at 4:26 PM, Hongyi Zhao  wrote:
> 
> On Wed, Jan 27, 2021 at 10:52 AM pdr0  wrote:
>> 
>> Hongyi Zhao wrote
>>> I noticed there are -cgop/+cgop and -g options used by ffmpeg. But I
>>> really can't figure out the usage of them. Any hints will be highly
>>> appreciated.
>> 
>> -g is the maximum gop length (the maximum keyframe interval) . Some
>> codecs/settings have adaptive GOP and I frame placement, but it will never
>> exceed that value
> 
> I've tried to search through the whole source code repo and still
> can't find any definitive explanation about this parameter.

Use `ffmpeg -h full` for quick reference.

For source code, ref. libavcodec//options_table.h

> 
>> cgop is for specifying closed GOP
> 
> Same for this one.
> 
> Best
> -- 
> Assoc. Prof. Hongyi Zhao 
> Theory and Simulation of Materials
> Hebei Polytechnic University of Science and Technology engineering
> NO. 552 North Gangtie Road, Xingtai, China
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate ...for Paul

2021-01-28 Thread pdr0
Mark Filipak (ffmpeg) wrote
> I've never heard of "optical flow errors". What could they be? (Got any
> links to 
> explanations?)

The artifacts in your video are optical flow errors :)

If you've ever used it - you'd recognize these artifacts. There are very
common



There are about a dozen prototypical "fail" categories or common errors that
plague all types of optical flow

These are errors either of motion vectors, or object flow (object boundaries
or "masks"), occlusion errors. 

Internet is full of examples, explanations. The topic is rather large, just
search google, there is lots of info. If you have a specific question then
ask.

Sometimes you get clean interpolated frame results;  but sometimes there are
massive distracting errors. It varies by situation and sources. 

Your example has one of the common categories of "fail" where there are
repeating patterns and textures. It falls under the "Picket Fence" fail . A
prototypical tracking or dolly shot by a picket fence, or brick wall will
come up with interpolation errors

The peripheral edges error are common because there is less data beyond the
periphery of the frame, for n-1, n+1 and the motion vectors are less
accurate compared to the center of the frame

Another common one is when objects pass over another. The flow masks aren't
perfect and you end up with blobby edge artifacts around objects







>>...For artifacts around frame edges, letterbox edges usually some form
>> of padding is used. I don't think ffmpeg minterpolate has those.
> 
> I've done that. The result was just okay. The slight riffling on the frame
> boundaries during camera 
> panning isn't all that objectionable to me. It occurs to me that
> minterpolute could queue frames and 
> look 'forward' to later frames in order to resolve boundary macroblock
> artifacts -- afterall, it has 
> the motion vectors, eh?

Some algorithms can use N-3, N-2, N-1, N, N+1, N+2, N+3, I don't think
minterpolate can.  More is not always better. Often you get more
contamination with a larger "window"

Sometimes just changing the blocksize can produce better (or worse) results.
The problem is ffmpeg minterpolate is s slow, and you have no usable
preview. Some of the other methods mentioned earlier do have previews -  so
you can tweak settings, preview, readjust etc









--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread pdr0
Mark Filipak (ffmpeg) wrote
> But perhaps by "process in parallel" you mean something else, eh?
> ...something I'm unaware of. Can 
> you expand on that?


I mean "divide and conquer" to use all resources. If you're at 20% CPU
usage, you can run 4-5 processes

eg. Split video in to 4-5 segments. Process each simultaneously, each to a
lossless intermediate, so you're at 100% CPU usage. Then reassemble and
encode to your final format



--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Marco Mircoli
Hello Jason,
   unfortunately FF-Works doesn't support audio filters.
Thanks for the suggest.
BEst


Il giorno gio 28 gen 2021 alle ore 18:16 Jason Brodkey 
ha scritto:

> When I was trying to wrap my head around ffmpeg for some things, I used
> FF-Works on the Mac.
> It allows for some fairly complex situations and, in the logs, provides the
> ffmpeg command that it used to get there.
> My need at the time was video specific. I'm unsure if it supports all the
> audio filters you're looking for.
>
> -Jason
>
>
>
> On Thu, Jan 28, 2021 at 2:17 AM Marco Mircoli 
> wrote:
>
> > Hello,
> > thanks for the reply.
> > The point is that handbrake doesn't let me access audio filters commands.
> > I need to use tools like
> > - 70HZ high pass filter
> > - expander / noise gate
> > - equalizer
> > - compressor
> > - exciter
> > - de-esser
> > - limiter
> > and handbrake hasn't control over it...or am I wrong?
> > Thanks.
> > S.
> >
> >
> > Il giorno gio 28 gen 2021 alle ore 10:24 Chris Miceli <
> ch...@miceli.net.au
> > >
> > ha scritto:
> >
> > > Hi Marco,
> > >
> > > If you are a user of MacOS then have a look at Handbrake. I think there
> > is
> > > a windows version as well but as a Linux user I'm not 100% sure.
> > >
> > > If you hunt for "handbrake alternative for X" where X is your operating
> > > system then there should be something!
> > >
> > > Thanks,
> > > Chris
> > >
> > > On Thu, Jan 28, 2021, 8:08 PM Marco Mircoli 
> > wrote:
> > >
> > > > Hello,
> > > > my problem is that I am not a programmer (I'm a sound designer)
> > > > I would like to approach FFMPEG.
> > > > It's hard for me to learn the syntax of ffmpeg.
> > > > Do you know if is there a tool that let me use ffmpeg filters in a
> > > frontend
> > > > environment and shows me the command line of what I'm doing?
> > > > Thanks in advance.
> > > > S.
> > > > ___
> > > > ffmpeg-user mailing list
> > > > ffmpeg-user@ffmpeg.org
> > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > > >
> > > > To unsubscribe, visit link above, or email
> > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> > > ___
> > > ffmpeg-user mailing list
> > > ffmpeg-user@ffmpeg.org
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > >
> > > To unsubscribe, visit link above, or email
> > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> > ___
> > ffmpeg-user mailing list
> > ffmpeg-user@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Send ffmpeg segments to stdout so they can be processed by next pipe

2021-01-28 Thread Szymon Danielczyk
When I think about it now it might be even better then what I was trying to do 
:-)
Thank you for suggesting this I will give it a go 
Cheers 
Simon

> On 29 Jan 2021, at 00:05, Mark Filipak (ffmpeg)  wrote:
> 
> Would it be possible for ffmpeg to output raw video frames, one file per 
> frame, then the next (continuously running) process to pick up the files as 
> they are created, to process them and then delete the originals on the fly? 
> Could that be done in a script?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Send ffmpeg segments to stdout so they can be processed by next pipe

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/28/2021 06:30 PM, Szymon Danielczyk wrote:

I have a pipeline like this in which I simulate a video stream

ffmpeg -i input.mov -f matroska - |\
ffmpeg -i - -codec copy -map 0 -reset_timestamps 1 \
-segment_time 10 -f segment  output/out%03d.mov

which works and it is splitting the input video into 10 sec long segment files 
saved into output folder. Now I would like to instead tell ffmpeg to pass them 
to stdout so in the next pipe I can hook up a script to decide what to do which 
each segment based on a presence of another file

ffmpeg -i input.mov -f matroska - |\
ffmpeg -i - -codec copy -map 0 -reset_timestamps 1 \
-segment_time 10 -f segment |\
NEXT_PIPE_SCRIPT

The NEXT_PIPE_SCRIPT should be something like
{
TEST_FILE=".do"
if [ -f "$TEST_FILE" ]; then
  echo "$TEST_FILE exists going to redirect videos to a folder"
 >> output/$RANDOM.mov
  else
 >> /dev/null
fi
}

The idea is that depends if the file is there or not some segments should go to 
/dev/null and some to the output folder.
After much googling I've found this old thread which sais that writing 
segmented files to stdout is not supported

https://ffmpeg.org/pipermail/ffmpeg-user/2017-November/037718.html

Also I do not see any example in the ffmpeg documentation of outputing segments 
to stdout.

If this is true will anyone have an idea how to solve it in some other way?


Would it be possible for ffmpeg to output raw video frames, one file per frame, then the next 
(continuously running) process to pick up the files as they are created, to process them and then 
delete the originals on the fly? Could that be done in a script?

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/28/2021 05:02 PM, pdr0 wrote:

Mark Filipak (ffmpeg) wrote

Is there a way to coax minterpolate to expand its hardware usage?


Not directly;

One way might be to split along cadence boundaries and process in parallel
(e.g. 4x), then reassemble


I've tried that. In fact, that's the first thing I tried, 5 months ago.
The cadence is (6/1001FPS)/(24000/1001FPS) = 2.5 frames, hence: 
telecine=pattern=55.
Using frame notation:

+--- 1/6 second ---+
[A.a__][B.b__][C.c__][D.d__] 24FPS
[A.a_][A.a_][A.b_][B.b_][B.b_][C.c_][C.c_][C.d_][D.d_][D.d_] 60FPS (telecine55)
cccc combed frames

telecine55 is 24 (existing) pictures per second, 60FPS transport.
minterpolate is 60 (interpolated) pictures per second, 60FPS transport.
I prefer minterpolate of course, but it's soo slow -- 3 days for a 
2-1/2 hour video.
telecine55 is relatively quick, and the combing is not so bad (20% @ 12Hz) as ordinary telecine (40% 
@ 6Hz).


But perhaps by "process in parallel" you mean something else, eh? ...something I'm unaware of. Can 
you expand on that?


Thanks!

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Send ffmpeg segments to stdout so they can be processed by next pipe

2021-01-28 Thread Szymon Danielczyk
I have a pipeline like this in which I simulate a video stream 

ffmpeg -i input.mov -f matroska - |\
ffmpeg -i - -codec copy -map 0 -reset_timestamps 1 \
-segment_time 10 -f segment  output/out%03d.mov

which works and it is splitting the input video into 10 sec long segment files 
saved into output folder. Now I would like to instead tell ffmpeg to pass them 
to stdout so in the next pipe I can hook up a script to decide what to do which 
each segment based on a presence of another file

ffmpeg -i input.mov -f matroska - |\
ffmpeg -i - -codec copy -map 0 -reset_timestamps 1 \
-segment_time 10 -f segment |\
NEXT_PIPE_SCRIPT

The NEXT_PIPE_SCRIPT should be something like
{
TEST_FILE=".do"
if [ -f "$TEST_FILE" ]; then
 echo "$TEST_FILE exists going to redirect videos to a folder"
>> output/$RANDOM.mov
 else 
>> /dev/null
fi
}

The idea is that depends if the file is there or not some segments should go to 
/dev/null and some to the output folder.
After much googling I've found this old thread which sais that writing 
segmented files to stdout is not supported 

https://ffmpeg.org/pipermail/ffmpeg-user/2017-November/037718.html

Also I do not see any example in the ffmpeg documentation of outputing segments 
to stdout. 

If this is true will anyone have an idea how to solve it in some other way?

Cheers
Simon 
 
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate ...for Paul

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/28/2021 02:55 PM, pdr0 wrote:

Mark Filipak (ffmpeg) wrote


In the video,

Look at the behavior of the dots on the gate behind the police here:
0:5.422 to 0:10.127.

Look especially at the top of roof of the building here: 0:12.012 to
0:12.179, for apparent
macroblock errors.

Here's the video:

https://www.dropbox.com/t/8sKE0jEguUxQgPjD

Here's the command line:

ffmpeg -i "source=24FPS.mkv" -map 0 -filter_complex
"minterpolate=fps=6/1001:mi_mode=mci:mc_mode=obmc:scd=fdiff:scd_threshold=10:vsbmc=1:search_param=20"
-codec:v libx265 -x265-params "crf=20:qcomp=0.60" -codec:a copy -codec:s
copy minterpolate.mkv



Those are not macroblock errors. They are typical optical flow errors...


Thank you, pdr0. I've never heard of "optical flow errors". What could they be? (Got any links to 
explanations?)


To me, the visual manifestation appears to be math errors inside the freshly interpolated 
macroblocks. The reason I 'say' that is because, though they appear to be sporadic, when a 
macroblock anomaly pops up, the effect is vary regular and persistent (not fleeting). In other 
words, the effect displays mathematical regularity.



... Motion interpolation is never perfect , there are always some types
artifacts, occlusions, edge morphing


Not with the regularity and persistence (longevity) I'm seeing.


There are several other methods and algorithms you can use outside of
FFmpeg, some are GPU accelerated. e.g. svpflow, mvtools2, DAIN, twixtor,
resolve. ...


Thanks. That gives me something specific for search.


...For artifacts around frame edges, letterbox edges usually some form
of padding is used. I don't think ffmpeg minterpolate has those.


I've done that. The result was just okay. The slight riffling on the frame boundaries during camera 
panning isn't all that objectionable to me. It occurs to me that minterpolute could queue frames and 
look 'forward' to later frames in order to resolve boundary macroblock artifacts -- afterall, it has 
the motion vectors, eh?


That 'said', the slight riffling on the frame boundaries (example: At the end as the red tile tiles 
atop the wall come into view. If you slow the playback, it becomes quite evident that the same math 
errors are occurring there, but only sporadically, not constantly.


Look at the offending macroblocks carefully. As the scene pans outside those macroblocks, the scene 
inside the macroblocks gets 'stuck'. Since there was no time restraint on transcode, the 'stuck' 
symptom must be math errors -- in the case of segmented (macroblock) issues, math controls the logic.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread pdr0
Mark Filipak (ffmpeg) wrote
> Suppose I explain like this: Take any of the various edge-detecting,
> deinterlacing filters and, for 
> each line-pair (y & y+1), align both output lines (y & y+1) to the mean of
> the input's 
> line(y).Y-edge & line(y+1).Y-edge. To do that, only single line-pairs are
> processed (not between 
> line-pairs), and no motion vector interpolation is needed.

There is no decomb or deinterlacing filter that does this. 

How you would do is deinterlace and optical flow. These are separate
operations

Motion vectors are required, otherwise - how else would you determine where
an object moves ? How else would you get the correct "mean" and position?  A
sobel operator looks at the current frame (or field). It's a spatial
operation. There is no relationship between the previous or next. Or if you
want, even scanlines are independent from odd scanlines.  The relationship
is the  motion vector.

Y and Y+1 are even and odd scanlines.  They are combed in the current frame
because they come from different points in time . T=0, T=1.

In this case, your "spatial mean"  is also  a "temporal mean" . eg. As an
object or pixel moves from position x=1 at T=0 to x=5 at T=1 in the next
field. The spatial mean is x=3 at T=0.5.  Instead of time T=0, T=1, you want
T=0.5, assuming linear interpolation. This is optical flow. The inbetween
point in time, and it's resulting data.



--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/28/2021 04:34 PM, Paul B Mahol wrote:

On Thu, Jan 28, 2021 at 10:23 PM Mark Filipak (ffmpeg) 
wrote:


Synopsis:

I seek to use minterpolate to take advantage of its superior output. I
present some performance
issues followed by an alternative filter_complex. So, this presentation
necessarily addresses 2
subjects.

Problem:

I'm currently transcoding a 2:43:05 1920x1080, 24FPS progressive video to
60FPS via minterpolate
filter. Apparently, the transcode will take a little more than 3 days.

Hardware:

There are 4 CPU cores (with 2 threads, each) that run at 3.6 GHz. There is
also an NVIDIA GTX 980M
GPU having 1536 CUDA cores with a driver that implements the Optimus,
CUDA-as-coprocessors architecture.

Performance:

During the transcode, ffmpeg is consuming only between 10% & 20% of the
CPU. It appears to be
single-threaded, and it appears to not be using Optimus at all.

Is there a way to coax minterpolate to expand its hardware usage?

Alternative filter_complex:

minterpolate converts 24FPS to 60FPS by interpolating every frame via
motion vectors to produce a 60
picture/second stream in a 60FPS transport. It does a truly amazing job,
but without expanded
hardware usage, it takes too long to do it.

A viable alternative is to 55 telecine the source (which simply duplicates
the n%5!=2 frames) while
interpolating solely the n%5==2 frames. That should take much less time
and would produce a 24
picture/second stream in a 60FPS transport -- totally acceptable.

The problem is that motion vector interpolation requires that minterpolate
be 'split' out and run in
parallel with the main path in the filter_complex so that the interpolated
frames can be plucked out
(n%5==2) and interleaved at the end of the filter_complex. That doesn't
make much sense because it
doesn't decrease processing (or processing time) and, if the fully
motion-interpolated stream is
produced anyway, then output it directly instead of interleaving. What's
needed is an interpolation
alternative to minterpolate.

Alternative Interpolation:

55 telecine with no interpolation or smoothing works well even though the
n%5==2 frames are combed
but decombing is desired. The problem with that is: I can't find a
deinterlace filter that does
pixel interpolation without reintroducing some telecine judder. The issue
involves spacial alignment
of the odd & even lines in the existing filters.

Some existing filters align the decombed lines with the input's top field,
some align the decombed
lines with the input's bottom field. What's desired is a filter that
aligns the decombed lines with
the spacial mean. I suggest that the Sobel might be appropriate for the
decombing (or at least, that
the Sobel can be employed to visualize what's desired).

Sobel of line y:   __/\_/\_ (edges)
Sobel of line y+1: __/\_/\_
Desired output:
 line y:   /\_/\___ (aligned to mean)
 line y+1: /\_/\___ (aligned to mean)
I could find this:
 line y:   __/\_/\_
 line y+1: __/\_/\_ (aligned to top line
edges)
and I could find this:
 line y:   __/\_/\_ (aligned to bottom
line edges)
 line y+1: __/\_/\_



Sorry, but I can not decipher above stuff. Does anybody else can?


I assume you refer to the "Alternative Interpolation" section.

Suppose I explain like this: Take any of the various edge-detecting, deinterlacing filters and, for 
each line-pair (y & y+1), align both output lines (y & y+1) to the mean of the input's 
line(y).Y-edge & line(y+1).Y-edge. To do that, only single line-pairs are processed (not between 
line-pairs), and no motion vector interpolation is needed.

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread pdr0
Paul B Mahol wrote
> On Thu, Jan 28, 2021 at 10:23 PM Mark Filipak (ffmpeg) 

> markfilipak@

> 
> wrote:
> 
>> Synopsis:
>>
>> I seek to use minterpolate to take advantage of its superior output. I
>> present some performance
>> issues followed by an alternative filter_complex. So, this presentation
>> necessarily addresses 2
>> subjects.
>>
>> Problem:
>>
>> I'm currently transcoding a 2:43:05 1920x1080, 24FPS progressive video to
>> 60FPS via minterpolate
>> filter. Apparently, the transcode will take a little more than 3 days.
>>
>> Hardware:
>>
>> There are 4 CPU cores (with 2 threads, each) that run at 3.6 GHz. There
>> is
>> also an NVIDIA GTX 980M
>> GPU having 1536 CUDA cores with a driver that implements the Optimus,
>> CUDA-as-coprocessors architecture.
>>
>> Performance:
>>
>> During the transcode, ffmpeg is consuming only between 10% & 20% of the
>> CPU. It appears to be
>> single-threaded, and it appears to not be using Optimus at all.
>>
>> Is there a way to coax minterpolate to expand its hardware usage?
>>
>> Alternative filter_complex:
>>
>> minterpolate converts 24FPS to 60FPS by interpolating every frame via
>> motion vectors to produce a 60
>> picture/second stream in a 60FPS transport. It does a truly amazing job,
>> but without expanded
>> hardware usage, it takes too long to do it.
>>
>> A viable alternative is to 55 telecine the source (which simply
>> duplicates
>> the n%5!=2 frames) while
>> interpolating solely the n%5==2 frames. That should take much less time
>> and would produce a 24
>> picture/second stream in a 60FPS transport -- totally acceptable.
>>
>> The problem is that motion vector interpolation requires that
>> minterpolate
>> be 'split' out and run in
>> parallel with the main path in the filter_complex so that the
>> interpolated
>> frames can be plucked out
>> (n%5==2) and interleaved at the end of the filter_complex. That doesn't
>> make much sense because it
>> doesn't decrease processing (or processing time) and, if the fully
>> motion-interpolated stream is
>> produced anyway, then output it directly instead of interleaving. What's
>> needed is an interpolation
>> alternative to minterpolate.
>>
>> Alternative Interpolation:
>>
>> 55 telecine with no interpolation or smoothing works well even though the
>> n%5==2 frames are combed
>> but decombing is desired. The problem with that is: I can't find a
>> deinterlace filter that does
>> pixel interpolation without reintroducing some telecine judder. The issue
>> involves spacial alignment
>> of the odd & even lines in the existing filters.
>>
>> Some existing filters align the decombed lines with the input's top
>> field,
>> some align the decombed
>> lines with the input's bottom field. What's desired is a filter that
>> aligns the decombed lines with
>> the spacial mean. I suggest that the Sobel might be appropriate for the
>> decombing (or at least, that
>> the Sobel can be employed to visualize what's desired).
>>
>> Sobel of line y:   __/\_/\_ (edges)
>> Sobel of line y+1: __/\_/\_
>> Desired output:
>>   line y:   /\_/\___ (aligned to mean)
>>   line y+1: /\_/\___ (aligned to mean)
>> I could find this:
>>   line y:   __/\_/\_
>>   line y+1: __/\_/\_ (aligned to top line
>> edges)
>> and I could find this:
>>   line y:   __/\_/\_ (aligned to bottom
>> line edges)
>>   line y+1: __/\_/\_
>>
>>
> Sorry, but I can not decipher above stuff. Does anybody else can?


He wants an "inbetween" scanline (and perhaps resampled to a full frame) for
the target frame . Y=0 and Y=1 represent scanlines from 2 different times
(fields from 2 different times). He wants something in the middle, such as
Y=0.5. ie. A retimed in-between frame , perhaps using optical flow

The other option he had been using was blend deinterlacing , a vertical blur
between Y=0 and Y=1, which combines both times, but obvious problems with
blurring and ghosting

(The best option, hands down,  is a judderless display, so you don't have
all these artifacts or blurring. Very inexpensive nowadays)









--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread pdr0
Mark Filipak (ffmpeg) wrote
> Is there a way to coax minterpolate to expand its hardware usage?

Not directly;

One way might be to split along cadence boundaries and process in parallel
(e.g. 4x), then reassemble

(There are other optical flow solutions that use GPU in other software , and
some are much faster. But all of them are prone to typical artifacts, but
some are slightly better than others)







--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread Paul B Mahol
On Thu, Jan 28, 2021 at 10:23 PM Mark Filipak (ffmpeg) 
wrote:

> Synopsis:
>
> I seek to use minterpolate to take advantage of its superior output. I
> present some performance
> issues followed by an alternative filter_complex. So, this presentation
> necessarily addresses 2
> subjects.
>
> Problem:
>
> I'm currently transcoding a 2:43:05 1920x1080, 24FPS progressive video to
> 60FPS via minterpolate
> filter. Apparently, the transcode will take a little more than 3 days.
>
> Hardware:
>
> There are 4 CPU cores (with 2 threads, each) that run at 3.6 GHz. There is
> also an NVIDIA GTX 980M
> GPU having 1536 CUDA cores with a driver that implements the Optimus,
> CUDA-as-coprocessors architecture.
>
> Performance:
>
> During the transcode, ffmpeg is consuming only between 10% & 20% of the
> CPU. It appears to be
> single-threaded, and it appears to not be using Optimus at all.
>
> Is there a way to coax minterpolate to expand its hardware usage?
>
> Alternative filter_complex:
>
> minterpolate converts 24FPS to 60FPS by interpolating every frame via
> motion vectors to produce a 60
> picture/second stream in a 60FPS transport. It does a truly amazing job,
> but without expanded
> hardware usage, it takes too long to do it.
>
> A viable alternative is to 55 telecine the source (which simply duplicates
> the n%5!=2 frames) while
> interpolating solely the n%5==2 frames. That should take much less time
> and would produce a 24
> picture/second stream in a 60FPS transport -- totally acceptable.
>
> The problem is that motion vector interpolation requires that minterpolate
> be 'split' out and run in
> parallel with the main path in the filter_complex so that the interpolated
> frames can be plucked out
> (n%5==2) and interleaved at the end of the filter_complex. That doesn't
> make much sense because it
> doesn't decrease processing (or processing time) and, if the fully
> motion-interpolated stream is
> produced anyway, then output it directly instead of interleaving. What's
> needed is an interpolation
> alternative to minterpolate.
>
> Alternative Interpolation:
>
> 55 telecine with no interpolation or smoothing works well even though the
> n%5==2 frames are combed
> but decombing is desired. The problem with that is: I can't find a
> deinterlace filter that does
> pixel interpolation without reintroducing some telecine judder. The issue
> involves spacial alignment
> of the odd & even lines in the existing filters.
>
> Some existing filters align the decombed lines with the input's top field,
> some align the decombed
> lines with the input's bottom field. What's desired is a filter that
> aligns the decombed lines with
> the spacial mean. I suggest that the Sobel might be appropriate for the
> decombing (or at least, that
> the Sobel can be employed to visualize what's desired).
>
> Sobel of line y:   __/\_/\_ (edges)
> Sobel of line y+1: __/\_/\_
> Desired output:
>   line y:   /\_/\___ (aligned to mean)
>   line y+1: /\_/\___ (aligned to mean)
> I could find this:
>   line y:   __/\_/\_
>   line y+1: __/\_/\_ (aligned to top line
> edges)
> and I could find this:
>   line y:   __/\_/\_ (aligned to bottom
> line edges)
>   line y+1: __/\_/\_
>
>
Sorry, but I can not decipher above stuff. Does anybody else can?


> Does such a decomb filter exist? I've tested every deinterlacing filter,
> and I've failed to find one.
>
> Thank you for reading all this. I'm sorry it's so long.
>
> Regards,
> Mark.
> --
> Someone's sneaking in and turning up the range so that my food burns.
> I'm sure of it.
> And the older I get, the more sure of it I become.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] minterpolate performance & alternative

2021-01-28 Thread Mark Filipak (ffmpeg)

Synopsis:

I seek to use minterpolate to take advantage of its superior output. I present some performance 
issues followed by an alternative filter_complex. So, this presentation necessarily addresses 2 
subjects.


Problem:

I'm currently transcoding a 2:43:05 1920x1080, 24FPS progressive video to 60FPS via minterpolate 
filter. Apparently, the transcode will take a little more than 3 days.


Hardware:

There are 4 CPU cores (with 2 threads, each) that run at 3.6 GHz. There is also an NVIDIA GTX 980M 
GPU having 1536 CUDA cores with a driver that implements the Optimus, CUDA-as-coprocessors architecture.


Performance:

During the transcode, ffmpeg is consuming only between 10% & 20% of the CPU. It appears to be 
single-threaded, and it appears to not be using Optimus at all.


Is there a way to coax minterpolate to expand its hardware usage?

Alternative filter_complex:

minterpolate converts 24FPS to 60FPS by interpolating every frame via motion vectors to produce a 60 
picture/second stream in a 60FPS transport. It does a truly amazing job, but without expanded 
hardware usage, it takes too long to do it.


A viable alternative is to 55 telecine the source (which simply duplicates the n%5!=2 frames) while 
interpolating solely the n%5==2 frames. That should take much less time and would produce a 24 
picture/second stream in a 60FPS transport -- totally acceptable.


The problem is that motion vector interpolation requires that minterpolate be 'split' out and run in 
parallel with the main path in the filter_complex so that the interpolated frames can be plucked out 
(n%5==2) and interleaved at the end of the filter_complex. That doesn't make much sense because it 
doesn't decrease processing (or processing time) and, if the fully motion-interpolated stream is 
produced anyway, then output it directly instead of interleaving. What's needed is an interpolation 
alternative to minterpolate.


Alternative Interpolation:

55 telecine with no interpolation or smoothing works well even though the n%5==2 frames are combed 
but decombing is desired. The problem with that is: I can't find a deinterlace filter that does 
pixel interpolation without reintroducing some telecine judder. The issue involves spacial alignment 
of the odd & even lines in the existing filters.


Some existing filters align the decombed lines with the input's top field, some align the decombed 
lines with the input's bottom field. What's desired is a filter that aligns the decombed lines with 
the spacial mean. I suggest that the Sobel might be appropriate for the decombing (or at least, that 
the Sobel can be employed to visualize what's desired).


Sobel of line y:   __/\_/\_ (edges)
Sobel of line y+1: __/\_/\_
Desired output:
 line y:   /\_/\___ (aligned to mean)
 line y+1: /\_/\___ (aligned to mean)
I could find this:
 line y:   __/\_/\_
 line y+1: __/\_/\_ (aligned to top line edges)
and I could find this:
 line y:   __/\_/\_ (aligned to bottom line 
edges)
 line y+1: __/\_/\_

Does such a decomb filter exist? I've tested every deinterlacing filter, and 
I've failed to find one.

Thank you for reading all this. I'm sorry it's so long.

Regards,
Mark.
--
Someone's sneaking in and turning up the range so that my food burns.
I'm sure of it.
And the older I get, the more sure of it I become.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate ...for Paul

2021-01-28 Thread pdr0
Mark Filipak (ffmpeg) wrote
> 
> In the video,
> 
> Look at the behavior of the dots on the gate behind the police here:
> 0:5.422 to 0:10.127.
> 
> Look especially at the top of roof of the building here: 0:12.012 to
> 0:12.179, for apparent 
> macroblock errors.
> 
> Here's the video:
> 
> https://www.dropbox.com/t/8sKE0jEguUxQgPjD
> 
> Here's the command line:
> 
> ffmpeg -i "source=24FPS.mkv" -map 0 -filter_complex 
> "minterpolate=fps=6/1001:mi_mode=mci:mc_mode=obmc:scd=fdiff:scd_threshold=10:vsbmc=1:search_param=20"
>  
> -codec:v libx265 -x265-params "crf=20:qcomp=0.60" -codec:a copy -codec:s
> copy minterpolate.mkv


Those are not macroblock errors. They are typical optical flow errors.
Motion interpolation is never perfect , there are always some types
artifacts, occlusions, edge morphing

There are several other methods and algorithms you can use outside of
FFmpeg, some are GPU accelerated. e.g. svpflow, mvtools2, DAIN, twixtor,
resolve. For artifacts around frame edges, letterbox edges usually some form
of padding is used. I don't think ffmpeg minterpolate has those.




--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate problem

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/27/2021 03:16 AM, list+ffmpeg-u...@jdlh.com wrote:

This is the part of the minterpolate video filter which defines the options:
https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/vf_minterpolate.c#L205-L235

[The following looks better in a fixed-pitch font.]

static const AVOption minterpolate_options[] = {
     { "fps", "output's frame rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "60"}, 0, 
INT_MAX, FLAGS },
     { "mi_mode", "motion interpolation mode", OFFSET(mi_mode), AV_OPT_TYPE_INT, {.i64 = 
MI_MODE_MCI}, MI_MODE_DUP, MI_MODE_MCI, FLAGS, "mi_mode" },

     CONST("dup",    "duplicate frames", MI_MODE_DUP, "mi_mode"),
     CONST("blend",  "blend frames", MI_MODE_BLEND,  "mi_mode"),
     CONST("mci",    "motion compensated interpolation", MI_MODE_MCI,    
"mi_mode"),
     { "mc_mode", "motion compensation mode", OFFSET(mc_mode), AV_OPT_TYPE_INT, {.i64 = 
MC_MODE_OBMC}, MC_MODE_OBMC, MC_MODE_AOBMC, FLAGS, "mc_mode" },

     CONST("obmc",   "overlapped block motion compensation", MC_MODE_OBMC,   
"mc_mode"),
     CONST("aobmc",  "adaptive overlapped block motion compensation", MC_MODE_AOBMC, 
"mc_mode"),
     { "me_mode", "motion estimation mode", OFFSET(me_mode), AV_OPT_TYPE_INT, {.i64 = 
ME_MODE_BILAT}, ME_MODE_BIDIR, ME_MODE_BILAT, FLAGS, "me_mode" },

     CONST("bidir",  "bidirectional motion estimation", ME_MODE_BIDIR,  
"me_mode"),
     CONST("bilat",  "bilateral motion estimation", ME_MODE_BILAT,  
"me_mode"),
     { "me", "motion estimation method", OFFSET(me_method), AV_OPT_TYPE_INT, {.i64 = 
AV_ME_METHOD_EPZS}, AV_ME_METHOD_ESA, AV_ME_METHOD_UMH, FLAGS, "me" },

     CONST("esa",    "exhaustive search", AV_ME_METHOD_ESA,   "me"),
     CONST("tss",    "three step search", AV_ME_METHOD_TSS,   "me"),
     CONST("tdls",   "two dimensional logarithmic search", AV_ME_METHOD_TDLS,  
"me"),
     CONST("ntss",   "new three step search", AV_ME_METHOD_NTSS,  "me"),
     CONST("fss",    "four step search", AV_ME_METHOD_FSS,   "me"),
     CONST("ds", "diamond search", AV_ME_METHOD_DS,    "me"),
     CONST("hexbs",  "hexagon-based search", AV_ME_METHOD_HEXBS, "me"),
     CONST("epzs",   "enhanced predictive zonal search", AV_ME_METHOD_EPZS,  
"me"),
     CONST("umh",    "uneven multi-hexagon search", AV_ME_METHOD_UMH,   
"me"),
     { "mb_size", "macroblock size", OFFSET(mb_size), AV_OPT_TYPE_INT, {.i64 = 
16}, 4, 16, FLAGS },
     { "search_param", "search parameter", OFFSET(search_param), AV_OPT_TYPE_INT, {.i64 = 32}, 4, 
INT_MAX, FLAGS },
     { "vsbmc", "variable-size block motion compensation", OFFSET(vsbmc), AV_OPT_TYPE_INT, {.i64 = 
0}, 0, 1, FLAGS },
     { "scd", "scene change detection method", OFFSET(scd_method), AV_OPT_TYPE_INT, {.i64 = 
SCD_METHOD_FDIFF}, SCD_METHOD_NONE, SCD_METHOD_FDIFF, FLAGS, "scene" },

     CONST("none",   "disable detection", SCD_METHOD_NONE, "scene"),
     CONST("fdiff",  "frame difference", SCD_METHOD_FDIFF, "scene"),
     { "scd_threshold", "scene change threshold", OFFSET(scd_threshold), AV_OPT_TYPE_DOUBLE, {.dbl = 
10.}, 0, 100.0, FLAGS },

     { NULL }
};

What that means:

There is an option, "fps", which means "output's frame rate". It can (I believe) take any frame rate 
value describe in 7.5 "Frame Rate" (http://ffmpeg.org/ffmpeg-all.html#Video-rate), including 
integers, rational numbers, and 8 special names (because "AV_OPT_TYPE_VIDEO_RATE"). The default 
value is 60 (because '{.str = "60"}').


There is an option, "mi_mode", which means "motion interpolation mode". It can take any of the 
following values:
"dup", meaning  "duplicate frames"; "blend", meaning  "blend frames"; or "mci", meaning "motion 
compensated interpolation".

The default value is "mci" (because '{.i64 = MI_MODE_MCI}' and 'CONST("mci" … 
MI_MODE_MCI').

There is an option, "mc_mode",  which means "motion compensation mode". Reading the code elsewhere 
in that file, it seems that the filter only consults this option when "mi_mode"="mci". It can take 
any of the following values:
"obmc", meaning "overlapped block motion compensation"; or "aobmc", meaning "adaptive overlapped 
block motion compensation".

The default value is "obmc" (because '{.i64 = MC_MODE_OBMC}' and 'CONST("obmc" 
… MC_MODE_OBMC').

There is an option, "me_mode", which means "motion estimation mode". Reading the code elsewhere in 
that file, it seems that the filter only consults this option when "mi_mode"="mci". It can take any 
of the following values:

"bidir", meaning "bidirectional motion estimation"; or "bilat", meaing "bilateral 
motion estimation".
The default value is "bilat" (because '{.i64 = ME_MODE_BILAT}' and 
'CONST("bilat" … ME_MODE_BILAT').

There is an option, "me", meaning "motion estimation method". Reading the code elsewhere in that 
file, it seems that the filter only consults this option when "mi_mode"="mci". It can take any 

Re: [FFmpeg-user] minterpolate ...for Paul

2021-01-28 Thread Mark Filipak (ffmpeg)

On 01/28/2021 02:05 AM, Carl Eugen Hoyos wrote:




Am 28.01.2021 um 07:26 schrieb Mark Filipak (ffmpeg) :

I'm seeing problems with minterpolate that manifest as occasional visual errors 
in particular areas.


Command line, complete, uncut console output and an input file missing.

Carl Eugen


In the video,

Look at the behavior of the dots on the gate behind the police here: 0:5.422 to 
0:10.127.

Look especially at the top of roof of the building here: 0:12.012 to 0:12.179, for apparent 
macroblock errors.


Here's the video:

https://www.dropbox.com/t/8sKE0jEguUxQgPjD

Here's the command line:

ffmpeg -i "source=24FPS.mkv" -map 0 -filter_complex 
"minterpolate=fps=6/1001:mi_mode=mci:mc_mode=obmc:scd=fdiff:scd_threshold=10:vsbmc=1:search_param=20" 
-codec:v libx265 -x265-params "crf=20:qcomp=0.60" -codec:a copy -codec:s copy minterpolate.mkv


Here's the report:

ffmpeg started on 2021-01-27 at 19:04:32
Report written to "ffmpeg-20210127-190432.log"
Log level: 32
Command line:
ffmpeg -i "source=24FPS.mkv" -map 0 -filter_complex 
"minterpolate=fps=6/1001:mi_mode=mci:mc_mode=obmc:scd=fdiff:scd_threshold=10:vsbmc=1:search_param=20" 
-codec:v libx265 -x265-params "crf=20:qcomp=0.60" -codec:a copy -codec:s copy minterpolate.mkv

ffmpeg version N-100851-g9f38fac053 Copyright (c) 2000-2021 the FFmpeg 
developers
  built with gcc 9.3-win32 (GCC) 20200320
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config 
--cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 
--disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libxml2 
--enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig 
--enable-opencl --enable-libvmaf --enable-vulkan --enable-libvorbis --enable-amf --enable-libaom 
--enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm 
--enable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus 
--enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb 
--enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband 
--enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 
--enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx26 
libavutil  56. 64.100 / 56. 64.100

  libavcodec 58.119.100 / 58.119.100
  libavformat58. 65.101 / 58. 65.101
  libavdevice58. 11.103 / 58. 11.103
  libavfilter 7.100.100 /  7.100.100
  libswscale  5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc55.  8.100 / 55.  8.100
[matroska,webm @ 0224d68d6500] Could not find codec parameters for stream 3 (Subtitle: 
hdmv_pgs_subtitle (pgssub)): unspecified size

Consider increasing the value for the 'analyzeduration' (0) and 'probesize' 
(500) options
Input #0, matroska,webm, from 'source=24FPS.mkv':
  Metadata:
encoder : libebml v1.4.0 + libmatroska v1.6.2
creation_time   : 2021-01-23T03:12:17.00Z
  Duration: 00:00:20.11, start: 0.00, bitrate: 26228 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 
23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

Metadata:
  BPS-eng : 24046529
  DURATION-eng: 00:00:20.02000
  NUMBER_OF_FRAMES-eng: 480
  NUMBER_OF_BYTES-eng: 60176441
  _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
  _STATISTICS_WRITING_DATE_UTC-eng: 2021-01-23 03:12:17
  _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, stereo, s32p (24 bit) 
(default)
Metadata:
  BPS-eng : 2085565
  DURATION-eng: 00:00:20.09600
  NUMBER_OF_FRAMES-eng: 1884
  NUMBER_OF_BYTES-eng: 5238940
  _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
  _STATISTICS_WRITING_DATE_UTC-eng: 2021-01-23 03:12:17
  _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
  BPS-eng : 192000
  DURATION-eng: 00:00:20.09600
  NUMBER_OF_FRAMES-eng: 628
  NUMBER_OF_BYTES-eng: 482304
  _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
  _STATISTICS_WRITING_DATE_UTC-eng: 2021-01-23 03:12:17
  _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle
Metadata:
  BPS-eng : 0
  DURATION-eng: 00:00:00.0
  NUMBER_OF_FRAMES-eng: 0
  NUMBER_OF_BYTES-eng: 0
  _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
  _STATISTICS_WRITING_DATE_UTC-eng: 2021-01-23 03:12:17
  _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Re: [FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Jason Brodkey
On Thu, Jan 28, 2021 at 9:11 AM Jason Brodkey  wrote:

> When I was trying to wrap my head around ffmpeg for some things, I used
> FF-Works on the Mac.
> It allows for some fairly complex situations and, in the logs, provides
> the ffmpeg command that it used to get there.
> My need at the time was video specific. I'm unsure if it supports all the
> audio filters you're looking for.
>
> -Jason
>
>
>
> On Thu, Jan 28, 2021 at 2:17 AM Marco Mircoli 
> wrote:
>
>> Hello,
>> thanks for the reply.
>> The point is that handbrake doesn't let me access audio filters commands.
>> I need to use tools like
>> - 70HZ high pass filter
>> - expander / noise gate
>> - equalizer
>> - compressor
>> - exciter
>> - de-esser
>> - limiter
>> and handbrake hasn't control over it...or am I wrong?
>> Thanks.
>> S.
>>
>>
>> Il giorno gio 28 gen 2021 alle ore 10:24 Chris Miceli <
>> ch...@miceli.net.au>
>> ha scritto:
>>
>> > Hi Marco,
>> >
>> > If you are a user of MacOS then have a look at Handbrake. I think there
>> is
>> > a windows version as well but as a Linux user I'm not 100% sure.
>> >
>> > If you hunt for "handbrake alternative for X" where X is your operating
>> > system then there should be something!
>> >
>> > Thanks,
>> > Chris
>> >
>> > On Thu, Jan 28, 2021, 8:08 PM Marco Mircoli 
>> wrote:
>> >
>> > > Hello,
>> > > my problem is that I am not a programmer (I'm a sound designer)
>> > > I would like to approach FFMPEG.
>> > > It's hard for me to learn the syntax of ffmpeg.
>> > > Do you know if is there a tool that let me use ffmpeg filters in a
>> > frontend
>> > > environment and shows me the command line of what I'm doing?
>> > > Thanks in advance.
>> > > S.
>> > > ___
>> > > ffmpeg-user mailing list
>> > > ffmpeg-user@ffmpeg.org
>> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> > >
>> > > To unsubscribe, visit link above, or email
>> > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>> > ___
>> > ffmpeg-user mailing list
>> > ffmpeg-user@ffmpeg.org
>> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> >
>> > To unsubscribe, visit link above, or email
>> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>> ___
>> ffmpeg-user mailing list
>> ffmpeg-user@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
>

... And I Top Posted.  D’oh.
Sorry all!
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Jason Brodkey
When I was trying to wrap my head around ffmpeg for some things, I used
FF-Works on the Mac.
It allows for some fairly complex situations and, in the logs, provides the
ffmpeg command that it used to get there.
My need at the time was video specific. I'm unsure if it supports all the
audio filters you're looking for.

-Jason



On Thu, Jan 28, 2021 at 2:17 AM Marco Mircoli  wrote:

> Hello,
> thanks for the reply.
> The point is that handbrake doesn't let me access audio filters commands.
> I need to use tools like
> - 70HZ high pass filter
> - expander / noise gate
> - equalizer
> - compressor
> - exciter
> - de-esser
> - limiter
> and handbrake hasn't control over it...or am I wrong?
> Thanks.
> S.
>
>
> Il giorno gio 28 gen 2021 alle ore 10:24 Chris Miceli  >
> ha scritto:
>
> > Hi Marco,
> >
> > If you are a user of MacOS then have a look at Handbrake. I think there
> is
> > a windows version as well but as a Linux user I'm not 100% sure.
> >
> > If you hunt for "handbrake alternative for X" where X is your operating
> > system then there should be something!
> >
> > Thanks,
> > Chris
> >
> > On Thu, Jan 28, 2021, 8:08 PM Marco Mircoli 
> wrote:
> >
> > > Hello,
> > > my problem is that I am not a programmer (I'm a sound designer)
> > > I would like to approach FFMPEG.
> > > It's hard for me to learn the syntax of ffmpeg.
> > > Do you know if is there a tool that let me use ffmpeg filters in a
> > frontend
> > > environment and shows me the command line of what I'm doing?
> > > Thanks in advance.
> > > S.
> > > ___
> > > ffmpeg-user mailing list
> > > ffmpeg-user@ffmpeg.org
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > >
> > > To unsubscribe, visit link above, or email
> > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> > ___
> > ffmpeg-user mailing list
> > ffmpeg-user@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Marco Mircoli
Hello,
thanks for the reply.
The point is that handbrake doesn't let me access audio filters commands.
I need to use tools like
- 70HZ high pass filter
- expander / noise gate
- equalizer
- compressor
- exciter
- de-esser
- limiter
and handbrake hasn't control over it...or am I wrong?
Thanks.
S.


Il giorno gio 28 gen 2021 alle ore 10:24 Chris Miceli 
ha scritto:

> Hi Marco,
>
> If you are a user of MacOS then have a look at Handbrake. I think there is
> a windows version as well but as a Linux user I'm not 100% sure.
>
> If you hunt for "handbrake alternative for X" where X is your operating
> system then there should be something!
>
> Thanks,
> Chris
>
> On Thu, Jan 28, 2021, 8:08 PM Marco Mircoli  wrote:
>
> > Hello,
> > my problem is that I am not a programmer (I'm a sound designer)
> > I would like to approach FFMPEG.
> > It's hard for me to learn the syntax of ffmpeg.
> > Do you know if is there a tool that let me use ffmpeg filters in a
> frontend
> > environment and shows me the command line of what I'm doing?
> > Thanks in advance.
> > S.
> > ___
> > ffmpeg-user mailing list
> > ffmpeg-user@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] minterpolate problem

2021-01-28 Thread Paul B Mahol
On Thu, Jan 28, 2021 at 7:04 AM Mark Filipak (ffmpeg) 
wrote:

> On 01/27/2021 05:47 PM, Carl Eugen Hoyos wrote:
> > Am Mi., 27. Jan. 2021 um 02:03 Uhr schrieb Mark Filipak (ffmpeg)
> > :
> >
> >> ffmpeg -i SOURCE -map 0 -filter_complex "split[1][2], \
> >> [1]telecine=pattern=55, select=not(eq(mod(n\,5)\,2))[3], \
> >>
> [2]minterpolate=fps=6/1001:mi_mode=mci=mc_mode=obmc:scd=fdiff:scd_threshold=10,
> \
> >> select=eq(mod(n\,5)\,2)[4], \
> >> [3][4]interleave" \
> >> -codec:v libx265 -x265-params "crf=16:qcomp=0.60" -codec:a copy
> -codec:s copy TARGET
> >
> > Since others may read this:
> > The command line makes little sense, you should either use
> > telecine or minterpolate.
>
> Carl Eugen, you surprise me. I'm sure you see what I'm trying to do, so
> why the angst?
>
> First, let me admit that since I started this thread (following weeks of
> experimentation) I decided
> to simply try this: 'minterpolate=fps=6/1001' to see what it would do.
> I was amazed.
>
> If minterpolate is Paul's work, then Paul is a f'ing genius.
>
> I've since spent a couple of days playing with minterpolate and have found
> that this:
>
> 'minterpolate=fps=6/1001:mi_mode=mci:mc_mode=obmc:scd=fdiff:scd_threshold=10:vsbmc=1:search_param=20'
> is astounding.
>
> Nonetheless, I'd still like to generate a 60 FPS transcode that is
> visually equivalent (as closely
> as possible) to 24 pictures/second by replacing the combed frame (i.e.
> n%5==2) by an interpolated
> frame -- hence the filter graph you loathe.
>
> For that n%5==2 frame, here's what I sought (and did not find):
>
> Sobel of line y:   __/\_/\_
> Sobel of line y+1: __/\_/\_
> Desired output:
>   line y:   /\_/\___
>   line y+1: /\_/\___
> I could find this:
>   line y:   __/\_/\_
>   line y+1: __/\_/\_ (aligned to top line)
> and I could find this:
>   line y:   __/\_/\_ (aligned to bottom
> line)
>   line y+1: __/\_/\_
> but I could not find this:
>   line y:   /\_/\___ (aligned to mean)
>   line y+1: /\_/\___ (aligned to mean)
>
>
Please cite reference/paper that explains this technique in more detail.



> One reason I might -- MIGHT -- prefer telecine55 is that the original
> frames are recoverable from
> the transcodes -- but admittedly, that's not much of a reason, is it?
> Another reason is that the
> transcode is much, much quicker than 'minterpolate=fps=6/1001' and
> somewhat smaller.
>
> There you have it, Carl Eugen. Please stop trying to make the world think
> I'm feeble minded.  :-)
> Okay?
>
> Regards,
> Mark.
>
> --
> Someone's sneaking in and turning up the range so that my food burns.
> I'm sure of it.
> And the older I get, the more sure of it I become.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Chris Miceli
Hi Marco,

If you are a user of MacOS then have a look at Handbrake. I think there is
a windows version as well but as a Linux user I'm not 100% sure.

If you hunt for "handbrake alternative for X" where X is your operating
system then there should be something!

Thanks,
Chris

On Thu, Jan 28, 2021, 8:08 PM Marco Mircoli  wrote:

> Hello,
> my problem is that I am not a programmer (I'm a sound designer)
> I would like to approach FFMPEG.
> It's hard for me to learn the syntax of ffmpeg.
> Do you know if is there a tool that let me use ffmpeg filters in a frontend
> environment and shows me the command line of what I'm doing?
> Thanks in advance.
> S.
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] VOICE POST PRODUCTION IN ONE LINE

2021-01-28 Thread Michael Koch

Am 28.01.2021 um 09:44 schrieb Marco Mircoli:

Goodmorning everyone.
I'm new to ffmpeg and was wondering if anyone from the group could help me
set up a command line.
My goal is to improve voice audio recordings.
I would like to be able to do this starting from a command line I have in
my script, modifying it to add:

- 70HZ high pass filter
- expander / noise gate
- equalizer
- compressor
- exciter
- de-esser
- limiter
- loudnorm to r128 (there is already)

It would be nice to have all this just in one line, is it possible?
This is the string where I'm starting from.

$ shell = shell_exec ("$ ffmpeg_b -i $ audio_file_full_path -map 0: a: 0
-af loudnorm -b: a 96k $ audio_output_mp3 2> & 1");


yes, I think it's possible to do all this in one command line. All these 
features must be added at the beginning of the audio filter chain, 
that's between "-af" and "loudnorm". For example:


$ shell = shell_exec ("$ ffmpeg_b -i $ audio_file_full_path -map 0: a: 0
-af highpass=f=70,loudnorm -b: a 96k $ audio_output_mp3 2> & 1");

Michael
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Tool to write ffmpeg strings

2021-01-28 Thread Marco Mircoli
Hello,
my problem is that I am not a programmer (I'm a sound designer)
I would like to approach FFMPEG.
It's hard for me to learn the syntax of ffmpeg.
Do you know if is there a tool that let me use ffmpeg filters in a frontend
environment and shows me the command line of what I'm doing?
Thanks in advance.
S.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] VOICE POST PRODUCTION IN ONE LINE

2021-01-28 Thread Marco Mircoli
Goodmorning everyone.
I'm new to ffmpeg and was wondering if anyone from the group could help me
set up a command line.
My goal is to improve voice audio recordings.
I would like to be able to do this starting from a command line I have in
my script, modifying it to add:

- 70HZ high pass filter
- expander / noise gate
- equalizer
- compressor
- exciter
- de-esser
- limiter
- loudnorm to r128 (there is already)

It would be nice to have all this just in one line, is it possible?
This is the string where I'm starting from.

$ shell = shell_exec ("$ ffmpeg_b -i $ audio_file_full_path -map 0: a: 0
-af loudnorm -b: a 96k $ audio_output_mp3 2> & 1");

  Thanks in advance.
Best.
S.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".