Recherche avancée

Médias (91)

Autres articles (110)

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

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

  • implement A/V streaming from PC to Android w. low latency [closed]

    11 août 2021, par kekk0

    I would like to code server/client applications to stream PC desktop audio/video to android box device. It would be limited to wired LAN connection, no internet, no wifi ; Aims are good image quality and lowest latency. I was reading about setting up an FFmpeg server on pc to hls/m3u8 and coding a simple exoplayer-based client on android device, but it seems the latency might be high (seconds). Could you suggest me some good alternative solutions ?

    


  • iOS video streaming to server using websockets

    6 septembre 2013, par user1516711

    Is it any way possible to stream video frames live from iOS SDK using AVCaptureSession to a remote server using WebSocket like SocketRocket ? What are pros and cons if it is possible ?

  • Correct Use Of avcodec_encode_video2() Flush

    5 février 2016, par mFeinstein

    I have a camera sending pictures to a callback function and I want to make a movie with this pictures using FFmpeg. I have followed the decoding_encoding example here but am not sure how to use the got_output for flushing the encoder and getting the delayed frames.

    1. Shoud I encode all my camera’s pictures when they arrive, and later when I want to stop capturing and close the video, I do the flush loop ?

    Or

    1. Should I do the flush periodically, let’s say, every 100 pictures received ?

    My video capture program could be running for hours, so I am worried about how this delayed frames work in memory consumption, if they stack up there until the flush, this could take all my memory.


    This is the encoding performed by the example, it makes 25 dummy Frames for 1 second of video, and later, in the end, it loop through avcodec_encode_video2() looking for got_output for delayed frames :

    /////  Prepare the Frame, CodecContext and some aditional logic.....

    /* encode 1 second of video */
    for (i = 0; i < 25; i++) {
       av_init_packet(&pkt);
       pkt.data = NULL;    // packet data will be allocated by the encoder
       pkt.size = 0;
       fflush(stdout);
       /* prepare a dummy image */
       /* Y */
       for (y = 0; y < c->height; y++) {
           for (x = 0; x < c->width; x++) {
               frame->data[0][y * frame->linesize[0] + x] = x + y + i * 3;
           }
       }
       /* Cb and Cr */
       for (y = 0; y < c->height/2; y++) {
           for (x = 0; x < c->width/2; x++) {
               frame->data[1][y * frame->linesize[1] + x] = 128 + y + i * 2;
               frame->data[2][y * frame->linesize[2] + x] = 64 + x + i * 5;
           }
       }
       frame->pts = i;
       /* encode the image */
       ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
       if (ret < 0) {
           fprintf(stderr, "Error encoding frame\n");
           exit(1);
       }
       if (got_output) {
           printf("Write frame %3d (size=%5d)\n", i, pkt.size);
           fwrite(pkt.data, 1, pkt.size, f);
           av_free_packet(&pkt);
       }
    }
    /* get the delayed frames */
    for (got_output = 1; got_output; i++) {
       fflush(stdout);
       ret = avcodec_encode_video2(c, &pkt, NULL, &got_output);
       if (ret < 0) {
           fprintf(stderr, "Error encoding frame\n");
           exit(1);
       }
       if (got_output) {
           printf("Write frame %3d (size=%5d)\n", i, pkt.size);
           fwrite(pkt.data, 1, pkt.size, f);
           av_free_packet(&pkt);
       }
    }

    /////  Closes the file and finishes.....