Recherche avancée

Médias (0)

Mot : - Tags -/configuration

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

Autres articles (36)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

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

  • FFmpeg concatenate video and add watermark

    18 avril 2020, par user7356972

    I have command to overlay two video one on other.

    



    ffmpeg -i input.mp4 -vf "movie= overlay.mov [a]; [1][a]scale2ref[2nd][ref];[2nd][ref]overlay=0:0 [c]"  output.mp4 


    



    Now I want to add water watermark and concatenate a new video append.mov in above command. I have found a command to add watermark.

    



    ffmpeg -i output.mp4 -i watermark.png -filter_complex "overlay=10:10" outputwatermark.mp4


    



    But I want to merge both the command and also need to concatenate append.mov to output.mp4.

    



    Also above overlay two video command takes too long time to process if video size is large. Any suggestion on that(should not affect quality of video) ?

    



    I tried following command to concatenate video.

    



    ffmpeg -i abc.mp4 -i ../input/overlay2.mov append.mp4


    



    The video was not concatenate, below is the output.

    



    ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'abc.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:37.40, start: 0.000000, bitrate: 474 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x540 [SAR 3:4 DAR 4:3], 324 kb/s, 1k fps, 1k tbr, 16k tbn, 2k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '../input/overlay2.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2020-03-27T16:32:23.000000Z
  Duration: 00:00:37.44, start: 0.000000, bitrate: 3519 kb/s
    Stream #1:0(eng): Video: qtrle (rle  / 0x20656C72), argb(progressive), 640x352, 3295 kb/s, SAR 1:1 DAR 20:11, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
    Metadata:
      creation_time   : 2020-03-27T16:32:23.000000Z
      handler_name    : Apple Video Media Handler
      encoder         : Animation
      timecode        : 00:00:00:00
    Stream #1:1(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2020-03-27T16:32:23.000000Z
      handler_name    : Time Code Media Handler
      timecode        : 00:00:00:00
File 'append.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x7ff35a012200] using SAR=3/4
[libx264 @ 0x7ff35a012200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7ff35a012200] profile High, level 5.2
[libx264 @ 0x7ff35a012200] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'append.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
    Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 960x540 [SAR 3:4 DAR 4:3], q=-1--1, 1k fps, 16k tbn, 1k tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.54.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.54.100 aac
frame=37399 fps=378 q=-1.0 Lsize=    2138kB time=00:00:37.39 bitrate= 468.4kbits/s speed=0.378x    
video:1454kB audio:221kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 27.624002%
[libx264 @ 0x7ff35a012200] frame I:150   Avg QP:11.47  size:  1655
[libx264 @ 0x7ff35a012200] frame P:9423  Avg QP:14.43  size:    52
[libx264 @ 0x7ff35a012200] frame B:27826 Avg QP:17.67  size:    27
[libx264 @ 0x7ff35a012200] consecutive B-frames:  0.8%  0.0%  0.0% 99.2%
[libx264 @ 0x7ff35a012200] mb I  I16..4: 94.0%  4.3%  1.7%
[libx264 @ 0x7ff35a012200] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.1%  0.0%  0.0%  0.0%  0.0%    skip:99.8%
[libx264 @ 0x7ff35a012200] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%  0.0%  0.0%  direct: 0.0%  skip:99.9%  L0:54.5% L1:45.5% BI: 0.1%
[libx264 @ 0x7ff35a012200] 8x8 transform intra:4.8% inter:84.4%
[libx264 @ 0x7ff35a012200] coded y,uvDC,uvAC intra: 1.6% 2.3% 2.0% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x7ff35a012200] i16 v,h,dc,p: 96%  0%  3%  0%
[libx264 @ 0x7ff35a012200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 58%  9% 28%  1%  1%  1%  1%  1%  1%
[libx264 @ 0x7ff35a012200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 22% 15%  4%  4%  5%  5%  4%  4%
[libx264 @ 0x7ff35a012200] i8c dc,h,v,p: 97%  1%  1%  0%
[libx264 @ 0x7ff35a012200] Weighted P-Frames: Y:1.9% UV:1.9%
[libx264 @ 0x7ff35a012200] ref P L0: 86.3%  8.4%  4.5%  0.8%  0.0%
[libx264 @ 0x7ff35a012200] ref B L0: 75.4% 24.0%  0.5%
[libx264 @ 0x7ff35a012200] ref B L1: 98.1%  1.9%
[libx264 @ 0x7ff35a012200] kb/s:318.42
[aac @ 0x7ff35a013a00] Qavg: 152.336


    


  • Revision 31199 : L’utilisation de document.write pouvait poser problème de temps en temps ...

    29 août 2009, par kent1@… — Log

    L’utilisation de document.write pouvait poser problème de temps en temps ... si jQuery est disponible, on utilise jQuery.getScript pour charger le script

  • Encoding frames to video with ffmpeg

    5 septembre 2017, par Mher Didaryan

    I am trying to encode a video in Unreal Engine 4 with C++. I have access to the separate frames. Below is the code which reads viewport's displayed pixels and stores in buffer.

    //Safely get render target resource.
    FRenderTarget* RenderTarget = TextureRenderTarget->GameThread_GetRenderTargetResource();
    FIntPoint Size = RenderTarget->GetSizeXY();
    auto ImageBytes = Size.X* Size.Y * static_cast<int32>(sizeof(FColor));
    TArray<uint8> RawData;
    RawData.AddUninitialized(ImageBytes);

    //Get image raw data.
    if (!RenderTarget->ReadPixelsPtr((FColor*)RawData.GetData()))
    {
       RawData.Empty();
       UE_LOG(ExportRenderTargetBPFLibrary, Error, TEXT("ExportRenderTargetAsImage: Failed to get raw data."));
       return false;
    }

    Buffer::getInstance().add(RawData);
    </uint8></int32>

    Unreal Engine has IImageWrapperModule with which you can get an image from frame, but noting for video encoding. What I want is to encode frames in real time basis for live streaming service.

    I found this post Encoding a screenshot into a video using FFMPEG which is kind of what I want, but I have problems adapting this solution for my case. The code is outdated (for example avcodec_encode_video changed to avcodec_encode_video2 with different parameters).

    Bellow is the code of encoder.

    void Compressor::DoWork()
    {
    AVCodec* codec;
    AVCodecContext* c = NULL;
    //uint8_t* outbuf;
    //int /*i, out_size,*/ outbuf_size;

    UE_LOG(LogTemp, Warning, TEXT("encoding"));

    codec = avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);            // finding the H264 encoder
    if (!codec) {
       UE_LOG(LogTemp, Warning, TEXT("codec not found"));
       exit(1);
    }
    else UE_LOG(LogTemp, Warning, TEXT("codec found"));

    c = avcodec_alloc_context3(codec);
    c->bit_rate = 400000;
    c->width = 1280;                                        // resolution must be a multiple of two (1280x720),(1900x1080),(720x480)
    c->height = 720;
    c->time_base.num = 1;                                   // framerate numerator
    c->time_base.den = 25;                                  // framerate denominator
    c->gop_size = 10;                                       // emit one intra frame every ten frames
    c->max_b_frames = 1;                                    // maximum number of b-frames between non b-frames
    c->keyint_min = 1;                                      // minimum GOP size
    c->i_quant_factor = (float)0.71;                        // qscale factor between P and I frames
    //c->b_frame_strategy = 20;                               ///// find out exactly what this does
    c->qcompress = (float)0.6;                              ///// find out exactly what this does
    c->qmin = 20;                                           // minimum quantizer
    c->qmax = 51;                                           // maximum quantizer
    c->max_qdiff = 4;                                       // maximum quantizer difference between frames
    c->refs = 4;                                            // number of reference frames
    c->trellis = 1;                                         // trellis RD Quantization
    c->pix_fmt = AV_PIX_FMT_YUV420P;                           // universal pixel format for video encoding
    c->codec_id = AV_CODEC_ID_MPEG1VIDEO;
    c->codec_type = AVMEDIA_TYPE_VIDEO;

    if (avcodec_open2(c, codec, NULL) &lt; 0) {
       UE_LOG(LogTemp, Warning, TEXT("could not open codec"));         // opening the codec
       //exit(1);
    }
    else UE_LOG(LogTemp, Warning, TEXT("codec oppened"));

    FString FinalFilename = FString("C:/Screen/sample.mpg");
    auto &amp;PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
    auto FileHandle = PlatformFile.OpenWrite(*FinalFilename, true);

    if (FileHandle)
    {
       delete FileHandle; // remove when ready
       UE_LOG(LogTemp, Warning, TEXT("file opened"));
       while (true)
       {
           UE_LOG(LogTemp, Warning, TEXT("removing from buffer"));

           int nbytes = avpicture_get_size(AV_PIX_FMT_YUV420P, c->width, c->height);                                      // allocating outbuffer
           uint8_t* outbuffer = (uint8_t*)av_malloc(nbytes * sizeof(uint8_t));

           AVFrame* inpic = av_frame_alloc();
           AVFrame* outpic = av_frame_alloc();

           outpic->pts = (int64_t)((float)1 * (1000.0 / ((float)(c->time_base.den))) * 90);                              // setting frame pts
           avpicture_fill((AVPicture*)inpic, (uint8_t*)Buffer::getInstance().remove().GetData(),
               AV_PIX_FMT_PAL8, c->width, c->height); // fill image with input screenshot
           avpicture_fill((AVPicture*)outpic, outbuffer, AV_PIX_FMT_YUV420P, c->width, c->height);                        // clear output picture for buffer copy
           av_image_alloc(outpic->data, outpic->linesize, c->width, c->height, c->pix_fmt, 1);

           /*
           inpic->data[0] += inpic->linesize[0]*(screenHeight-1);                                                      
           // flipping frame
           inpic->linesize[0] = -inpic->linesize[0];                                                                  
           // flipping frame

           struct SwsContext* fooContext = sws_getContext(screenWidth, screenHeight, PIX_FMT_RGB32, c->width, c->height, PIX_FMT_YUV420P, SWS_FAST_BILINEAR, NULL, NULL, NULL);
           sws_scale(fooContext, inpic->data, inpic->linesize, 0, c->height, outpic->data, outpic->linesize);          // converting frame size and format

           out_size = avcodec_encode_video(c, outbuf, outbuf_size, outpic);                                            
           // save in file

           */

       }
       delete FileHandle;
    }
    else
    {
       UE_LOG(LogTemp, Warning, TEXT("Can't open file"));
    }
    }

    Can someone explain flipping frame part (why it’s done ?) and how to use avcodec_encode_video2 function instead of avcodec_encode_video ?