Recherche avancée

Médias (91)

Autres articles (111)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (11345)

  • Converting .3gp file into mp4 file in android using ffmpeg

    8 août 2013, par user2171513

    I want to convert .3gp file into .mp4 file with resolution modified in Android using ffmpeg.
    I want to increase the resolution of the video from its standard resolution to 1920x1080.

    So far I have been successful in
    1) extracting .h264 video file from .3gp file and increase its resolution
    2) extracting .aac audio file from .3gp file.

    Now I want to combine them back into .mp4 file. The commands that I have used to extract this .h264 and .aac files are :

    ./ffmpeg -i 1.3gp -vbsf h264_mp4toannexb -s 1920x1080 1.h264
    ./ffmpeg -i 1.3gp -ab 160k -ac 2 -ar 48000 -vn -strict -2  1.aac

    The command that I have tried to merge them back is

    ./ffmpeg -i 1.h264 -i 1.aac -map 0:0 -map 1:0 -strict -2 1.mp4

    The 1.mp4 that gets generated at the end basically has audio only at few sync frames of video. (Thats what I feel , because the audio is present at specific intervals within the video)

    Can anyone please help in figuring out what am I missing here.

    EDIT :
    So basically I want to concat 4 different videos of 4 different resolution and type.

    1)

    ./ffmpeg -i 1.mp4
    Video: h264 (High), yuv420p, 1920x1080, 16959 kb/s, 29.85 fps, 90k tbr, 90k tbn, 180k tbc
    Audio: aac, 48000 Hz, stereo, s16, 106 kb/s

    2)

    ffmpeg -i 2.mp4
    Video: h264 (Constrained Baseline), yuv420p, 640x480, 3102 kb/s, 29.99 fps, 90k tbr, 90k tbn, 180k tbc
    Audio: aac, 48000 Hz, stereo, s16, 93 kb/s

    3)

    ffmpeg -i 3.3gp
    Video: h263, yuv420p, 1408x1152 [PAR 12:11 DAR 4:3], 2920 kb/s, 15 fps, 15 tbr, 15360 tbn, 29.97 tbc
    Audio: amrnb, 8000 Hz, 1 channels, flt, 12 kb/s

    4)

    ffmpeg -i 4.3gp
    Video: h264 (High), yuv420p, 352x288 [PAR 12:11 DAR 4:3], 216 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
    Audio: aac, 44100 Hz, stereo, s16, 92 kb/s

    So I am converting them to mpegts using following commands

    ./ffmpeg -i 1.mp4 -c:v libx264 -vf scale=1920:1080 -r 60 -c:a aac -ar 48000 -b:a 160k -strict experimental -f mpegts 1.ts
    ./ffmpeg -i 2.mp4 -c:v libx264 -vf scale=1920:1080 -r 60 -c:a aac -ar 48000 -b:a 160k -strict experimental -f mpegts 2.ts
    ./ffmpeg -i 3.3gp -c:v libx264 -vf scale=1920:1080 -r 60 -c:a aac -ar 48000 -b:a 160k -strict experimental -f mpegts 3.ts
    ./ffmpeg -i 4.3gp -c:v libx264 -vf scale=1920:1080 -r 60 -c:a aac -ar 48000 -b:a 160k -strict experimental -f mpegts 4.ts

    then concatenating the .ts files into f.ts and then creating a final .mp4 file from it using

    cat 1.ts 2.ts 3.ts 4.ts > f.ts
    ./ffmpeg -i f.ts -c copy -bsf:a aac_adtstoasc output.mp4

    But my f.ts also doesnt seem to play correctly in VLC on linux, it plays first 2 mp4's video + audio and it plays last .3gp's audio only.(Same for output.mp4 too) Could you please help me in figuring out what am I missing ?

    Thanks

  • select FrameSize for vidoe with logo in FFmpeg

    24 juin 2016, par Ahmad Ali Mukashaty

    I’m using this command to stream video with 1920*1080 frame size

    ffmpeg -re -i test.mp4 -vf scale=1920*1080 -f mpegts udp://127.0.0.1:port

    but whan I want to stream images with video like this

    ffmpeg -re -i test.mp4 -vf scale=1920*1080 -i logo.png -ignore_loop 0 -i
    test6.gif -filter_complex "[0][1]overlay=10:10[a];[a][2]overlay=90:90" -f
    mpegts udp://127.0.0.1:port

    the command line display this error
    here

    How can I choose frame size whan I stream video with image ?

  • Video decoding using ffms2 (ffmpegsource)

    21 juin 2013, par praks411

    I'm using ffms2 (aka FFmpegSource) for decoding video frames and display on UI based on wxWidgets.
    My player works fine for low resolution video (320*240, 640*480) but for higher resolution (1080) it is very slow. I'm not able to meed the desired frame for high resolution video.
    After time analysis I found that FFMS_GetFrame() frame function takes much longer time for high resolution frame.
    Here are the results.
    1. 320*240 FFMS_GetFrame takes 4-6ms
    2. 640*480 FFMS_GetFrame takes >20ms
    3. 1080*720 FFMS_GetFrame takes >40

    Which means that I'll never meets 30 fps requirement for 1080p frame with FFMS2. But I'm not sure if this is the case.
    Please suggest what could be going wrong.

    void SetPosition(int64 pos)
    {
       uint8_t* data_ptr = NULL;
       /*check if position is valid*/

       if (!m_track || pos < 0  && pos > m_videoProp->NumFrames - 1)
           return; // ERR_POS;

       wxMilliClock_t start_wx_t =  wxGetLocalTimeMillis();
       long long start_t = start_wx_t.GetValue();
       m_frameId = pos;
      if(m_video)
      {
        m_frameProp = FFMS_GetFrame(m_video, m_frameId, &m_errInfo);

        if(!m_frameProp) return;

        if(m_frameProp)
        {
           m_width_ffms2 = m_frameProp->EncodedWidth;
           m_height_ffms2 = m_frameProp->EncodedHeight;
        }

          wxMilliClock_t end_wx_t =  wxGetLocalTimeMillis();
       long long end_t = end_wx_t.GetValue();
       long long diff_t =  end_t - start_t;
       wxLogDebug(wxString(wxT("Frame Grabe Millisec") + ToString(diff_t)));

       //m_frameInfo = FFMS_GetFrameInfo(m_track, FFMS_TYPE_VIDEO);

       /* If you want to change the output colorspace or resize the output frame size, now is the time to do it.
       IMPORTANT: This step is also required to prevent resolution and colorspace changes midstream. You can
       always tell a frame's original properties by examining the Encoded properties in FFMS_Frame. */

       /* A -1 terminated list of the acceptable output formats (see pixfmt.h for the list of pixel formats/colorspaces).
       To get the name of a given pixel format, strip the leading PIX_FMT_ and convert to lowercase. For example,
       PIX_FMT_YUV420P becomes "yuv420p". */
    #if 0
       int pixfmt[2];
       pixfmt[0] = FFMS_GetPixFmt("bgr24");
       pixfmt[1] = -1;
    #endif
       // FFMS_SetOutputFormatV2 returns 0 on success. It Returns non-0 and sets ErrorMsg on failure.
       int failure = FFMS_SetOutputFormatV2(m_video, pixfmt, m_width_ffms2, m_height_ffms2, FFMS_RESIZER_BICUBIC, &m_errInfo);
       if (failure)
       {
           //FFMS_DestroyVideoSource(m_video);
           //m_video = NULL;
           return; //return ERR_POS;
       }
        data_ptr = m_frameProp->Data[0];

     }
      else
      {
           m_width_ffms2 = 320;
           m_height_ffms2 = 240;
      }
      if(data_ptr)
      {
        memcpy(m_buf, data_ptr, 3*m_height_ffms2 * m_width_ffms2);
      }
      else
      {
        memset(m_buf, 0, 3*m_height_ffms2 * m_width_ffms2);    
      }
    }