
Recherche avancée
Autres articles (55)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Contribute to a better visual interface
13 avril 2011MediaSPIP 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 2011If 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 (9044)
-
ffmpeg : Apply a time-based expression to control lowpass, highpass, aphaser, or aecho [closed]
17 mai 2024, par Wes ModesI 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 ?


-
Blur a video based on timestamps using FFMPEG
22 avril 2020, par Aeren singhI have a JSON file which contains location of human faces as well as their timestamp throughout the video.
I want to blur the video at multiple locations. My scenario is like there may be 3 faces at given time all 3 should be blurred, at times there may be no faces and hence no blurring will be needed.


-
Add a compat stdatomic.h implementation based on suncc atomics
29 novembre 2016, par Anton KhirnovAdd a compat stdatomic.h implementation based on suncc atomics
Adapted from the code by Rémi Denis-Courmont from VLC
This merges libav commit bb81ed476569b912a37ed553e756e123b6b13b14.
Signed-off-by : Wan-Teh Chang <wtc@google.com>
Reviewed-by : wm4 <nfxjfg@googlemail.com>
Signed-off-by : James Almer <jamrial@gmail.com>