Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

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

Autres articles (28)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • ANNEXE : Les extensions, plugins SPIP des canaux

    11 février 2010, par

    Un plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
    Les extensions que MediaSPIP nécessite pour fonctionner
    Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
    Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

Sur d’autres sites (5642)

  • Raspberry Pi and FFMpeg live streaming video to backend Node.js server, but how do I deliver it to the front end ?

    2 août 2023, par qwet142

    I'm attempting this setup to live stream video from a Raspberry Pi to a publicly available website, and from the backend server using Node.js and Express, I would like to serve it to the front end with minimal latency available to many viewers (will be hosted somewhere like Netlify to handle distribution).

    


    WebRTC is too complex for my use case and timeframe. HLC appears to have too high a latency as I need <4s consistently. I would like to something compatible with Node.js. I am a beginner in this domain, familiar only with general programming and web development.

    &#xA;

  • Allocate AVFrame for sws_scale()

    13 mars 2020, par Slav

    Trying to write program which uses libav to extract raw pixel data ( BMP) from arbitrary video. Everything goes well except sws_scale() failing to convert AVFrame to RGB24.

    I formulated minimal example of it where AVFrame is being created and initialized with 4 different methods found on internet : https://github.com/SlavMFM/libav_bmp_example - all of them fail in different ways. How can I fix it so sws_scale() does the convertion ?

  • Libav FFv1 read_quant_table decoding errors

    16 novembre 2023, par flansel

    I am having trouble encoding and decoding video using the 'ffv1' codec. Interestingly when the width and height are 640 or less, this works correctly, but with any "large" frame size such as 1280x720 I get the follow errors ...

    &#xA;

    [ffv1 @ 0x5612f4ab2240] read_quant_table error&#xA;[ffv1 @ 0x5612f4ab2240] Cannot decode non-keyframe without valid keyframe&#xA;

    &#xA;

    Are there any options which need to be set, or am I doing something else incorrectly, I made the example very minimal, I am aware that I am not writing an image to the frame and simply allocating garbage in the buffers among other things.&#xA;Thanks in advance.

    &#xA;

    // minimal example&#xA;// ...&#xA;#define FRAMES (500)&#xA;&#xA;int main(int argc, char **argv)&#xA;{&#xA;    AVCodecContext *enc, *dec;&#xA;    AVFrame *frame = av_frame_alloc();&#xA;    AVFrame *decoded_frame = av_frame_alloc();&#xA;    AVPacket *packet = av_packet_alloc();&#xA;    AVPacket *padded_packet = av_packet_alloc();&#xA;&#xA;    const AVCodec *enc_codec = avcodec_find_encoder_by_name("ffv1");&#xA;    const AVCodec *dec_codec = avcodec_find_decoder_by_name("ffv1");&#xA;    enc = avcodec_alloc_context3(enc_codec);&#xA;    dec = avcodec_alloc_context3(dec_codec);&#xA;&#xA;    enc->width   = 1280;&#xA;    enc->height  = 720;&#xA;    enc->pix_fmt = AV_PIX_FMT_YUV420P;&#xA;    enc->time_base.num = 1001;&#xA;    enc->time_base.den = 60000;&#xA;&#xA;    dec->width  = enc->width;&#xA;    dec->height = enc->height;&#xA;&#xA;    avcodec_open2(enc, enc_codec, NULL);&#xA;    avcodec_open2(dec, dec_codec, NULL);&#xA;&#xA;    frame->height = enc->height;&#xA;    frame->width  = enc->width;&#xA;    frame->format = enc->pix_fmt;&#xA;    av_frame_get_buffer(frame, 32);&#xA;    printf("frame linesz %i,%i,%i\n", frame->linesize[0], frame->linesize[1], frame->linesize[2]);&#xA;&#xA;    for (int i = 0; i &lt; FRAMES; &#x2B;&#x2B;i)&#xA;    {&#xA;        avcodec_send_frame(enc, frame);&#xA;        while (!avcodec_receive_packet(enc, packet))&#xA;        {&#xA;            av_new_packet(padded_packet, packet->size &#x2B; AV_INPUT_BUFFER_PADDING_SIZE);&#xA;            padded_packet->size -= AV_INPUT_BUFFER_PADDING_SIZE;&#xA;&#xA;            memset(padded_packet->data, 0, padded_packet->size);&#xA;            memcpy(padded_packet->data, packet->data, packet->size);&#xA;            printf("frame %i encoded %i bytes\n", i, padded_packet->size);&#xA;            if (!avcodec_send_packet(dec, padded_packet))&#xA;            {&#xA;                printf("sent bytes to decoder\n");&#xA;            }&#xA;        }&#xA;&#xA;        while (!avcodec_receive_frame(dec, decoded_frame))&#xA;        {&#xA;            printf("decoded frame height %i, width %i\n", decoded_frame->height, decoded_frame->width);&#xA;        }&#xA;        usleep(16000);&#xA;    }&#xA;    return 0;&#xA;}&#xA;

    &#xA;