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

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

  • HLS MP4 Independent Segments

    7 décembre 2016, par Mido

    Long story short : Why HLS can’t just play normal MP4 files together one after one ? Why need to segment media file into .ts segments ?

    Details :

    We’ve segmented MP4 file into mini MP4 segments (not TS), each one about 30 seconds for testing. It never plays in any HLS player, just loading all segment files then nothing happens.

    Example MP4 segment Info :

    Format                      : MPEG-4
    Format profile              : Base Media
    Codec ID                    : isom
    File size                   : 1.44 MiB
    Duration                    : 32s 950ms
    Overall bit rate            : 366 Kbps
    Writing application         : Lavf56.25.101

    Video
    ID                          : 1
    Format                      : AVC
    Format/Info                 : Advanced Video Codec
    Format profile              : High@L4.1
    Format settings, CABAC      : Yes
    Format settings, ReFrames   : 6 frames
    Codec ID                    : avc1
    Codec ID/Info               : Advanced Video Coding
    Duration                    : 32s 950ms
    Bit rate                    : 230 Kbps
    Width                       : 426 pixels
    Height                      : 240 pixels
    Display aspect ratio        : 16:9
    Original display aspect rat : 16:9
    Frame rate mode             : Constant
    Frame rate                  : 23.976 fps
    Color space                 : YUV
    Chroma subsampling          : 4:2:0
    Bit depth                   : 8 bits
    Scan type                   : Progressive
    Bits/(Pixel*Frame)          : 0.094
    Stream size                 : 925 KiB (63%)
    Writing library             : x264 core 142 r2495 6a301b6

    Audio
    ID                          : 2
    Format                      : AAC
    Format/Info                 : Advanced Audio Codec
    Format profile              : LC
    Codec ID                    : 40
    Duration                    : 32s 896ms
    Bit rate mode               : Constant
    Bit rate                    : 129 Kbps
    Channel(s)                  : 2 channels
    Channel(s)_Original         : 6 channels
    Channel positions           : Front: L C R, Side: L R, LFE
    Sampling rate               : 48.0 KHz
    Compression mode            : Lossy
    Stream size                 : 517 KiB (35%)

    The Master M3U8 :

    #EXTM3U
    #EXT-X-VERSION:7
    #EXT-X-INDEPENDENT-SEGMENTS

    #EXT-X-STREAM-INF:RESOLUTION=426x240,BANDWIDTH=370000,CODECS="avc1.640015,mp4a.40.2"
    240p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=640x360,BANDWIDTH=580000,CODECS="avc1.640015,mp4a.40.2"
    360p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=896x504,BANDWIDTH=900000,CODECS="avc1.640015,mp4a.40.2"
    480p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=1280x720,BANDWIDTH=1500000,CODECS="avc1.640015,mp4a.40.2"
    720p.m3u8

    240p.m3u8

    #EXTM3U
    #EXT-X-VERSION:7
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXT-X-TARGETDURATION:34

    #EXTINF:33.033033,
    240p000.mp4
    #EXTINF:33.533534,
    240p001.mp4
    #EXTINF:24.941608,
    240p002.mp4
    #EXTINF:28.611945,
    240p003.mp4
    #EXT-X-ENDLIST

    When tested with HLS.js, gives this error :

    Parsing Error:no demux matching with content found,cannot recover,
    last media error recovery failed ...

    Bitmovin Player : loads all segments of all variants and never plays any of them. just stop.

    Tested on Chrome & Firefox On Windows, Safari on Mac, Android and iPad Browsers. Never works on any of them. Are we doing anything wrong ?!

  • HLS MP4 Independent Segments

    18 juillet 2017, par Mido

    Long story short : Why HLS can’t just play normal MP4 files together one after one ? Why need to segment media file into .ts segments ?

    Details :

    We’ve segmented MP4 file into mini MP4 segments (not TS), each one about 30 seconds for testing. It never plays in any HLS player, just loading all segment files then nothing happens.

    Example MP4 segment Info :

    Format                      : MPEG-4
    Format profile              : Base Media
    Codec ID                    : isom
    File size                   : 1.44 MiB
    Duration                    : 32s 950ms
    Overall bit rate            : 366 Kbps
    Writing application         : Lavf56.25.101

    Video
    ID                          : 1
    Format                      : AVC
    Format/Info                 : Advanced Video Codec
    Format profile              : High@L4.1
    Format settings, CABAC      : Yes
    Format settings, ReFrames   : 6 frames
    Codec ID                    : avc1
    Codec ID/Info               : Advanced Video Coding
    Duration                    : 32s 950ms
    Bit rate                    : 230 Kbps
    Width                       : 426 pixels
    Height                      : 240 pixels
    Display aspect ratio        : 16:9
    Original display aspect rat : 16:9
    Frame rate mode             : Constant
    Frame rate                  : 23.976 fps
    Color space                 : YUV
    Chroma subsampling          : 4:2:0
    Bit depth                   : 8 bits
    Scan type                   : Progressive
    Bits/(Pixel*Frame)          : 0.094
    Stream size                 : 925 KiB (63%)
    Writing library             : x264 core 142 r2495 6a301b6

    Audio
    ID                          : 2
    Format                      : AAC
    Format/Info                 : Advanced Audio Codec
    Format profile              : LC
    Codec ID                    : 40
    Duration                    : 32s 896ms
    Bit rate mode               : Constant
    Bit rate                    : 129 Kbps
    Channel(s)                  : 2 channels
    Channel(s)_Original         : 6 channels
    Channel positions           : Front: L C R, Side: L R, LFE
    Sampling rate               : 48.0 KHz
    Compression mode            : Lossy
    Stream size                 : 517 KiB (35%)

    The Master M3U8 :

    #EXTM3U
    #EXT-X-VERSION:7
    #EXT-X-INDEPENDENT-SEGMENTS

    #EXT-X-STREAM-INF:RESOLUTION=426x240,BANDWIDTH=370000,CODECS="avc1.640015,mp4a.40.2"
    240p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=640x360,BANDWIDTH=580000,CODECS="avc1.640015,mp4a.40.2"
    360p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=896x504,BANDWIDTH=900000,CODECS="avc1.640015,mp4a.40.2"
    480p.m3u8

    #EXT-X-STREAM-INF:RESOLUTION=1280x720,BANDWIDTH=1500000,CODECS="avc1.640015,mp4a.40.2"
    720p.m3u8

    240p.m3u8

    #EXTM3U
    #EXT-X-VERSION:7
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXT-X-TARGETDURATION:34

    #EXTINF:33.033033,
    240p000.mp4
    #EXTINF:33.533534,
    240p001.mp4
    #EXTINF:24.941608,
    240p002.mp4
    #EXTINF:28.611945,
    240p003.mp4
    #EXT-X-ENDLIST

    When tested with HLS.js, gives this error :

    Parsing Error:no demux matching with content found,cannot recover,
    last media error recovery failed ...

    Bitmovin Player : loads all segments of all variants and never plays any of them. just stop.

    Tested on Chrome & Firefox On Windows, Safari on Mac, Android and iPad Browsers. Never works on any of them. Are we doing anything wrong ?!

  • Access Violation at avcodec_encode_video2()

    23 mars 2016, par bot1131357

    I am trying to understand the FFmpeg API by following online examples available but it seems that the FFmpeg API has changed over time, making most of the examples obsolete ; I hope some of you can help me make more sense of the FFmpeg API examples.

    I am currently trying to understand the encoding-example from FFmpeg, but I am getting an Access Violation error at this line :

    out_size = avcodec_encode_video2(codecCtx, &avpkt, picture, &got_packet);

    where I get "Unhandled exception at 0x77c29e42 in test01_encode.exe : 0xC0000005 : Access violation reading location 0xccccccc8." from Visual Studio.

    I understand that avcodec_encode_video() is deprecated in favour of avcodec_encode_video2(), which uses AVPacket. I’ve allocated a buffer to data member of AVPacket and set its size, but still the same. What did I miss ?

    The library that I’m using is ffmpeg-20160219-git-98a0053-win32-dev. I would really really appreciate if you could help me out of this confusion.

    (Side : What does it mean by "get delayed frames" and why are we encoding by specifying AVFrame* parameter as NULL ?)

    /*
    * Video encoding example
    */
    char filename[] = "test.mpg";
    int main(int argc, char** argv)
    {
       AVCodec *codec;
       AVCodecContext *codecCtx= NULL;
       int i, out_size, size, x, y, outbuf_size;
       FILE *f;
       AVFrame *picture;
       uint8_t *outbuf, *picture_buf;

       printf("Video encoding\n");

       // Register all formats and codecs
       av_register_all();

       /* find the mpeg1 video encoder */
       codec = avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);
       if (!codec) {
           fprintf(stderr, "codec not found\n");
           exit(1);
       }

       codecCtx= avcodec_alloc_context3(codec);
       picture= av_frame_alloc();

       /* put sample parameters */
       codecCtx->bit_rate = 400000;
       /* resolution must be a multiple of two */
       codecCtx->width = 352;
       codecCtx->height = 288;
       /* frames per second */
       //codecCtx->time_base= (AVRational){1,25};
       codecCtx->time_base.num = 1;
       codecCtx->time_base.den = 25;

       codecCtx->gop_size = 10; /* emit one intra frame every ten frames */
       codecCtx->max_b_frames=1;
       codecCtx->pix_fmt = AV_PIX_FMT_YUV420P;

       /* open it */
       if (avcodec_open2(codecCtx, codec, NULL) < 0) {
           fprintf(stderr, "could not open codec\n");
           exit(1);
       }

       fopen_s(&f,filename, "wb");
       if (!f) {
           fprintf(stderr, "could not open %s\n", filename);
           exit(1);
       }

       /* alloc image and output buffer */
       outbuf_size = 100000;
       outbuf = (uint8_t*) malloc(outbuf_size);
       size = codecCtx->width * codecCtx->height;
       picture_buf = (uint8_t*) malloc((size * 3) / 2); /* size for YUV 420 */

       picture->data[0] = picture_buf;
       picture->data[1] = picture->data[0] + size;
       picture->data[2] = picture->data[1] + size / 4;
       picture->linesize[0] = codecCtx->width;
       picture->linesize[1] = codecCtx->width / 2;
       picture->linesize[2] = codecCtx->width / 2;

       picture->width = codecCtx->width;
       picture->height = codecCtx->height;
       picture->format = codecCtx->pix_fmt;

       AVPacket avpkt;
       int got_packet;

       avpkt.size=av_image_get_buffer_size(codecCtx->pix_fmt, codecCtx->width,
                       codecCtx->height,1);    
       avpkt.data = (uint8_t *)av_malloc(avpkt.size*sizeof(uint8_t));

       /* encode 1 second of video */
       for(i=0;i<25;i++) {
           fflush(stdout);
           /* prepare a dummy image */
           /* Y */
           for(y=0;yheight;y++) {
               for(x=0;xwidth;x++) {
                   picture->data[0][y * picture->linesize[0] + x] = x + y + i * 3;
               }
           }

           /* Cb and Cr */
           for(y=0;yheight/2;y++) {
               for(x=0;xwidth/2;x++) {
                   picture->data[1][y * picture->linesize[1] + x] = 128 + y + i * 2;
                   picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5;
               }
           }

           /* encode the image */
           //out_size = avcodec_encode_video(codecCtx, outbuf, outbuf_size, picture);
           // <access violation="violation">
           out_size = avcodec_encode_video2(codecCtx, &amp;avpkt, picture, &amp;got_packet);
           printf("encoding frame %3d (size=%5d)\n", i, out_size);
           //fwrite(outbuf, 1, out_size, f);
           fwrite(avpkt.data, 1, avpkt.size, f);
       }

       /* get the delayed frames */
       for(; out_size; i++) {
           fflush(stdout);

           //out_size = avcodec_encode_video(codecCtx, outbuf, outbuf_size, NULL);
           out_size = avcodec_encode_video2(codecCtx, &amp;avpkt, NULL, &amp;got_packet);
           printf("write frame %3d (size=%5d)\n", i, out_size);
           //fwrite(outbuf, 1, out_size, f);
           fwrite(avpkt.data, 1, avpkt.size, f);
       }

       /* add sequence end code to have a real mpeg file */
       outbuf[0] = 0x00;
       outbuf[1] = 0x00;
       outbuf[2] = 0x01;
       outbuf[3] = 0xb7;
       fwrite(outbuf, 1, 4, f);
       fclose(f);
       free(picture_buf);
       free(outbuf);

       avcodec_close(codecCtx);
       av_free(codecCtx);
       av_free(picture);
       printf("\n");
    }
    </access>