Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (83)

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

Sur d’autres sites (6842)

  • ffmpeg : Apply a time-based expression to control lowpass, highpass, aphaser, or aecho [closed]

    17 mai 2024, par Wes Modes

    I am constructing complexFilters to procedurally generate audio with ffmpeg via fluent-ffmpeg. The interesting part of my fluent-ffmpeg complex filters look like :

    


    {
   "filter": "volume",
   "options": {
       "volume": "min(1, max(0, ((cos(PI * t * 1 / 13) * 1 + cos(PI * t * 1 / 7) * 0.5 + cos(PI * t * 1 / 3) * 0.25) +
-0.5 ) * 0.75 * -1 + 0.5))",
       "eval": "frame"
    },
    "inputs": "track_1_output",
    "outputs": "track_1_adjusted"
},


    


    Note that I am using an expression to determine the volume dynamically. To simplify my tests, I'm constructing complexFilters on the command line to understand the mysteries of some of the lightly-documented ffmpeg filters. Here's a working CLI test of using the volume filter to fade the sources in and out according to a time-based expresssion :

    


    # working fade in/out
ffmpeg -i knox.mp3 -i static.mp3 -filter_complex \
"[0:a] \
    volume = 'min(1, max(0, 0.5 + 0.5 * cos(PI * t / 5)))': eval=frame \
    [a0]; \
[1:a] \
    volume = 'min(1, max(0, 0.5 - 0.5 * cos(PI * t / 5)))': eval=frame \
    [a1]; \
[a0][a1]
    amix = inputs=2: duration=shortest" \
-c:a libmp3lame -q:a 2 output.mp3


    


    Now I want to apply lowpass, highpass, aphaser, and/or aecho to the transitions using a time-based expression. For instance, looking at lowpasss, according to ffmpeg -filters it says that it has time-based support :

    


      T.. = Timeline support
 TSC lowpass           A->A       Apply a low-pass filter with 3dB point frequency.


    


    How can I similarly apply a time-based expression to lowpass, highpass, aphaser, or aecho ? I thought the mix option might be the key, but I couldn't construct a working example and couldn't find any examples.

    


    # applying a lowpass filter
ffmpeg -i knox.mp3 -filter_complex \
"[0:a] \
    lowpass=f=3000:mix='0.5 + 0.5 * cos(PI * t / 5)';" \
-c:a libmp3lame -q:a 2 output.mp3


    


    Or if you prefer the fluent-ffmpeg filter :

    


    const ffmpeg = require('fluent-ffmpeg');

ffmpeg('knox.mp3')
    .complexFilter([
        {
            filter: 'lowpass',
            options: {
                f: 3000,
                mix: '0.5 + 0.5 * cos(PI * t / 5)'
            },
            inputs: '[0:a]',
        }
    ])
    .audioCodec('libmp3lame')
    .audioQuality(2)
    .save('output.mp3')
    .on('end', () => {
        console.log('Processing finished successfully');
    })
    .on('error', (err) => {
        console.error('Error: ' + err.message);
    });


    


    With the resultant error :

    


    [Parsed_lowpass_1 @ 0x7f9a72005c00] [Eval @ 0x7ff7bec423d8] Undefined constant or missing '(' in 't/5)'
[Parsed_lowpass_1 @ 0x7f9a72005c00] Unable to parse option value "0.5 + 0.5 * cos(PI * t / 5)"
Error applying option 'mix' to filter 'lowpass': Invalid argument


    


    What complicated fffmpeg faerie magic is needed to make some of the filters other than volume controlled by a time-based expr ?

    


  • how to use ffmpeg to apply 1:1 SAR before concat on large complex filter

    24 avril 2019, par 2c2c

    I use ffmpeg to concat videos in a fashion similar to this :

    I ran into a weird error with my inputs

    [Parsed_concat_0 @ 000000002a05bb80] Input link in10:v0 parameters (size 1280x720, SAR 2049:2048)
    do not match the corresponding output link in0:v0 parameters (1280x720, SAR 1:1)

    From what I’ve researched I need to use setsar to force all the videos to be 1:1 before I concat, but I’m not sure how to do that in my filter.

  • avfilter/vf_convolution : add float user_rdiv[4] to allow user options to apply correctly

    24 février 2024, par Stone Chen
    avfilter/vf_convolution : add float user_rdiv[4] to allow user options to apply correctly
    

    Previously to support dynamic reconfigurations of the matrix string (e.g. 0m),
    the rdiv values would always be cleared to 0.f, causing the rdiv to be
    recalculated based on the new filter. This however had the side effect of
    always ignoring user specified rdiv values.

    Instead float user_rdiv[0] is added to ConvolutionContext which will store the
    user specified rdiv values. Then the original rdiv array will store either the
    user_rdiv or the automatically calculated 1/sum.

    This fixes trac ticket #10294, #10867.

    Signed-off-by : Stone Chen <chen.stonechen@gmail.com>
    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] libavfilter/convolution.h
    • [DH] libavfilter/vf_convolution.c