Recherche avancée

Médias (91)

Autres articles (11)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

Sur d’autres sites (515)

  • Rotation Video Overlay Over Image producing some weird output with the FFMPEG KIT for android by arthenica / ffmpeg-kit

    25 octobre 2023, par Yash Kalariya

    I want to overlay some video on the image frame and rotate it and output it as the resultant video. However the command is running successfully but it is producing some weird output video with both the top and bottom portion with black layer, but however the rotation of the video over the image is successful but the top and bottom portion are getting black.

    


    Here is my command that i have used with the ffmpeg kit for android by arthenica/ffmpeg-kit.

    


    "-i " +inputImage+" -i "+inputVideo+" -filter_complex [1:v]format=rgba,rotate="+(float) Math.toDegrees(Double.parseDouble("-1.1073"))+"*(PI/180)[a] ;[0:v][a]overlay=252:103 "+ "-threads 5 -preset veryslow -q:v 3 "+resultVideo

    


    "-i /data/user/0/com.codemenschen.lmsapp/files/images/1698225617748.jpeg -i /data/user/0/com.codemenschen.lmsapp/files/videos/Lmwy1698225601507.mp4 -filter_complex [1:v]format=rgba,rotate=-63.443615*(PI/180)[a] ;[0:v][a]overlay=252:103 -threads 5 -preset veryslow -q:v 3 /data/user/0/com.codemenschen.lmsapp/files/videos/Lmwy1698225618149.mp4"

    


    Here is the link to the Image frame :
https://drive.google.com/file/d/1G6R7_E5prAE6QBRipKIgA7G6Imjy_KM3/view?usp=sharing

    


    Here is the link to the Overlay Video : https://drive.google.com/file/d/1sYWt1Whu5TqaxSMHc6zpgGedEBaWuRqP/view?usp=sharing

    


    Here is the link to the Output Video : https://drive.google.com/file/d/1cQ2G77bVqFc6e1vZJBXo0MHw7TyBiiVN/view?usp=sharing

    


    Can someone help me with this ?

    


    Here is the command that i have tried and its working but producing weird outputs with black portion :

    


    "-i /data/user/0/com.codemenschen.lmsapp/files/images/1698225617748.jpeg -i /data/user/0/com.codemenschen.lmsapp/files/videos/Lmwy1698225601507.mp4 -filter_complex [1:v]format=rgba,rotate=-63.443615*(PI/180)[a] ;[0:v][a]overlay=252:103 -threads 5 -preset veryslow -q:v 3 /data/user/0/com.codemenschen.lmsapp/files/videos/Lmwy1698225618149.mp4"

    


  • FFMPEG : RGB to YUV conversion by binary ffmpeg and by code C++ give different results

    15 mars 2015, par muocdich

    I am trying to convert RGB frames (ppm format) to YUV420P format using ffmpeg. To make sure that my code C++ is good , I compared the output with the one created by this command (the same filer BILINEAR) :
    ffmpeg -start_number 1 -i data/test512x512%d.ppm -sws_flags ’bilinear’ -pix_fmt yuv420p data/test-yuv420p.yuv

    My code :

    static unsigned char *readPPM(int i)
    {
     FILE *pF;
     unsigned char *imgRGB;
     unsigned char *imgBGR;
     int w,h;
     int c;
     int bit;
     char buff[16];

     char *filename;
     asprintf(&filename,"test512x512%d.ppm",i);
     pF = fopen(filename,"rb");
     free(filename);

     if (pF) {
       if (!fgets(buff, sizeof(buff), pF)) {
         return nullptr;
       }
       if (buff[0] != 'P' || buff[1] != '6') {
         fprintf(stderr, "Invalid image format (must be 'P6')\n");
       return nullptr;
     }
     c = getc(pF);
     while (c == '#') {
       while (getc(pF) != '\n') ;
         c = getc(pF);
     }
     ungetc(c, pF);
     // read size
     if (fscanf(pF, "%d %d", &w, &h) != 2) {
       fprintf(stderr, "Invalid image size (error loading '%s')\n", filename);
       return nullptr;

     }
     //read bit
     if (fscanf(pF, "%d", &bit) != 1) {
       fprintf(stderr, "Invalid rgb component (error loading '%s')\n", filename);
       exit(1);
     }

     imgRGB =(unsigned char*) malloc(3*h*w);
     imgBGR =(unsigned char*) malloc(3*h*w);
     //read pixel data from file
     int length = fread(imgBGR, sizeof(unsigned char)*3, w*h, pF) ;
     if (length != w*h) {
       fprintf(stderr, "Error loading image '%s'\n", filename);
       return nullptr;
     }


     int start=0;
     for (i=0; i < HEIGHT*WIDTH;i++) {
      imgRGB[start] = imgBGR[start];
      imgRGB[start+2]= imgBGR[start+2];
      imgRGB[start+1]= imgBGR[start+1];
      start+=3;
     }

     fclose(pF);
     free(imgBGR);
     return imgRGB;
    }
    else {
     return nullptr;
    }
    }

    void Test_FFMPEG::FillFrame (uint8_t* pic, int index)
    {

    avpicture_fill((AVPicture*)RGBFrame, pic, AV_PIX_FMT_RGB24, encodeContext->width, encodeContext->height);

     struct SwsContext* fooContext = sws_getContext(encodeContext->width, encodeContext->height,
     PIX_FMT_RGB24,
     encodeContext->width, encodeContext->height,
     PIX_FMT_YUV420P,
     SWS_BILINEAR  , nullptr, nullptr, nullptr);
     sws_scale(fooContext, RGBFrame->data, RGBFrame->linesize, 0, encodeContext->height, OrgFrame->data, OrgFrame->linesize);

     OrgFrame->pts = index;
    }

    The comparison result is not good. The are slight differences in Y and V but a lot in U. I cannot post my images but there is a part of Y is in U image. And it makes color change a little bit.

    Can you tell me where is my error ? Thanks you

  • MP3 files created using FFmpeg are not starting playback in browser immediately. Is there any major difference between FFmpeg and AVCONV ?

    23 janvier 2019, par AR5

    I am working on a website that streams music. We recently changed server from Debian (with avconv) to a Centos7 (with FFmpeg) server.
    The mp3 files created on Debian server start playback on browser (I have tested Chrome and Firefox) start almost at the same time they start loading into the browser (I used Network tab on Developer Tools to monitor this)

    Now after the switch to Centos/FFmpeg server, the files being created on this new server are displaying a strange behavior. They only start playback after about 1MB is loaded into the browser.

    I have used identical settings for converting original file into MP3 in both AVCONV and FFmpeg but the files created using FFmpeg are showing this issue. Is there something that might be causing such an issue ? Are there differences in terms of audio conversion between AVCONV and FFmpeg ?

    I have already tried

    I first found that the files created on old server (Debian/Avconv) were VBR (variable bitrate) and the ones created on new server were CBR (constant bitrate), so I tried switching to VBR but the issue still persisted.

    I checked the mp3 files using MediaInfo app and there seems to be no difference between the files.

    I also checked if both files were being served as 206 Partial Content and they both are indeed.

    I am trying to create mp3 files using FFmpeg that work exactly like the ones created before using avconv

    I am trying to make the streaming site work on the new server but the mp3 files created using FFmpeg are not playing back correctly as compared to the ones created on the old server. I am trying to figure out what I might be doing wrong ? or if there is a difference between avconv and FFmpeg that is causing this issue.

    I am really stuck on this issue, any help will be really appreciated.


    Edit

    I don’t have access to old server anymore so I couldn’t retrieve the log output of avconv. The command that I was using was as follows :

    avconv -y -i "/test/Track 01.mp3" -ac 2 -ar 44100 -acodec libmp3lame -b:a 128k "/test/Track 01 (converted).mp3"

    Here is the command and log output from new server :

    ffmpeg -y -i "/test/Track 01.mp3" -ac 2 -ar 44100 -acodec libmp3lame -b:a 128k "/test/Track 01 (converted).mp3"
    ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
     configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    [mp3 @ 0xd60be0] Skipping 0 bytes of junk at 240044.
    Input #0, mp3, from '/test/Track 01.mp3':
     Metadata:
       album           : Future Hndrxx Presents: The WIZRD
       artist          : Future
       genre           : Hip-Hop
       title           : Never Stop
       track           : 1
       lyrics-eng      : rgf.is
       WEB SITE        : rgf.is
       TAGGINGTIME     : rgf.is
       WEB             : rgf.is
       date            : 2019
       encoder         : Lavf56.40.101
     Duration: 00:04:51.40, start: 0.025056, bitrate: 121 kb/s
       Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 114 kb/s
       Metadata:
         encoder         : Lavc56.60
       Stream #0:1: Video: png, rgb24(pc), 333x333 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
       Metadata:
         comment         : Cover (front)
    [mp3 @ 0xd66ec0] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2
    Output #0, mp3, to '/test/Track 01 (converted).mp3':
     Metadata:
       TALB            : Future Hndrxx Presents: The WIZRD
       TPE1            : Future
       TCON            : Hip-Hop
       TIT2            : Never Stop
       TRCK            : 1
       lyrics-eng      : rgf.is
       WEB SITE        : rgf.is
       TAGGINGTIME     : rgf.is
       WEB             : rgf.is
       TDRC            : 2019
       TSSE            : Lavf56.40.101
       Stream #0:0: Video: png, rgb24, 333x333 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc
       Metadata:
         comment         : Cover (front)
         encoder         : Lavc56.60.100 png
       Stream #0:1: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s16p, 128 kb/s
       Metadata:
         encoder         : Lavc56.60.100 libmp3lame
    Stream mapping:
     Stream #0:1 -> #0:0 (png (native) -> png (native))
     Stream #0:0 -> #0:1 (mp3 (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    [libmp3lame @ 0xd9b0c0] Trying to remove 1152 samples, but the queue is emptys/s
    frame=    1 fps=0.1 q=-0.0 Lsize=    4788kB time=00:04:51.39 bitrate= 134.6kbits/s
    video:234kB audio:4553kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.014809%

    Samples of MP3 files

    I have uploaded samples of mp3 files created using both avconv and FFmpeg. Please find these here : https://drive.google.com/drive/folders/1gRTmMM2iSK0VWQ4Zaf_iBNQe5laFJl08?usp=sharing