From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id BC0B6458B2 for ; Mon, 27 Mar 2023 05:25:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 34B5968C8F3; Mon, 27 Mar 2023 08:25:22 +0300 (EEST) Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 26BAC68C693 for ; Mon, 27 Mar 2023 08:25:16 +0300 (EEST) Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4PlLqY4hKyz9sSM for ; Mon, 27 Mar 2023 07:25:13 +0200 (CEST) Message-ID: <9282f389-1307-a3bb-90c5-9b5b05642e5e@gyani.pro> Date: Mon, 27 Mar 2023 10:54:59 +0530 MIME-Version: 1.0 From: Gyan Doshi To: ffmpeg-devel@ffmpeg.org References: <20230327000841.94338-1-stefasab@gmail.com> Content-Language: en-US In-Reply-To: <20230327000841.94338-1-stefasab@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH] doc/filters: extend section about command, warn about undesirable behaviors X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 2023-03-27 05:38 am, Stefano Sabatini wrote: > Extend documentation about commands, and add a note to warn users in > case of commands which might fail in special cases, based on a report > by Michael Koch. > > Fix trac issue: > http://trac.ffmpeg.org/ticket/8987 > --- > doc/filters.texi | 45 ++++++++++++++++++++++++++++++++++++++++----- > 1 file changed, 40 insertions(+), 5 deletions(-) > > diff --git a/doc/filters.texi b/doc/filters.texi > index 4449998ba4..3db7280bb5 100644 > --- a/doc/filters.texi > +++ b/doc/filters.texi > @@ -327,11 +327,41 @@ See @code{ffmpeg -filters} to view which filters have timeline support. > @anchor{commands} > @chapter Changing options at runtime with a command > > -Some options can be changed during the operation of the filter using > -a command. These options are marked 'T' on the output of > -@command{ffmpeg} @option{-h filter=}. > -The name of the command is the name of the option and the argument is > -the new value. > +Some filters accepts interactive commands which can be sent to filters to > +interactively change their behavior . Are they really interactive? Just a return code the other way, not exactly ChatGPT. How about: "Some filters allow modification of some or all of their parameters during execution via commands." > + > +When a filter supports commands, it is possible to send a command to the filter, > +either programmatically through the @code{avfilter_process_command()} function > +defined in @file{avfilter.h}, or through dedicated filters such as @ref{sendcmd} > +or @ref{zmq}. Should mention ffmpeg.c keyboard interaction. > +A command can be sent to a filtergraph by specifying the following parameters: > +@table @option > + > +@item target > +a filter target, is specified as the unique filter name in the filterchain, or > +as the filter class name followed by "@@@var{id}", where @var{id} is the unique > +filter identifier assigned to the filter in the filtergraph specification > + > +@item command > +the name of the command defined in the filter > + > +@item arg > +an optional argument specifying the option to set through the command > +@end table > + > +Commands are shown as options and marked with the @code{T} flag on the output of > +@command{ffmpeg} @option{-h filter=}. The name of the > +corresponding option is the name of the command and the argument is the value > +set through the command. > + > +Keep in mind that some commands might change some filters configuration causing > +unexpected behavior. For example, it is possible to send the @command{width} > +command to the @ref{scale} filter for changing the size of a video stream. But > +changing the size mid-stream is not supported by many other filters (for example > +@ref{eq}, @ref{colorkey} and @ref{despill}). In some cases it works (for example This note in the general section won't help a user identify which filters are liable to make such changes via commands. Such notes are best individually placed in the Commands subsection of filters which can change AVFrame format midway, of which there are only a few. > +the output of @ref{scale} can be used as the second input of @ref{overlay}), but > +in most other cases it would fail. > > @anchor{framesync} > @chapter Options for filters with several inputs (framesync) > @@ -9503,6 +9533,7 @@ Allowed range is from 0.0 to 1.0. > > This filter supports the all above options as @ref{commands}. > > +@anchor{colorkey} > @section colorkey > RGB colorspace color keying. > This filter operates on 8-bit RGB format frames by setting the alpha component of each pixel > @@ -11421,6 +11452,7 @@ specified file. > > @end table > > +@anchor{despill} > @section despill > > Remove unwanted contamination of foreground colors, caused by reflected color of > @@ -12704,6 +12736,7 @@ Set the scaling dimension: @code{2} for @code{2xEPX}, @code{3} for > Default is @code{3}. > @end table > > +@anchor{eq} > @section eq > Set brightness, contrast, saturation and approximate gamma adjustment. > > @@ -29016,6 +29049,7 @@ ffmpeg -copyts -vsync 0 -segment_time_metadata 1 -i input.ffconcat -vf select=co > @end example > @end itemize > > +@anchor{sendcmd} > @section sendcmd, asendcmd > > Send commands to filters in the filtergraph. > @@ -30762,6 +30796,7 @@ ffmpeg -i INPUT -filter_complex asplit=5 OUTPUT > @end example > @end itemize > > +@anchor{zmq} > @section zmq, azmq > > Receive commands sent through a libzmq client, and forward them to _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".