Recherche avancée

Médias (91)

Autres articles (75)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (8502)

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

    17 mai 2024, par Wes Modes

    I am procedurally constructing complexFilters for ffmpeg via fluent-ffmpeg. 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.

    


    Here I'm testing on the command line, to understand the mysteries of lightly-documented ffmpeg filters. I'm fading in and out two sources, intertwined in the output. Now I want to apply lowpass, highpass, aphaser, and/or aecho to the transitions using a time-based expr.

    


    I've already succeeded using the volume filter to fade the sources in and out (Note that the sine has reversed polarity for the second volume filter) :

    


    # 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


    


    ffmpeg -filters says that lowpass 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 these other filters to source1 using a time-bassed expr ? I was unsuccessful in figuring out lowpass and highpass :

    


    # applying a lowpass filter
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, \
    lowpass=f=3000: mix='0.5 + 0.5 * cos(PI * t / 5)' \
    [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


    


    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 ?

    


  • movenc : Set the last packet duration based on the next packet when autoflushing

    9 mars 2015, par Martin Storsjö
    movenc : Set the last packet duration based on the next packet when autoflushing
    

    When automatically flushing fragments based on set conditions
    (fragmentation on keyframes, after some interval or byte size),
    we already have the next packet for one stream - use this for setting
    the duration of the last packet in the flushed fragment correctly.

    This avoids having to adjust the timestamp of the first packet in
    the new fragment since the last duration was unknown.

    Unfortunately, this only works for automatic flushing (not for
    caller-triggered flushing, like in the dash muxer), and only for the
    one single track that triggered the flushing. The duration of the
    last sample in all other tracks still is dependent on AVPacket
    duration (or heuristics).

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavformat/movenc.c
  • Revision ac53c41e64 : Merge "Tile based adaptive mode search in RD loop"

    25 octobre 2014, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_encoder.c


     Modify /vp9/encoder/vp9_encoder.h



    Merge "Tile based adaptive mode search in RD loop"