Recherche avancée

Médias (0)

Mot : - Tags -/optimisation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (61)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (8117)

  • Add new build based on jQuery UI build file

    20 mars 2011, par jzaefferer

    + build.xml + build/ant-contrib-0.6.jar + build/google-compiler-20110320.jar Add new build based on jQuery UI build file

  • 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