
Recherche avancée
Autres articles (96)
-
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 -
Que fait exactement ce script ?
18 janvier 2011, parCe script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.
Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).
Installation de dépendances de MediaSPIP
Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :
Les outils de base pour pouvoir installer le reste des dépendances Les outils de développements : build-essential (via APT depuis les dépôts officiels) ; (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (10221)
-
swresample/dither : Cleanup number suffixes
1er février 2015, par Michael Niedermayer -
configure : don’t generate a git version number if .git isn’t present
4 septembre 2013, par Sean McGovern -
How to compute the number of extra samples added by LAME or FFMPEG
24 janvier 2018, par actuallyaswinI am attempting to build a MP3 decoder / parser in Python which supports files encoded by LAME or FFMPEG.
My encoding shell script is shown here :
#!/bin/bash
for i in wav/*.wav; do
i=${i##*/};
lame --nores --strictly-enforce-ISO -t --cbr -b 64 -h "wav/${i}" "mpeg/lame/${i%.wav}.mp3";
ffmpeg -i "wav/${i}" -codec:a libmp3lame -qscale:a 2 "mpeg/ffmpeg/${i%.wav}.mp3";
doneThis scripts reads WAVE files located in
./wav/
and produces a controlled-bitrate MP3 of 64kbps in my./mp3/lame/
directory, and a variable-bitrate MP3 of quality 2 in my./mp3/ffmpeg/
.I have written a Python script that iterates through both resultant MP3s, counting the number of frames and samples. Both the LAME and FFMPEG results are equivalent (in terms of frames and samples), but their binary files are different.
The LAME/FFMPEG sample count was done by iterating through the binary MP3 files, locating and parsing the frame header, then using the MP3 spec to determine the number of samples per frame.
- Number of MP3 data-frames : 112 (ignoring the Xing/Info first frame)
- Number of output frames : 112*576 = 64512
Here is a comparison of the sample count for a single 4-second input file :
- Input WAV # of samples = 62996
- Output LAME/FFMPEG # of samples = 64512
- Difference = 1516
I understand that according to the LAME FAQ file, resultant MP3 files are zero padded in the front and back to make sure the inverse MDCT is performed properly, but also because the windows overlap.
What I can’t ascertain from the above FAQ, or from any previous StackOverflow post, is how to compute the number of artificially added samples. If I can be sure that all 1516 of these samples are zeros, and I can be sure of their position in the bytestream, I’d like to be able to confidently toss them out. Since there are 1516 "extra" samples and there are 576 samples per frame for a V2LIII encoding, then there must be more than two (but less than three) erroneous MPEG frames here.
Is anyone here savvy enough with MPEG encoding/decoding to know how many samples are added, and in which frames those samples will be in ? In other words, will the first frame and last frame always contain blank data, or are there more frames ?