Recherche avancée

Médias (91)

Autres articles (97)

  • 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 (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (11770)

  • FFMPEG - Can't create a video from series of images with RGB24 pixel format

    21 juillet 2016, par DevNull

    Goal


    I’m writing a small proof-of-concept application to take some raw image data I acquire from a digital camera (a series of RGB24 images), and combine them together into a simple, no-audio, video file.


    Work So Far

    The initialization code is as follows :


    AVCodec* pCodec = NULL;
    AVCodecContext* pCodecContext = NULL;
    AVFrame* pFrame = NULL;

    /* Register all available codecs. */
    avcodec_register_all();

    /* Determine if desired video encoder is installed. */
    pCodec = avcodec_find_encoder(CODEC_ID_MJPEG);
    if (!pCodec) {
       printf("Codec not installed!\n");
    }

    pCodecContext = avcodec_alloc_context3(pCodec);
    pFrame = avcodec_alloc_frame();

    Very cut-and-dry. However, when I try to register the codec, it fails with my custom error message, and one dropped in a nice color-coded format directly from the FFMPEG libraries :


    [mjpeg @ 0x650d00] Specified pixel format rgb24 is invalid or not supported
    Codec not available.

    I can confirm that that pixel format is valid easily enough :


    Pixel formats:
    I.... = Supported Input  format for conversion
    .O... = Supported Output format for conversion
    ..H.. = Hardware accelerated format
    ...P. = Paletted format
    ....B = Bitstream format

    2>&1 ffmpeg -pix_fmts | grep -i -e rgb24 -e flags
    FLAGS NAME            NB_COMPONENTS BITS_PER_PIXEL
    IO... rgb24                  3            24

    I can also confirm that the video codec I’m trying to use is valid for encoding.


    Codecs:
    D..... = Decoding supported
    .E.... = Encoding supported
    ..V... = Video codec
    ..A... = Audio codec
    ..S... = Subtitle codec
    ...I.. = Intra frame-only codec
    ....L. = Lossy compression
    .....S = Lossless compression

    2>&1 ffmpeg -codecs | grep -i mjpeg              
    DEVIL. mjpeg                Motion JPEG

    Question


    Why is this pixel format not supported ? It seems like such a common one when working with other utilities like MATLAB, OpenCV, FreeImage, etc. Is there any set of options or functions in FFMPEG/AVcodec that can resolve this issue ? I’d like to avoid having to to manually convert my image to a different color-space if possible, so I’m not burning up CPU cycles by first converting the RGB24 image to a new format, THEN encoding a video frame with it.

    Thank you.

  • Convert ffmpeg frame into array of YUV pixels in C

    9 juin 2016, par loneraver

    I’m using the ffmpeg C libraries and trying to convert an AVFrame into a 2d array of pixels with YUV* components for analysis. I figured out how to convert the Y component for each pixel. :

    uint8_t y_val = pFrame->data[0][pFrame->linesize[0] * y + x];

    Since all frames have a Y component this is easy. However most digital video do not have a 4:4:4 chroma subsampling, so getting the UV components is stumping me.

    I’m using straight C for this project. No C++. An ideas ?

    *Note : Yes, I know it’s technically YCbCr and not YUV.

    Edit :

    I’m rather new to C so it might not be the prettiest code out there.

    When I try :

    VisYUVFrame *VisCreateYUVFrame(const AVFrame *pFrame){
       VisYUVFrame *tmp = (VisYUVFrame*)malloc(sizeof(VisYUVFrame));
       if(tmp == NULL){ return NULL;}
       tmp->height = pFrame->height;
       tmp->width = pFrame->width;

       tmp->data = (PixelYUV***)malloc(sizeof(PixelYUV**) * pFrame->height);
       if(tmp->data == NULL) { return NULL;};

       for(int y = 0; y < pFrame->height; y++){
           tmp->data[y] = (PixelYUV**)malloc(sizeof(PixelYUV*) * pFrame->width);
           if(tmp->data[y] == NULL) { return NULL;}

           for(int x = 0; x < pFrame->width; x++){
               tmp->data[y][x] = (PixelYUV*)malloc(sizeof(PixelYUV*));
               if(tmp->data[y][x] == NULL){ return NULL;};
               tmp->data[y][x]->Y = pFrame->data[0][pFrame->linesize[0] * y + x];
               tmp->data[y][x]->U = pFrame->data[1][pFrame->linesize[1] * y + x];
               tmp->data[y][x]->V = pFrame->data[2][pFrame->linesize[2] * y + x];

           }
       }

       return tmp;

    Luma works but when I run Valgrind, I get

    0x26
    1
    InvalidRead
    Invalid read of size 1

    0x100003699
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    VisCreateYUVFrame
    /Users/hborcher/ClionProjects/borcherscope/lib
    visualization.c
    145

    0x100006B5B
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    render
    /Users/hborcher/ClionProjects/borcherscope/lib/decoder
    simpleDecoder2.c
    253

    0x100002D24
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    main
    /Users/hborcher/ClionProjects/borcherscope/src
    createvisual2.c
    93

    Address 0x10e9f91ef is 0 bytes after a block of size 92,207 alloc’d

    0x100013EEA
    /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so
    malloc_zone_memalign

    0x1084B5416
    /usr/lib/system/libsystem_malloc.dylib
    posix_memalign

    0x10135D317
    /usr/local/Cellar/ffmpeg/3.0.2/lib/libavutil.55.17.103.dylib
    av_malloc

    0x27
    1
    InvalidRead
    Invalid read of size 1

    0x1000036BA
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    VisCreateYUVFrame
    /Users/hborcher/ClionProjects/borcherscope/lib
    visualization.c
    147

    0x100006B5B
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    render
    /Users/hborcher/ClionProjects/borcherscope/lib/decoder
    simpleDecoder2.c
    253

    0x100002D24
    /Users/hborcher/Library/Caches/CLion2016.2/cmake/generated/borcherscope-8e83e7dd/8e83e7dd/Debug/VisCreator2
    main
    /Users/hborcher/ClionProjects/borcherscope/src
    createvisual2.c
    93

    Address 0x10e9f91ef is 0 bytes after a block of size 92,207 alloc’d

    0x100013EEA
    /usr/local/Cellar/valgrind/3.11.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so
    malloc_zone_memalign

    0x1084B5416
    /usr/lib/system/libsystem_malloc.dylib
    posix_memalign

    0x10135D317
    /usr/local/Cellar/ffmpeg/3.0.2/lib/libavutil.55.17.103.dylib
    av_malloc

  • FFMpeg - Issue with slicing QT videos

    24 juin 2016, par gkmspl

    We use ffmpeg in one of our applications to slice videos. While it’s working fine for slicing PAL videos, it is not working for QT videos... Here’s the command we use :

    ffmpeg.exe -i "input.mp4" ss startTime -c copy -to stopTime -y "output.mp4"

    Throws an error - "[mp4 @ 0515c240] Could not find tag for codec pcm_s16le in stream #1, codec not currently supported in container"

    The input videos are created by a solid state digital video recording system which records videos from following Input channels :
    6 channels of videos input (DVI-4No.s, PAL-2No.s)
    2 channels of audio input (Left & Right)
    2 channels of MIL STD 1553B bus data
    2 channels of RS422 data

    What could be the issue & how can it be resolved ?