
Recherche avancée
Médias (91)
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
-
USGS Real-time Earthquakes
8 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
SWFUpload Process
6 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (46)
-
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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.
Sur d’autres sites (9055)
-
JavaScript Audio Decoder Library or Way to Decode Browser Unsupported Audio Formats ?
20 mars 2023, par user21338683The issue :


I've spent a week trying to figure out how I can play or decode ALAC files in my Electron application.


Libraries I have tried or looked at :


- 

-
Aurora - Github issues have been stale for years. Last updates were in 2016. It doesn't work when I install it with npm.


-
Audio Decode - Doesn't support ALAC.


-
WASM Audio Decoders - Doesn't support ALAC.


-
Web Audio API from AudioJS - Depends on Aurora. Same issue where it fails to load coffee files.


-
FFmpeg.JS from Kagami - Has a memory leak then crashes.


-
FFmpeg.wasm - I went down a very deep rabbit hole trying to figure out if this was the tool I needed. More on that later.


-
A few backend audio players for NodeJS - I don't remember their names but they're all unmaintained.


-
HowlerJS - I don't know what formats they support, but it looks like it's the same as the browser, which would mean no ALAC. Still unsure.




















Things I've tried :


Web Audio API | MSE


I have tried looking into the Web Audio API and MSE and left disappointed in their lack of support for a variety of audio formats.


FFmpeg.wasm


I got it to convert an ALAC file into a format the Electron browser (which is Chrome) would accept, however, it can take several seconds to convert the whole file which is not acceptable to wait that long after you click play.


I tried reading a file stream and converting chunks, however, I was limited by what I could pass through the IPC as it's not possible to pass functions or things that can't be stringified.


Ultimately I would need to coordinate when to fetch the chunks and then play them, which sounded like a job for MSE until I read the formats it supported were even less than the Web Audio API and HTML audio tag.


I tried to set it up anyway by converting chunks in FFmpeg and reading from its memory, then passing that to an AudioContext originally, but it never played as the source was invalid. I then tried converting to a supported MSE format but that required getting the MIME type and codecs. I now needed a library for that or read the bytes myself... I used Google and the only results I get are for video decoding. Not what I need. Mux.JS is ESM based, won't work on Electron aside from its scope looking more like it's used for videos. Same for MP4Box, I just don't know yet if they will work for audio.


I got something to play using MSE by lying and saying the MIME type would be audio/mpeg. That's not scalable, not to mention MP3 is lossy and the audio tag already plays it. I don't want to convert a FLAC (which MSE doesn't support) to an MP3 just to play it when the audio tag already plays FLAC natively. That would also degrade the quality of the audio.


I also tried writing to a specific decode file and reading it while it was being written to (no idea if that could work). I didn't get the results I was looking for. Basically the file wasn't valid when it was accessed and it never got re-queried once it finished being decoded. And again, I can't pass a callback through the IPC to run once it finishes because that doesn't work. IPC doesn't pass functions.


My Next Steps


I'm reaching out here on StackOverflow to see if there is anything I can do, or try, or think of, or use. Something tells me there is a way to get this to work.


If you need extra info I can provide it. If I asked my question wrong I apologize, I'm new here. I have done some searching for existing issues, which is how I found the libraries I listed as well as browser support for different audio formats. However, the ones I found didn't dive deeper into the issue. They issues simply ended with links to browser support specs or giving the author libraries to check out. FFmpeg.wasm seems to be the most promising one, I still have it installed and trying to use it.


-
-
New ffmpeg build issue : libavcodec/aacps_tablegen.h error : expected declaration specifiers or ‘...’ before numeric constant
16 mars 2023, par gaamaaffmpeg build error :
Raspberry Pi 4 B+,
Raspberry Pi OS Buster 32bit


Two years back I built ffmpeg successfully with same script on the same setup.
Now I try building new version ffmpeg 5.0, I get below error and build fails.


I nearly tried more than 10 times with even many other OS version.
Raspberry Pi OS Buster 32bit
Raspberry Pi OS Bullseys 32bit
Raspberry Pi OS Bullseys 64bit


I even tried many scripts :
https://github.com/NRCHKB/nrchkb-ffmpeg-build
https://github.com/NRCHKB/nrchkb-ffmpeg-build/discussions/11
https://github.com/NRCHKB/nrchkb-ffmpeg-build/discussions/11#discussioncomment-5008967
https://gist.github.com/milankragujevic/bd38d796ea6eea27f229216d75d6c202
https://gist.github.com/wildrun0/86a890585857a36c90110cee275c45fd#file-compile-ffmpeg-sh


Almost all are showing same error at the end.
Should I doubt the latest ffmpeg git source ?
https://github.com/FFmpeg/FFmpeg.git


All showing same error on the files :
libavcodec/aacps_tablegen.h
libavcodec/aacps_tablegen_template.c


No solution found on the internet on my searches
It will be highy appreciated if some ffmpeg experts solve this issue.


./config.h:594: warning: "CONFIG_HARDCODED_TABLES" redefined
 #define CONFIG_HARDCODED_TABLES 1

In file included from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen_template.c:25: note: this is the location of the previous definition
 #define CONFIG_HARDCODED_TABLES 0

In file included from libavcodec/aacps_tablegen_template.c:39,
 from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen.h:46:24: error: expected declaration specifiers or ‘...’ before numeric constant
 static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
 ^~
libavcodec/aacps_tablegen.h:46:35: error: unknown type name ‘f20_0_8’
 static DECLARE_ALIGNED(16, float, f20_0_8) [ 8][8][2];
 ^~~~~~~
libavcodec/aacps_tablegen.h:47:24: error: expected declaration specifiers or ‘...’ before numeric constant
 static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
 ^~
libavcodec/aacps_tablegen.h:47:35: error: unknown type name ‘f34_0_12’
 static DECLARE_ALIGNED(16, float, f34_0_12)[12][8][2];
 ^~~~~~~~
libavcodec/aacps_tablegen.h:48:24: error: expected declaration specifiers or ‘...’ before numeric constant
 static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
 ^~
libavcodec/aacps_tablegen.h:48:35: error: unknown type name ‘f34_1_8’
 static DECLARE_ALIGNED(16, float, f34_1_8) [ 8][8][2];
 ^~~~~~~
libavcodec/aacps_tablegen.h:49:24: error: expected declaration specifiers or ‘...’ before numeric constant
 static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
 ^~
libavcodec/aacps_tablegen.h:49:35: error: unknown type name ‘f34_2_4’
 static DECLARE_ALIGNED(16, float, f34_2_4) [ 4][8][2];
 ^~~~~~~
libavcodec/aacps_tablegen.h:50:36: error: expected declaration specifiers or ‘...’ before numeric constant
 static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
 ^~
libavcodec/aacps_tablegen.h:50:47: error: unknown type name ‘Q_fract_allpass’
 static TABLE_CONST DECLARE_ALIGNED(16, float, Q_fract_allpass)[2][50][3][2];
 ^~~~~~~~~~~~~~~
libavcodec/aacps_tablegen.h:51:24: error: expected declaration specifiers or ‘...’ before numeric constant
 static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
 ^~
libavcodec/aacps_tablegen.h:51:35: error: unknown type name ‘phi_fract’
 static DECLARE_ALIGNED(16, float, phi_fract)[2][50][2];
 ^~~~~~~~~
libavcodec/aacps_tablegen.h: In function ‘ps_tableinit’:
libavcodec/aacps_tablegen.h:187:13: error: ‘Q_fract_allpass’ undeclared (first use in this function)
 Q_fract_allpass[0][k][m][0] = cos(theta);
 ^~~~~~~~~~~~~~~
libavcodec/aacps_tablegen.h:187:13: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/aacps_tablegen.h:191:9: error: ‘phi_fract’ undeclared (first use in this function)
 phi_fract[0][k][0] = cos(theta);
 ^~~~~~~~~
libavcodec/aacps_tablegen.h:210:29: error: ‘f20_0_8’ undeclared (first use in this function)
 make_filters_from_proto(f20_0_8, g0_Q8, 8);
 ^~~~~~~
libavcodec/aacps_tablegen.h:211:29: error: ‘f34_0_12’ undeclared (first use in this function)
 make_filters_from_proto(f34_0_12, g0_Q12, 12);
 ^~~~~~~~
libavcodec/aacps_tablegen.h:212:29: error: ‘f34_1_8’ undeclared (first use in this function)
 make_filters_from_proto(f34_1_8, g1_Q8, 8);
 ^~~~~~~
libavcodec/aacps_tablegen.h:213:29: error: ‘f34_2_4’ undeclared (first use in this function)
 make_filters_from_proto(f34_2_4, g2_Q4, 4);
 ^~~~~~~
In file included from libavcodec/aacps_tablegen.c:24:
libavcodec/aacps_tablegen_template.c: In function ‘main’:
libavcodec/aacps_tablegen_template.c:88:28: error: ‘f20_0_8’ undeclared (first use in this function)
 ARRAY_RENAME(3d_array)(f20_0_8, 8, 8, 2);
 ^~~~~~~
libavcodec/aacps_tablegen_template.c:91:28: error: ‘f34_0_12’ undeclared (first use in this function)
 ARRAY_RENAME(3d_array)(f34_0_12, 12, 8, 2);
 ^~~~~~~~
libavcodec/aacps_tablegen_template.c:94:28: error: ‘f34_1_8’ undeclared (first use in this function)
 ARRAY_RENAME(3d_array)(f34_1_8, 8, 8, 2);
 ^~~~~~~
libavcodec/aacps_tablegen_template.c:97:28: error: ‘f34_2_4’ undeclared (first use in this function)
 ARRAY_RENAME(3d_array)(f34_2_4, 4, 8, 2);
 ^~~~~~~
libavcodec/aacps_tablegen_template.c:101:28: error: ‘Q_fract_allpass’ undeclared (first use in this function)
 ARRAY_RENAME(4d_array)(Q_fract_allpass, 2, 50, 3, 2);
 ^~~~~~~~~~~~~~~
libavcodec/aacps_tablegen_template.c:104:28: error: ‘phi_fract’ undeclared (first use in this function)
 ARRAY_RENAME(3d_array)(phi_fract, 2, 50, 2);
 ^~~~~~~~~
make: *** [ffbuild/common.mak:201: libavcodec/aacps_tablegen.o] Error 1
make: *** Waiting for unfinished jobs....




-
Why does FFmpeg encode by default ?
2 décembre 2022, par Hashim AzizBy default the following unpresuming FFmpeg command :


ffmpeg -i "input.mp4" "output.mkv"



...will lossily encode a file unless it has the
-c copy
flag added, which will then pass the video through without any encoding. I remember not realising this as a beginner to FFmpeg years ago and being surprised when I found out, and ever since then it's something I've wondered about but not got around to asking.

The main justification for this behaviour that comes to mind for me is that encoding is a much more common operation, and it might be annoying to have to pass an extra
-encode
flag for most uses.

Was this ever one of the reasons cited for this design decision ? Has the issue ever even been discussed in the FFmpeg mailing lists, or has it remained unquestioned since being written during the days of Fabrice Bellard ?