Recherche avancée

Médias (1)

Mot : - Tags -/publier

Autres articles (44)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (4714)

  • Can't link FFmpeg in Visual Studio 2013

    22 février 2016, par Sir DrinksCoffeeALot

    I’m struggling with this for past 3-4 days with barely any progress. I’ve downloaded "dev" and "shared" archives and extracted them. "Dev" archive has .lib and .h files and "Shared" has .dll files needed for running app. These are the steps that i’ve done linking-wise :

    Project -> Properties -> Configuration Properties -> VC++ Directories -> Include Directories -> ...\ dev\ include

    Project -> Properties -> Configuration Properties -> VC++ Directories -> Library Directories -> ...\ dev\ lib

    Project -> Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories -> ...\ dev\ include

    Project -> Properties -> Configuration Properties -> Linker -> General -> Additional Library Directories -> ...\ dev\ lib

    Project -> Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies -> avcodec.lib ... swscale.lib

    And when i try to build it i get following error :

    Error 1 error LNK2019: unresolved external symbol _avcodec_register_all referenced in function _main...

    I have no idea why,somehow .lib are not getting linked or something or i’ve done something wrong. It’s getting really frustrating and ffmpeg is crucial in project that i’m working on, basicly i can’t do anything without it. So please if someone could point me in right direction i would aprreciate it very much.

    This is the example that im trying to build.

    #include
    extern "C"
    {

    #include "libavcodec\avcodec.h"
    }


    #pragma comment(lib, "avcodec.lib")

    int main()
    {
       printf("Trying avcodec_register_all... ");
       avcodec_register_all();
       printf("Done.\n");
       return 0;
    }

    Thank you in advance.

  • FFmpeg splitting large files

    1er février 2016, par Yusaf Khaliq

    I need to split a large video file into multiple pieces quickly and without files with errors. The basic idea is, I have a 2GB video file which I want to change to multiple formats. I have read some encoders can not make use of more than 1 core when encoding to a different format. So I had the idea to split the large file (which is very quick) into 4/8 pieces depending on how many cores I have available on individual servers. re-encode each piece to a new format and use these to display video in sequence.

    so

    testfile.mp4

    becomes

    1. testfile_piece_1.mp4
    2. testfile_piece_2.mp4
    3. testfile_piece_3.mp4
    4. testfile_piece_4.mp4

    these can then be individually be converted.

    The solution should not be format specific. However I have found issues with mp4 files.

    I have tried the command below, which works really well and fast but creates files with errors.

    ffmpeg -i testfile.mp4 -ss 00:00:00 -t 00:20:00 -c copy testfile_piece_1.mp4

    When I play the testfile_piece_1.mp4 on VLC it works fine. An issue arises when converting the split file to a different height and width mp4 file. I would get an error similar to "moov atom not found"

    I tried adding -movflags faststart with no luck

    I then came across this library https://code.google.com/archive/p/moovrelocator/ which fixed the moov issue but I would then get an error with regards to aac "Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height"

    The other way of splitting the files is useless but involved re-encoding the file. not too bad for smaller file size but the 2GB file would probably take days to complete.

    Is there a way to split the largr file quickly without producing files with errors ? I have been working on it for days with no luck.

    Console output for comment - FFmpeg splitting large files

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/usr/share/nginx/html/uploads/testfile01.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf56.36.100
     Duration: 00:05:02.08, start: 302.120000, bitrate: 3254 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709)                                  , 1920x1080 [SAR 1:1 DAR 16:9], 3252 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (de                                  fault)
       Metadata:
         handler_name    : VideoHandler
    [libx264 @ 0x165ffc0] width not divisible by 2 (853x480)
    Output #0, mp4, to '/usr/share/nginx/html/uploads/testfile01_480.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf56.36.100
       Stream #0:0(und): Video: h264, none, q=2-31, 128 kb/s, SAR 2560:2559 DAR 0:0                                  , 25 fps (default)
       Metadata:
         handler_name    : VideoHandler
         encoder         : Lavc56.41.100 libx264
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    Error while opening encoder for output stream #0:0 - maybe incorrect parameters                                   such as bit_rate, rate, width or height

    console output 2

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/usr/share/nginx/html/uploads/testfile.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2016-01-24 04:26:37
     Duration: 01:15:58.08, start: 0.000000, bitrate: 3163 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3161 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
       Metadata:
         creation_time   : 2016-01-24 04:26:37
         handler_name    : VideoHandler
    [segment @ 0x1197060] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    Output #0, segment, to '/usr/share/nginx/html/uploads/testfile%02d.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       encoder         : Lavf56.36.100
       Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 3161 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 2016-01-24 04:26:37
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 0x11512a0] Codec for stream 0 does not use global headers but container format requires global headers
  • rtmp Videos encoded with FFmpeg play too fast

    30 janvier 2016, par 江嘉荣

    play back too fast and loading Every once in a while

    here is the code ... please help...

    pFormatCtx = avformat_alloc_context();

    out_filename = "rtmp://192.168.1.105:1935/jc";

    avformat_alloc_output_context2(&pFormatCtx, ofmt, "flv", out_filename);    

    ofmt = pFormatCtx->oformat;

    if (avio_open(&pFormatCtx->pb,out_filename, AVIO_FLAG_WRITE) < 0){
       printf("Failed to open output file! \n");
       return -1;
    }

    video_st = avformat_new_stream(pFormatCtx, 0);
    video_st->time_base.num = 1;
    video_st->time_base.den = 30;


    br = 400 * 1000;
    pCodecCtx = video_st->codec;
    pCodecCtx->codec_id = AV_CODEC_ID_H264;
    pCodecCtx->codec_type = AVMEDIA_TYPE_VIDEO;
    pCodecCtx->pix_fmt = PIX_FMT_YUV420P;

    pCodecCtx->gop_size = 12;
    pCodecCtx->max_qdiff = 4;

    pCodecCtx->qmin = 0;
    pCodecCtx->qmax = 51;

    pCodecCtx->bit_rate = br;
    pCodecCtx->rc_min_rate =br;
    pCodecCtx->rc_max_rate = br;
    pCodecCtx->bit_rate_tolerance = br;
    pCodecCtx->rc_buffer_size=br;

    pCodecCtx->rc_initial_buffer_occupancy = pCodecCtx->rc_buffer_size*3/4;

    pCodecCtx->time_base.num = 1;
    pCodecCtx->time_base.den = 30;

    start_time = 0;

    pCodecCtx->max_b_frames = 3;

    AVDictionary *param = 0;

    if(pCodecCtx->codec_id == AV_CODEC_ID_H264) {

       av_dict_set(&param, "preset", "ultrafast", 0);
       av_dict_set(&param, "tune", "zerolatency", 0);
       av_dict_set(&param, "max_delay", "500", 0);
    }

    av_dump_format(pFormatCtx, 0, out_filename, AVIO_FLAG_WRITE);

    pCodec = avcodec_find_encoder(AV_CODEC_ID_H264);

    avformat_write_header(pFormatCtx, NULL);

    y_size = pCodecCtx->width * pCodecCtx->height;

    return 0;

    get pFrame

       pFrame->width = encoder_h264_frame_width;
       pFrame->height = encoder_h264_frame_height;
       pFrame->format = PIX_FMT_YUV420P;

    I don’t know if it’s right way to set the pFrame->pts here...

       pFrame->pts = av_rescale_q(framecnt, pCodecCtx->time_base, video_st-    >codec->time_base);
       avpicture_fill((AVPicture *)pFrame, picture_buf, pCodecCtx->pix_fmt, pCodecCtx->width,    pCodecCtx->height);
       pkt.data = NULL;
       pkt.size = 0;

       int got_picture = 0;

       int ret = avcodec_encode_video2(pCodecCtx, &pkt, pFrame, &got_picture);
       framecnt++;
       if(ret < 0) {
       }
       if (got_picture=) {
           pkt.stream_index = video_st->index;

    is it right ?

           pkt.pts = av_rescale_q(pkt.pts, video_st->codec->time_base, video_st->time_base);
           pkt.dts = av_rescale_q(pkt.dts, video_st->codec->time_base, video_st->time_base);

           ret = av_interleaved_write_frame(pFormatCtx, &pkt);

       }
       av_frame_free(&pFrame);
       av_free_packet(&pkt);
       free(yuv420_data);

    This problem has troubled me for a lot of days....