Advanced search

Medias (91)

Other articles (102)

  • MediaSPIP 0.1 Beta version

    25 April 2011, by

    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 April 2011, by

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

On other websites (9858)

  • mp4 video file generated using ffmpeg, play on desktop but doesn't play on device

    9 May 2014, by Nikesh

    I am generating a video that converts images into .mp4 video file. Every thing works fine. File is also generated as mp4 but the file doesn’t run on android device, says cannot play video.

    Please find the attached sample code which convert single jpeg file into video (.mp4)

    Please help me to resolve this issue. Thanks.

    JNIEXPORT void JNICALL Java_roman10_ffmpegtst_VideoBrowser_videoExample(JNIEnv *pEnv, jobject pObj, char* imagefile,char* videoFile)
    {
    avcodec_init();
    av_register_all();
    avcodec_register_all();

    AVCodecContext          *pOCtx= NULL;
    AVCodec                 *pOCodex = NULL;
    LOGE(10,"Start videoExample");
    pOCodex = avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);

    if (!pOCodex) {
       LOGE(10,"Cannot find encoder %s", pOCodex);
       exit(1);
    }

    pOCtx= avcodec_alloc_context3(pOCodex);

    uint8_t *outbuf;
    int i, out_size;

    pOCtx->bit_rate = 400000;
    pOCtx->width = 640;
    pOCtx->height = 480;
    AVRational rational = {1,25};
    pOCtx->time_base= rational;
    pOCtx->gop_size = 10; /* emit one intra frame every ten frames */
    pOCtx->max_b_frames=1;
    pOCtx->pix_fmt = AV_PIX_FMT_YUV420P;

    LOGE(10,"Start avcodec_open2");
    int ret = avcodec_open2(pOCtx,pOCodex,NULL);
    if(ret < 0)
    {
        return;
    }
    LOGE(10,"End avcodec_open2");
    AVFormatContext         *pIFormatCtx = NULL;
    ret = avformat_open_input(&pIFormatCtx, imagefile, NULL, NULL);
    if(ret < 0)
    {
       //Cant't open jpg file
       return;
    }
    av_dump_format(pIFormatCtx, 0, imagefile, 0);

    AVCodecContext          *pICodecCtx;  //output codec context
    pICodecCtx = pIFormatCtx->streams[0]->codec;
    /*pICodecCtx->width = 640;
    pICodecCtx->height = 480;
    pICodecCtx->pix_fmt = PIX_FMT_YUV420P;*/


    AVCodec *pICodec = avcodec_find_decoder(pICodecCtx->codec_id); //output codec
    // Open codec
    ret = avcodec_open2(pICodecCtx, pICodec,NULL);
    if(ret < 0)
    {
       //Can't find the decoder
       return;
    }

    AVFrame *pIFrame = avcodec_alloc_frame();
    if (!pIFrame)
    {
       //Can't alloc the input frame
       return ;
    }


    int bufSize = avpicture_get_size(AV_PIX_FMT_YUVJ420P, pICodecCtx->width, pICodecCtx->height);
    uint8_t *buffer = (uint8_t *) av_malloc(bufSize * sizeof(uint8_t));

    avpicture_fill((AVPicture *) pIFrame, buffer, AV_PIX_FMT_YUVJ420P, pICodecCtx->width, pICodecCtx->height);

    FILE *outputFile;

    outputFile = fopen(videoFile, "w+");
    if (!outputFile) {
       LOGE(10,"could not open ");
       exit(1);
    }

    int outbuf_size = 100000;
    outbuf = (uint8_t*)malloc(outbuf_size);

    AVPacket packet;
    int frameFinished;
    int framesNumber = 0;
    while (av_read_frame(pIFormatCtx, &packet) >= 0)
    {
       if(packet.stream_index != 0)
           continue;

       ret = avcodec_decode_video2(pICodecCtx, pIFrame, &frameFinished, &packet);
       if (ret > 0)
       {
           pIFrame->quality = 4;

           for(i=0;i<25;i++) {
               fflush(stdout);
               /* encode the image */
               out_size = avcodec_encode_video(pOCtx, outbuf, outbuf_size, pIFrame);
               fwrite(outbuf, 1, out_size, outputFile);
           }
       }
    }

    /* get the delayed frames */
    for(; out_size; i++) {
       fflush(stdout);
       out_size = avcodec_encode_video(pOCtx, outbuf, outbuf_size, NULL);
       fwrite(outbuf, 1, out_size, outputFile);
    }

    /* 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, outputFile);
    fclose(outputFile);
    free(outbuf);

    avcodec_close(pOCtx);
    av_free(pOCtx);
    av_free(pIFrame);
    }
  • Android HLS plays first segment then only audio

    1 December 2014, by Chris Recalis

    I’m having difficulty playing HLS on Android where only the audio is playing. The stream will play for the first video segment and then turn into an audio only stream. Here is a sample link https://clipter.com/c/aymels8/hls.m3u8

    hls.m3u8

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXT-X-TARGETDURATION:9
    #EXT-X-ALLOW-CACHE:YES
    #EXTINF:8.5,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/2103cb31c3078eb5edd5c325108f6d6f.ts?1416176849
    #EXTINF:7.33,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/1214ef63a031e3d3229893fdb60eea86.ts?1416176848
    #EXTINF:8.5,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/99c47c49548521b0fff05119a5c63908.ts?1416176889
    #EXTINF:8.43,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/143acefc2149f2572ddcc08abb705736.ts?1416176988
    #EXTINF:4.43,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/11c92b5084971e0cf4768f958e97f936.ts?1416177431
    #EXTINF:6.9,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/10ab810169fb684469f736a53f2cba3a.ts?1416177545
    #EXTINF:8.57,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/88b037af27757e4805d7f1ed0496cbb8.ts?1416178434
    #EXTINF:2.1,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/4a8cda13ea40228de4638dee9985b8b0.ts?1416178513
    #EXTINF:8.47,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/e6fa0135987c86d323f1e994bcd2b429.ts?1416179772
    #EXTINF:8.38,
    https://d3ilpkc014v0xn.cloudfront.net/f5305de24/9a08aba19b45601c83854216bb07a6b6.ts?1416604373
    #EXT-X-ENDLIST

    output from ffprobe

    ffprobe version 2.3.3 Copyright (c) 2007-2014 the FFmpeg developers
     built on Aug 25 2014 19:47:15 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/2.3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
     libavutil      52. 92.100 / 52. 92.100
     libavcodec     55. 69.100 / 55. 69.100
     libavformat    55. 48.100 / 55. 48.100
     libavdevice    55. 13.102 / 55. 13.102
     libavfilter     4. 11.100 /  4. 11.100
     libavresample   1.  3.  0 /  1.  3.  0
     libswscale      2.  6.100 /  2.  6.100
     libswresample   0. 19.100 /  0. 19.100
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mpegts, from '2103cb31c3078eb5edd5c325108f6d6f.ts?1416176849':
     Duration: 00:00:08.53, start: 1.400000, bitrate: 1236 kb/s
     Program 1
       Metadata:
         service_name    : Service01
         service_provider: FFmpeg
       Stream #0:0[0x100]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 480x480, 30 fps, 30 tbr, 90k tbn, 60 tbc
       Stream #0:1[0x101](und): Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 67 kb/s
  • mp4 video file generated using ffmpeg, works on desktop but doesn't work on android emulator

    8 May 2014, by Nikesh

    I am generating a video that converts images into .mp4 video file. Every thing works fine. File is also generated as mp4 but the file doesn’t run on android device, says cannot play video.

    Please find the attached sample code which convert single jpeg file into video (.mp4)

    Please help me to resolve this issue. Thanks.

    JNIEXPORT void JNICALL Java_roman10_ffmpegtst_VideoBrowser_videoExample(JNIEnv *pEnv, jobject pObj, char* imagefile,char* videoFile)
    {
    avcodec_init();
    av_register_all();
    avcodec_register_all();

    AVCodecContext          *pOCtx= NULL;
    AVCodec                 *pOCodex = NULL;
    LOGE(10,"Start videoExample");
    pOCodex = avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);

    if (!pOCodex) {
       LOGE(10,"Cannot find encoder %s", pOCodex);
       exit(1);
    }

    pOCtx= avcodec_alloc_context3(pOCodex);

    uint8_t *outbuf;
    int i, out_size;

    pOCtx->bit_rate = 400000;
    pOCtx->width = 640;
    pOCtx->height = 480;
    AVRational rational = {1,25};
    pOCtx->time_base= rational;
    pOCtx->gop_size = 10; /* emit one intra frame every ten frames */
    pOCtx->max_b_frames=1;
    pOCtx->pix_fmt = AV_PIX_FMT_YUV420P;

    LOGE(10,"Start avcodec_open2");
    int ret = avcodec_open2(pOCtx,pOCodex,NULL);
    if(ret < 0)
    {
        return;
    }
    LOGE(10,"End avcodec_open2");
    AVFormatContext         *pIFormatCtx = NULL;
    ret = avformat_open_input(&pIFormatCtx, imagefile, NULL, NULL);
    if(ret < 0)
    {
       //Cant't open jpg file
       return;
    }
    av_dump_format(pIFormatCtx, 0, imagefile, 0);

    AVCodecContext          *pICodecCtx;  //output codec context
    pICodecCtx = pIFormatCtx->streams[0]->codec;
    /*pICodecCtx->width = 640;
    pICodecCtx->height = 480;
    pICodecCtx->pix_fmt = PIX_FMT_YUV420P;*/


    AVCodec *pICodec = avcodec_find_decoder(pICodecCtx->codec_id); //output codec
    // Open codec
    ret = avcodec_open2(pICodecCtx, pICodec,NULL);
    if(ret < 0)
    {
       //Can't find the decoder
       return;
    }

    AVFrame *pIFrame = avcodec_alloc_frame();
    if (!pIFrame)
    {
       //Can't alloc the input frame
       return ;
    }


    int bufSize = avpicture_get_size(AV_PIX_FMT_YUVJ420P, pICodecCtx->width, pICodecCtx->height);
    uint8_t *buffer = (uint8_t *) av_malloc(bufSize * sizeof(uint8_t));

    avpicture_fill((AVPicture *) pIFrame, buffer, AV_PIX_FMT_YUVJ420P, pICodecCtx->width, pICodecCtx->height);

    FILE *outputFile;

    outputFile = fopen(videoFile, "w+");
    if (!outputFile) {
       LOGE(10,"could not open ");
       exit(1);
    }

    int outbuf_size = 100000;
    outbuf = (uint8_t*)malloc(outbuf_size);

    AVPacket packet;
    int frameFinished;
    int framesNumber = 0;
    while (av_read_frame(pIFormatCtx, &packet) >= 0)
    {
       if(packet.stream_index != 0)
           continue;

       ret = avcodec_decode_video2(pICodecCtx, pIFrame, &frameFinished, &packet);
       if (ret > 0)
       {
           pIFrame->quality = 4;

           for(i=0;i<25;i++) {
               fflush(stdout);
               /* encode the image */
               out_size = avcodec_encode_video(pOCtx, outbuf, outbuf_size, pIFrame);
               fwrite(outbuf, 1, out_size, outputFile);
           }
       }
    }

    /* get the delayed frames */
    for(; out_size; i++) {
       fflush(stdout);
       out_size = avcodec_encode_video(pOCtx, outbuf, outbuf_size, NULL);
       fwrite(outbuf, 1, out_size, outputFile);
    }

    /* 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, outputFile);
    fclose(outputFile);
    free(outbuf);

    avcodec_close(pOCtx);
    av_free(pOCtx);
    av_free(pIFrame);
    }