Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (103)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 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, par

    Multilang 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, par

    Le 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 Feinstein

    I 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 OpenCV Mat.

    



    And this has a memory leak, apparently, av_image_alloc() allocates memory, and av_image_fill_pointers() also allocates memory, on the same pointers (I can see bgrFrame->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 after av_image_fill_pointers(), the program crashes, even though bgrFrame->data[0] is not NULL, which I find very curious.

    



    Looking FFmpeg's av_image_alloc() source code, I see it calls av_image_fill_pointers() twice inside it, once allocating a buffer buff....and later in av_image_fill_pointers() source code, data[0] is substituted by the image pointer, which is (I think) the source of the memory leak, since data[0] was holding buf from the previous av_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 Senftner

    I 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 Olamide

    I'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"