Recherche avancée

Médias (1)

Mot : - Tags -/wave

Autres articles (41)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • 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.

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

Sur d’autres sites (8328)

  • avformat/mxfdec : Detect field_order based on video_line_map

    19 octobre 2016, par Tobias Rapp
    avformat/mxfdec : Detect field_order based on video_line_map
    

    Read video_line_map from MXF generic picture essence descriptor and use
    it to derive the coded field order. Use field_dominance to derive the
    display field order from coded field order. If field_dominance is not
    available the default value "1" is used as defined in SMPTE S377-1.

    Fixes field_order detection for a bunch of DV/DVCPRO files. The heuristic
    for deriving coded field order from video_line_map is inspired by
    MediaInfo.

    Signed-off-by : Tobias Rapp <t.rapp@noa-archive.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/mxfdec.c
  • Revision 7c70145914 : Merge "Add col/row-based coefficient scanning patterns for 1D 8x8/16x16 ADSTs."

    27 mars 2013, par Ronald S. Bultje

    Changed Paths : Modify /vp9/encoder/vp9_rdopt.c Merge "Add col/row-based coefficient scanning patterns for 1D 8x8/16x16 ADSTs." into experimental

  • 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 :

    &#xA;

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

    &#xA;

    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 :

    &#xA;

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

    &#xA;

    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 :

    &#xA;

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

    &#xA;

    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.

    &#xA;

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

    &#xA;

    Or if you prefer the fluent-ffmpeg filter :

    &#xA;

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

    &#xA;

    With the resultant error :

    &#xA;

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

    &#xA;

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

    &#xA;