
Recherche avancée
Médias (91)
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#1 The Wires
11 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (99)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (11071)
-
avformat/mxfdec : Detect field_order based on video_line_map
19 octobre 2016, par Tobias Rappavformat/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> -
Revision 7c70145914 : Merge "Add col/row-based coefficient scanning patterns for 1D 8x8/16x16 ADSTs."
27 mars 2013, par Ronald S. BultjeChanged 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 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 ?