
Recherche avancée
Médias (29)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#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
Autres articles (103)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (11714)
-
Correctly Allocate And Fill Frame In FFmpeg
14 avril 2022, par Michel FeinsteinI am filling a
Frame
with a BGR image for encoding, and I am getting a memory leak. I think I got to the source of the problem but it appears to be a library issue instead. Since FFmpeg is such a mature library, I think I am misusing it and I would like to be instructed on how to do it correctly.


I am allocating a
Frame
using :


AVFrame *bgrFrame = av_frame_alloc();




And later I allocate the image in the
Frame
using :


av_image_alloc(bgrFrame->data, bgrFrame->linesize, bgrFrame->width, bgrFrame->height, AV_PIX_FMT_BGR24, 32);




Then I fill the image allocated using :



av_image_fill_pointers(bgrFrame->data, AV_PIX_FMT_BGR24, bgrFrame->height, originalBGRImage.data, bgrFrame->linesize);




Where
originalBGRImage
is an OpenCVMat
.


And this has a memory leak, apparently,
av_image_alloc()
allocates memory, andav_image_fill_pointers()
also allocates memory, on the same pointers (I can seebgrFrame->data[0]
changing between calls).


If I call



av_freep(&bgrFrame->data[0]);




After
av_image_alloc()
, it's fine, but if I call it afterav_image_fill_pointers()
, the program crashes, even thoughbgrFrame->data[0]
is notNULL
, which I find very curious.


Looking FFmpeg's
av_image_alloc()
source code, I see it callsav_image_fill_pointers()
twice inside it, once allocating a bufferbuff
....and later inav_image_fill_pointers()
source code,data[0]
is substituted by the image pointer, which is (I think) the source of the memory leak, sincedata[0]
was holdingbuf
from the previousav_image_alloc()
call.


So this brings the final question : What's the correct way of filling a frame with an image ?.


-
ffmpeg : playing media files does not release processor after media ends ?
2 septembre 2017, par Blake SenftnerI have a commercial C++ application which uses FFMPEG’s libav series of dlls to play media in a Windows application. I basically started with the dranger tutorial about two years ago, and created a library that can playback USB cameras, IP camera / online streams, and media files on disk. (http://dranger.com/ffmpeg/)
My question is directed at anyone who has created their own similar library :
I recently noticed after playing a video file from disk (as opposed to a live stream from USB or IP source), my 8 core i7 workstation will show 28-29% CPU usage after a media file has ended. My application can play an unlimited number of videos, and each "virtual video panel" (not a window, just a "virtual tab" created using wxWidgets that holds an OpenGL context that I use to glDrawPixels() to the visible app panel) will play any of the three media types fine (USB, IP stream or media file) and when I stop a USB or IP stream my application’s CPU usage drops to zero. But when I "stop" a media file playing or the media file ends on its own the CPU usage does not drop - until the application quits.
Three media files playing will take my application to 80-83% CPU, and it never drops. UNLESS I reuse that same "virtual video panel" to play a USB or IP stream. If I stop those streams, CPU usage is released.
MP4 (h264) video files exhibit this "holding a processor" problem.
MP4 (mpeg2) files do not.
MP4 (h265) files do not.
MPG (mpeg1) files do not.
ASF (MS MPEG-4 Video v3) files do not.
MKV (vp8) files do not.
MOV files using h265 do not, as well as MOV (h264) files do not.
FLV (sorensen) files do not, as well as FLV (h264) files do not.
So it is not just the h264 codec.
Anyone know what is going on, and how I tell libav to release CPU usage when a media file is no longer playing ?
-
How to 'convert' MP3 file to numpy array or list
30 mai 2021, par Ajayi OlamideI'm working on an audio-related project that connects with Django backend via rest api. Part of the front-end requires to display waveforms of associated mp3 files and for this, it in turn requires optimized data of each mp3 file in form of an array, which the front-end (javascript) then processes and converts to a waveform. I can pick the associated mp3 file from backend storage, the problem is converting it into an array which I can serve to the front-end api. I have tried several methods but none seem to be working. I tried this How to read a MP3 audio file into a numpy array / save a numpy array to MP3 ? which leaves my computer hanging until I forced it to restart by holding the power button down. I have a working ffmpeg and so, I have also tried this Trying to convert an mp3 file to a Numpy Array, and ffmpeg just hangs which continues to raise TypeError on
np.fromstring(data[data.find("data")+4:], np.int16)
. I can't actually say what the problem is and I really hope someone can help. Thank you in advance !

EDIT
This is the django view for retrieving the waveform data :


NB : I've only included useful codes as I'm typing with my mobile phone.


def waveform(self, request, ptype, id):
 project = Project.objects.get(pk=id)
 audio = project.audio

 mp3_path = os.path.join(cdn_dir, audio) 
 cmd = ['ffmpeg', '-i', mp3_path, '-f', 'wav', '-']
 p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, creationflags=0x8000000)
 data = p.communicate()[0]
 array = np.fromstring(data[data.find("data")+4:], np.int16)

 return Response(array)



The TypeError I get is this :

TypeError: argument should be integer or bytes-like object, not "str"