Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (60)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (7302)

  • C pointer casting to and from Go

    26 avril 2018, par nevernew

    I’m writing an app for the windows platform using FFmpeg and it’s golang wrapper goav, but I’m having trouble understanding how to pass the C pointers between C and Go.

    I’ve stripped out all the relevant parts of the C code, the wrapper and my code, shown below :

    C code - libavutil/frame.h

    #include

    typedef struct AVFrame {
    #define AV_NUM_DATA_POINTERS 8
       uint8_t *data[AV_NUM_DATA_POINTERS];
    }

    Go goav wrapper

    package avutil

    /*
       #cgo pkg-config: libavutil
       #include <libavutil></libavutil>frame.h>
       #include

       // C code I added:
       #include

       void SaveFrame(const char* location, uint8_t *data, int width, int height) {
           FILE *pFile;
           int  y;

           // Open file
           pFile=fopen(location, "wb");
           if(pFile==NULL)
               return;

           // Write header
           fprintf(pFile, "P6\n%d %d\n255\n", width, height);

           // Write pixel data
           for(y=0; y/ Close file
           fclose(pFile);
       }
    */
    import "C"
    import (
       "unsafe"
    )

    type Frame C.struct_AVFrame

    func Data(f *Frame) *uint8 {
       // i think this is the function thats not working?
       return (*uint8)(unsafe.Pointer((*C.uint8_t)(unsafe.Pointer(&amp;f.data))))
    }
    func SaveFrame(location string, data *uint8, width int, height int) {
       C.SaveFrame(C.CString(location), unsafe.Pointer(data), C.int(width), C.int(height))
    }

    My Go code

    package main

    import "github.com/giorgisio/goav/avutil"

    func main() {
       var frame *avutil.Frame
       var data *uint8

       //... initialize frame

       data = avutil.Data(frame)
       avutil.SaveFrame("frame0.ppm", data, 1920, 1080)
    }

    When I try to save the frame, the resulting image is garbled because the pointer is wrong, how do i fix this ?

  • Android sws_scale RGB0 Frame taking long time and cause video latency [duplicate]

    17 avril 2018, par AJit

    This question already has an answer here :

    Reading frames from FFMPEG and try to directly draw on a surface window in Native android, If scale the image to exact size what we are getting from the camera and apply YUV420P to RGBA it take 1ms to scale through av_image_fill_arrays but if scale image surface size, then It took 25 to 30ms to scale a same frame.

    Low latency :[ 1ms by sws_scale]

    swsContext = sws_getContext(videoCodecContext->width,
                                       videoCodecContext->height,
                                       videoCodecContext->pix_fmt,
                                       videoCodecContext->width,
                                       videoCodecContext->height,
                                       AV_PIX_FMT_RGB0,
                                       SWS_FAST_BILINEAR, NULL, NULL, NULL);
    av_image_fill_arrays()
    av_read_frame()
    avcodec_decode_video2(
    sws_scale(swsContext,
             (const uint8_t *const *) videoFrame->data,
             videoFrame->linesize,
             0,
             videoCodecContext->height,
             pictureFrame->data,
             pictureFrame->linesize);
    ANativeWindow_lock()
    Write all buffer bytes to window.
    ANativeWindow_unlockAndPost()

    Low latency :[ 30ms by sws_scale]

    [videoContext Width: 848 Height: 608]
    swsContext = sws_getContext(videoCodecContext->width,
                                       videoCodecContext->height,
                                       videoCodecContext->pix_fmt,
                                       1080,
                                       608,
                                       AV_PIX_FMT_RGB0,
                                       SWS_FAST_BILINEAR, NULL, NULL, NULL);

    NOTE : we are getting YUV420P pixel format.

    Whenever we change context width and height other than videoContext it will take more than 30ms so result is video delaying.

    TRY 1 : Pass the buffer from JNI to Java and create bitmap there to scale later on but createBitmap itself take ~500ms which is not good enough.

    TRY 2 : Direct YUV420P to RGB conversion, but still sws_scale is greater.

    TRY 3 : Direct writes YUV to window bites, but it shows without color (If anyone has a solution here will might helpful).

    TRY 4 : yuvlib, still not worth it.

    TRY 5 : Different pixel formats and flags in swsContext.

    enter image description here

    Any help would appreciated.

  • C pointer casting to and from Golang

    26 avril 2018, par nevernew

    I’m writing an app for the windows platform using FFmpeg and it’s golang wrapper goav, but I’m having trouble understanding how to pass the C pointers between C and Golang.

    I’ve stripped out all the relevant parts of the C code, the wrapper and my code, shown below :

    C code - libavutil/frame.h

    #include

    typedef struct AVFrame {
    #define AV_NUM_DATA_POINTERS 8
       uint8_t *data[AV_NUM_DATA_POINTERS];
    }

    Golang goav wrapper

    package avutil

    /*
       #cgo pkg-config: libavutil
       #include <libavutil></libavutil>frame.h>
       #include

       // C code I added:
       #include

       void SaveFrame(const char* location, uint8_t *data, int width, int height) {
           FILE *pFile;
           int  y;

           // Open file
           pFile=fopen(location, "wb");
           if(pFile==NULL)
               return;

           // Write header
           fprintf(pFile, "P6\n%d %d\n255\n", width, height);

           // Write pixel data
           for(y=0; y/ Close file
           fclose(pFile);
       }
    */
    import "C"
    import (
       "unsafe"
    )

    type Frame C.struct_AVFrame

    func Data(f *Frame) *uint8 {
       // i think this is the function thats not working?
       return (*uint8)(unsafe.Pointer((*C.uint8_t)(unsafe.Pointer(&amp;f.data))))
    }
    func SaveFrame(location string, data *uint8, width int, height int) {
       C.SaveFrame(C.CString(location), unsafe.Pointer(data), C.int(width), C.int(height))
    }

    My Golang code

    package main

    import "github.com/giorgisio/goav/avutil"

    func main() {
       var frame *avutil.Frame
       var data *uint8

       //... initialize frame

       data = avutil.Data(frame)
       avutil.SaveFrame("frame0.ppm", data, 1920, 1080)
    }

    When I try to save the frame, the resulting image is garbled because the pointer is wrong, how do i fix this ?