Recherche avancée

Médias (91)

Autres articles (74)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8216)

  • ffmpeg video conversion from webm to mp4 is adding lag to the video

    21 janvier 2016, par Hemant Kumar

    Hi I am trying to convert video from .webm extension to .mp4 extension and it is adding lags to the video, also not showing me the full video.

    I am using following video conversion command.

    "ffmpeg -i {$input} -strict -2 -vcodec libx264 -preset slow -vb 500k -maxrate 500k -bufsize 1000k -vf 'scale=-1:480 ".fix_video_orientation($input)."' -threads 0 -ab 64k -s {$resolution}  -movflags faststart -metadata:s:v:0 rotate=0 {$output}";

    "fix_video_orientation" function is given below. It rotate the resulting video if video while recording is rotated to certain angle.

    function fix_video_orientation($input){

    $return= ", transpose=1 ";

    $dd= exec("ffprobe -of json -show_streams  {$input}   | grep rotate");

    if(!empty($dd)){

    $dd=explode(":",$dd);
    $rotate=str_replace(",","",str_replace('"',"",$dd[1]));

    if($rotate=="90")return $return;

    else if ($rotate=="180") return ", transpose=2,transpose=2 ";

    else if($rotate == "270") return ", transpose=2 ";
    }

    Currently above script is supporting "flv","avi","mp4","mkv","mpg","wmv","asf","webm","mov","3gp","3gpp" extensions, also the script is supporting the resulting .mp4 file to play on all browsers and devices.

    For query :

    ffmpeg -i <server path="path">/g9zyy2qg54qp1l5spo2-mergedFile.webm -strict -2 -vcodec libx264 -preset slow -vb 500k -maxrate 500k -bufsize 1000k -vf 'scale=-1:480 ' -threads 0 -ab 64k -s 640x480 -movflags faststart -metadata:s:v:0 rotate=0 <server path="path">/g9zyy2qg54qp1l5spo2-mergedFile5.mp4
    </server></server>

    Console output :

    ffmpeg version 2.2.5 Copyright (c) 2000-2014 the FFmpeg developers
     built on Aug  1 2014 09:24:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
     configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libtheora --enable-libx264 --enable-libvpx --enable-libmp3lame
     libavutil      52. 66.100 / 52. 66.100
     libavcodec     55. 52.102 / 55. 52.102
     libavformat    55. 33.100 / 55. 33.100
     libavdevice    55. 10.100 / 55. 10.100
     libavfilter     4.  2.100 /  4.  2.100
     libswscale      2.  5.102 /  2.  5.102
     libswresample   0. 18.100 /  0. 18.100
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, matroska,webm, from '<server path="path">/g9zyy2qg54qp1l5spo2-mergedFile.webm':
     Metadata:
       encoder         : Lavf55.33.100
     Duration: 00:00:13.53, start: 0.000000, bitrate: 387 kb/s
       Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp
       Stream #0:1: Video: vp8, yuv420p, 320x240, SAR 1:1 DAR 4:3, 1k fps, 1k tbr, 1k tbn, 1k tbc (default)
    [libx264 @ 0x38fcf40] using SAR=1/1
    [libx264 @ 0x38fcf40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x38fcf40] profile High, level 5.2
    [libx264 @ 0x38fcf40] 264 - core 142 r2453 ea0ca51 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 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=24 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=cbr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to '<server path="path">/g9zyy2qg54qp1l5spo2-mergedFile5.mp4':
     Metadata:
       encoder         : Lavf55.33.100
       Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 500 kb/s, 16k tbn, 1k tbc (default)
       Metadata:
         rotate          : 0
       Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 64 kb/s
    Stream mapping:
     Stream #0:1 -> #0:0 (vp8 -> libx264)
     Stream #0:0 -> #0:1 (vorbis -> aac)
    Press [q] to stop, [?] for help
    frame=  358 fps=0.0 q=39.0 size=      27kB time=00:00:00.74 bitrate= 295.4kbits/frame=  723 fps=691 q=41.0 size=      57kB time=00:00:01.39 bitrate= 335.1kbits/frame= 1410 fps=706 q=45.0 size=     108kB time=00:00:01.74 bitrate= 509.0kbits/frame= 1777 fps=710 q=45.0 size=     134kB time=00:00:02.13 bitrate= 512.7kbits/frame= 2126 fps=707 q=45.0 size=     164kB time=00:00:02.50 bitrate= 535.0kbits/frame= 2497 fps=710 q=45.0 size=     191kB time=00:00:02.85 bitrate= 547.8kbits/frame= 2869 fps=708 q=45.0 size=     225kB time=00:00:03.20 bitrate= 575.7kbits/frame= 3226 fps=707 q=45.0 size=     250kB time=00:00:03.59 bitrate= 568.2kbits/frame= 3586 fps=709 q=46.0 size=     282kB time=00:00:03.94 bitrate= 585.7kbits/frame= 3956 fps=710 q=45.0 size=     305kB time=00:00:04.59 bitrate= 543.8kbits/frame= 4358 fps=710 q=46.0 size=     340kB time=00:00:04.71 bitrate= 591.1kbits/frame= 4751 fps=712 q=45.0 size=     362kB time=00:00:05.10 bitrate= 581.3kbits/frame= 5133 fps=713 q=45.0 size=     393kB time=00:00:05.50 bitrate= 584.9kbits/frame= 5510 fps=715 q=45.0 size=     416kB time=00:00:05.89 bitrate= 578.5kbits/frame= 5880 fps=715 q=45.0 size=     448kB time=00:00:06.24 bitrate= 587.6kbits/frame= 6250 fps=715 q=45.0 size=     472kB time=00:00:06.64 bitrate= 582.3kbits/frame= 6651 fps=715 q=45.0 size=     501kB time=00:00:06.98 bitrate= 587.1kbits/frame= 7012 fps=713 q=50.0 size=     524kB time=00:00:07.68 bitrate= 559.0kbits/frame= 7396 fps=714 q=45.0 size=     551kB time=00:00:07.75 bitrate= 582.5kbits/frame= 7771 fps=714 q=47.0 size=     575kB time=00:00:08.10 bitrate= 581.1kbits/frame= 8139 fps=714 q=50.0 size=     604kB time=00:00:08.52 bitrate= 580.8kbits/frame= 8509 fps=715 q=46.0 size=     628kB time=00:00:08.87 bitrate= 580.4kbits/frame= 8885 fps=715 q=46.0 size=     655kB time=00:00:09.19 bitrate= 583.1kbits/frame= 9233 fps=714 q=46.0 size=     677kB time=00:00:09.54 bitrate= 581.2kbits/frame= 9603 fps=714 q=46.0 size=     706kB time=00:00:09.96 bitrate= 580.6kbits/frame= 9975 fps=714 q=46.0 size=     728kB time=00:00:10.65 bitrate= 559.8kbits/frame=10376 fps=715 q=46.0 size=     757kB time=00:00:10.75 bitrate= 577.0kbits/frame=10730 fps=714 q=46.0 size=     780kB time=00:00:11.07 bitrate= 577.1kbits/frame=11090 fps=713 q=47.0 size=     808kB time=00:00:11.42 bitrate= 579.7kbits/frame=11447 fps=713 q=46.0 size=     832kB time=00:00:11.79 bitrate= 578.0kbits/frame=11802 fps=712 q=48.0 size=     858kB time=00:00:12.14 bitrate= 578.5kbits/frame=12181 fps=713 q=46.0 size=     880kB time=00:00:12.51 bitrate= 576.3kbits/frame=12563 fps=713 q=46.0 size=     908kB time=00:00:12.95 bitrate= 573.9kbits/frame=13527 fps=715 q=46.0 size=     960kB time=-577014:-32:-22.-77 bitrate=N/A [mp4 @ 0x3912e00] Starting second pass: moving the moov atom to the beginning of the file
    frame=13527 fps=713 q=-1.0 Lsize=    1139kB time=00:00:13.52 bitrate= 689.8kbits/s dup=13036 drop=0    
    video:863kB audio:107kB subtitle:0 data:0 global headers:0kB muxing overhead 17.479137%
    [libx264 @ 0x38fcf40] frame I:55    Avg QP:33.13  size:  6072
    [libx264 @ 0x38fcf40] frame P:3409  Avg QP:32.90  size:    95
    [libx264 @ 0x38fcf40] frame B:10063 Avg QP:39.74  size:    22
    [libx264 @ 0x38fcf40] consecutive B-frames:  0.8%  0.0%  0.0% 99.2%
    [libx264 @ 0x38fcf40] mb I  I16..4: 25.7% 69.5%  4.8%
    [libx264 @ 0x38fcf40] mb P  I16..4:  0.2%  0.2%  0.0%  P16..4:  1.4%  0.1%  0.4%  0.0%  0.0%    skip:97.7%
    [libx264 @ 0x38fcf40] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.3%  0.0%  0.0%  direct: 0.0%  skip:99.7%  L0:41.0% L1:58.9% BI: 0.0%
    [libx264 @ 0x38fcf40] 8x8 transform intra:67.9% inter:94.6%
    [libx264 @ 0x38fcf40] direct mvs  spatial:86.6% temporal:13.4%
    [libx264 @ 0x38fcf40] coded y,uvDC,uvAC intra: 36.1% 36.9% 1.7% inter: 0.1% 0.1% 0.0%
    [libx264 @ 0x38fcf40] i16 v,h,dc,p: 32% 27%  9% 31%
    [libx264 @ 0x38fcf40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 13% 18%  7%  7%  8%  8%  9%  8%
    [libx264 @ 0x38fcf40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 16%  7%  7%  9% 10%  9%  7%  8%
    [libx264 @ 0x38fcf40] i8c dc,h,v,p: 73% 14%  9%  4%
    [libx264 @ 0x38fcf40] Weighted P-Frames: Y:0.6% UV:0.0%
    [libx264 @ 0x38fcf40] ref P L0: 77.5% 12.2%  9.1%  0.9%  0.2%  0.0%
    [libx264 @ 0x38fcf40] ref B L0: 86.6% 13.2%  0.2%  0.0%
    [libx264 @ 0x38fcf40] ref B L1: 89.8% 10.2%
    [libx264 @ 0x38fcf40] kb/s:522.05
    </server></server>
  • Final Rendered Video is Sped Up Compared to Animation Played in Processing

    15 janvier 2016, par Nightlife

    Recently I made an Audio Visualizer in Processing. From there I wanted to render the animation created in Processing into a mp4 file. I am on a windows computer, and am using ffmpeg to convert my TIF files produced in Processing into mp4.

    When I do this I am able to render the images into an mp4 file, but when I playback this file the animation is sped up compared to the animation when I play it on Processing. Because of this the animation does not sync with the audio when I combine the mp4 file and audio on a video editing program.

    When I set my frame rate to 25 and have the limit on the number of frames to be 250 and render it into a mp4 file it is 10 seconds long like it should be, but it contains more than 10 seconds of the animation when compared to the animation played directly in Processing.

    I have no idea why this is so any help will be much appreciated.

    My Processing code :

    import ddf.minim.*;
    import ddf.minim.analysis.*;

    Minim minim;
    AudioPlayer player;
    PImage img;
    FFT fft;

    void setup() {
     size(728, 546);

     minim = new Minim(this);

     // this loads mysong.wav from the data folder as a stream with a internal buffer of size 1024
     player = minim.loadFile("new_years_good.mp3");
     fft = new FFT(player.bufferSize(), player.sampleRate());
     player.play();
     img= loadImage("cat-in-shades-.jpg");
     frameRate(25);
    }

    void draw() {


     image(img, 0, 0);
     //tint(0, 100, 150);
     stroke(255);

     strokeWeight(4);
     float a = 0;

     float angle = (2*PI) / 200;


     fft.forward(player.mix);


     for(int i=0; i &lt; player.bufferSize() - 1; i++) {

      //player.mix.get(i) is a value between [-1,1]

       float x = 250 + cos(a) * (20 * player.mix.get(i) + 100);
       float x2 = 540 + cos(a) * (20 * player.mix.get(i) + 100);    

       float y = 230 + sin(a) * (20 * player.mix.get(i) + 100);
       float y2 = 240 + sin(a) * (20 * player.mix.get(i) + 100);


       float xFinal = 250 + cos(a+angle) * (20 * player.mix.get(i+1) + 100);
       float x2Final = 540 + cos(a+angle) * (20 * player.mix.get(i+1) + 100);


       float yFinal = 230 + sin(a+angle) * (20 * player.mix.get(i+1) + 100);    
       float y2Final = 240 + sin(a+angle) * (20 * player.mix.get(i+1) + 100);    


       line(x,y,xFinal,yFinal);
       line(x2,y2,x2Final,y2Final);
       a += angle;  



     }
     noStroke();  
     fill(255, 0, 0, 128);
     for(int i = 0; i &lt; 250; i++)
     {
       float b = fft.getBand(i);
       float yAxis = random(-b, b) + 480;
       float xAxis = i*3;
       ellipse(xAxis, yAxis, b, b);
     }
     saveFrame("frame-####.tif");
     if(frameCount>250)
       {
         noLoop();
         stop();
       }

    }

    void stop() {
     player.close();
     minim.stop();

     super.stop();
    }

    What I input into the command line (as one line) on the cmd :

    C:\Users\Robert\Documents\Processing\AudioVisulizer>ffmpeg -i C:\Users\Robert\Do
    cuments\Processing\AudioVisulizer\frame-%04d.tif -r 25 -pix_fmt yuv420p smallVid
    .mp4

    What it outputted :

       ffmpeg version N-77836-g62dfe1d Copyright (c) 2000-2016 the FFmpeg developers
         built with gcc 5.2.0 (GCC)
         configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
       isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
       le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
       enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
       ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
       le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
       able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
       ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
        --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
       e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --
       enable-lzma --enable-decklink --enable-zlib
         libavutil      55. 13.100 / 55. 13.100
         libavcodec     57. 22.100 / 57. 22.100
         libavformat    57. 21.101 / 57. 21.101
         libavdevice    57.  0.100 / 57.  0.100
         libavfilter     6. 23.100 /  6. 23.100
         libswscale      4.  0.100 /  4.  0.100
         libswresample   2.  0.101 /  2.  0.101
         libpostproc    54.  0.100 / 54.  0.100
       Input #0, image2, from 'C:\Users\Robert\Documents\Processing\AudioVisulizer\fram
       e-%04d.tif':
         Duration: 00:00:10.04, start: 0.000000, bitrate: N/A
           Stream #0:0: Video: tiff, rgb24, 728x546, 25 fps, 25 tbr, 25 tbn, 25 tbc
       [libx264 @ 00000092cd5e3700] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
       AVX FMA3 AVX2 LZCNT BMI2
       [libx264 @ 00000092cd5e3700] profile High, level 3.0
       [libx264 @ 00000092cd5e3700] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC cod
       ec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 r
       ef=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_pski
       p=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 deci
       mate=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=2
       5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.6
       0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
       Output #0, mp4, to 'smallVid.mp4':
         Metadata:
           encoder         : Lavf57.21.101
           Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 728x54
       6, q=-1--1, 25 fps, 12800 tbn, 25 tbc
           Metadata:
             encoder         : Lavc57.22.100 libx264
           Side data:
             unknown side data type 10 (24 bytes)
       Stream mapping:
         Stream #0:0 -> #0:0 (tiff (native) -> h264 (libx264))
       Press [q] to stop, [?] for help
       frame=   52 fps=0.0 q=28.0 size=      77kB time=00:00:00.00 bitrate=N/A speed=
       frame=   74 fps= 65 q=28.0 size=     127kB time=00:00:00.88 bitrate=1178.0kbits/
       frame=   93 fps= 57 q=28.0 size=     164kB time=00:00:01.64 bitrate= 820.0kbits/
       frame=  113 fps= 52 q=28.0 size=     201kB time=00:00:02.44 bitrate= 676.3kbits/
       frame=  136 fps= 51 q=28.0 size=     245kB time=00:00:03.36 bitrate= 596.3kbits/
       frame=  157 fps= 49 q=28.0 size=     282kB time=00:00:04.20 bitrate= 550.2kbits/
       frame=  178 fps= 48 q=28.0 size=     324kB time=00:00:05.04 bitrate= 527.2kbits/
       frame=  199 fps= 47 q=28.0 size=     362kB time=00:00:05.88 bitrate= 504.1kbits/
       frame=  219 fps= 46 q=28.0 size=     403kB time=00:00:06.68 bitrate= 494.2kbits/
       frame=  242 fps= 46 q=28.0 size=     452kB time=00:00:07.60 bitrate= 486.8kbits/
       frame=  251 fps= 38 q=-1.0 Lsize=     623kB time=00:00:09.96 bitrate= 512.3kbits
       /s speed=1.52x
       video:619kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
       verhead: 0.607807%
       [libx264 @ 00000092cd5e3700] frame I:2     Avg QP:21.74  size: 56596
       [libx264 @ 00000092cd5e3700] frame P:66    Avg QP:23.36  size:  2523
       [libx264 @ 00000092cd5e3700] frame B:183   Avg QP:31.50  size:  1932
       [libx264 @ 00000092cd5e3700] consecutive B-frames:  0.8%  4.0%  6.0% 89.2%
       [libx264 @ 00000092cd5e3700] mb I  I16..4: 10.9% 72.6% 16.5%
       [libx264 @ 00000092cd5e3700] mb P  I16..4:  0.0%  0.0%  0.2%  P16..4:  4.4%  2.3
       %  3.3%  0.0%  0.0%    skip:89.7%
       [libx264 @ 00000092cd5e3700] mb B  I16..4:  0.0%  0.0%  0.5%  B16..8:  3.2%  2.0
       %  2.3%  direct: 1.3%  skip:90.7%  L0:50.9% L1:42.2% BI: 7.0%
       [libx264 @ 00000092cd5e3700] 8x8 transform intra:50.2% inter:10.1%
       [libx264 @ 00000092cd5e3700] coded y,uvDC,uvAC intra: 83.4% 32.6% 14.2% inter: 3
       .5% 0.2% 0.0%
       [libx264 @ 00000092cd5e3700] i16 v,h,dc,p: 22%  8%  8% 62%
       [libx264 @ 00000092cd5e3700] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 12% 19%  6%  9%
        9%  9%  9%  9%
       [libx264 @ 00000092cd5e3700] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 22%  6%  9%
        8%  8%  5%  6%
       [libx264 @ 00000092cd5e3700] i8c dc,h,v,p: 74% 12% 12%  2%
       [libx264 @ 00000092cd5e3700] Weighted P-Frames: Y:0.0% UV:0.0%
       [libx264 @ 00000092cd5e3700] ref P L0: 41.8%  3.9% 24.3% 30.0%
       [libx264 @ 00000092cd5e3700] ref B L0: 64.5% 25.0% 10.5%
       [libx264 @ 00000092cd5e3700] ref B L1: 82.2% 17.8%
       [libx264 @ 00000092cd5e3700] kb/s:504.56
  • Prevent output in error log when ffmpeg job is initiated via PHP's shell_exec()

    19 janvier 2016, par Jake

    I’m getting the entire output of the ffmpeg command printed to my server’s error.log — but as far as I can tell, the jobs complete successfully with no error.

    Is there any way to suppress the output ? I have seen people append stuff like >/dev/null 2>/dev/null &amp; to their command, however that forces the command to return immediately and the job runs in the background. Unfortunately, I need the job to run in the foreground, because I need to do stuff with the output once the job is done.

    Here’s the command I am running...

    shell_exec('ffmpeg -i input.mp4 -f mp4 -c:v libx264 -preset slow -crf 24 -s 1280x720 -c:a libfdk_aac -profile:a aac_he -ar 22050 -b:a 64k -movflags +faststart output-1280x720.mp4');

    Here’s the output I am seeing...

    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] ffmpeg version N-77432-gc0f67e1 Copyright (c) 2000-2015 the FFmpeg developers
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   built with gcc 4.4.5 (Debian 4.4.5-8)
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   configuration: --prefix=/usr --enable-nonfree --enable-libfreetype --enable-gpl --enable-libx264 --enable-x11grab --enable-zlib --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libfdk-aac --enable-libmp3lame --enable-libopus
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libavutil      55. 11.100 / 55. 11.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libavcodec     57. 19.100 / 57. 19.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libavformat    57. 20.100 / 57. 20.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libavdevice    57.  0.100 / 57.  0.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libavfilter     6. 21.100 /  6. 21.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libswscale      4.  0.100 /  4.  0.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libswresample   2.  0.101 /  2.  0.101
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   libpostproc    54.  0.100 / 54.  0.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test-video.mp4':
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   Metadata:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     major_brand     : mp42
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     minor_version   : 0
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     compatible_brands: mp42mp41
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     creation_time   : 2015-07-14 22:13:20
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   Duration: 00:00:10.51, start: 0.000000, bitrate: 17178 kb/s
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 17170 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     Metadata:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       creation_time   : 2015-07-14 22:13:20
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       handler_name    : Alias Data Handler
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       encoder         : AVC Coding
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (test-video-480p.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Codec AVOption profile () specified for output file #0 (test-video-480p.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] using SAR=1280/1281
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] profile High, level 3.0
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 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 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=24.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Output #0, mp4, to 'test-video-480p.mp4':
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   Metadata:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     major_brand     : mp42
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     minor_version   : 0
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     compatible_brands: mp42mp41
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     encoder         : Lavf57.20.100
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc (default)
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     Metadata:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       creation_time   : 2015-07-14 22:13:20
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       handler_name    : Alias Data Handler
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       encoder         : Lavc57.19.100 libx264
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]     Side data:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]       unknown side data type 10 (24 bytes)
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Stream mapping:
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX]   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    [Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Press [q] to stop, [?] for help
    [Tue Jan 19 17:11:00 2016] [error] [client XXX.XXX.XXX.XXX] frame=   24 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    \r
    [Tue Jan 19 17:11:00 2016] [error] [client XXX.XXX.XXX.XXX] frame=   53 fps= 51 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    \r
    [Tue Jan 19 17:11:02 2016] [error] [client XXX.XXX.XXX.XXX] frame=   62 fps= 25 q=29.0 size=      75kB time=00:00:00.00 bitrate=N/A speed=   0x    \r
    [Tue Jan 19 17:11:02 2016] [error] [client XXX.XXX.XXX.XXX] frame=   68 fps= 20 q=29.0 size=      90kB time=00:00:00.25 bitrate=2946.8kbits/s speed=0.0745x    \r
    [Tue Jan 19 17:11:03 2016] [error] [client XXX.XXX.XXX.XXX] frame=   74 fps= 18 q=29.0 size=     103kB time=00:00:00.50 bitrate=1689.9kbits/s speed=0.12x    \r
    [Tue Jan 19 17:11:04 2016] [error] [client XXX.XXX.XXX.XXX] frame=   80 fps= 16 q=29.0 size=     115kB time=00:00:00.75 bitrate=1258.5kbits/s speed=0.148x    \r
    [Tue Jan 19 17:11:05 2016] [error] [client XXX.XXX.XXX.XXX] frame=   86 fps= 15 q=29.0 size=     128kB time=00:00:01.00 bitrate=1049.4kbits/s speed=0.175x    \r
    [Tue Jan 19 17:11:05 2016] [error] [client XXX.XXX.XXX.XXX] frame=   92 fps= 15 q=29.0 size=     140kB time=00:00:01.25 bitrate= 917.2kbits/s speed=0.201x    \r
    [Tue Jan 19 17:11:06 2016] [error] [client XXX.XXX.XXX.XXX] frame=   94 fps= 14 q=29.0 size=     146kB time=00:00:01.33 bitrate= 895.4kbits/s speed=0.196x    \r
    [Tue Jan 19 17:11:07 2016] [error] [client XXX.XXX.XXX.XXX] frame=  100 fps= 13 q=29.0 size=     158kB time=00:00:01.58 bitrate= 816.6kbits/s speed=0.211x    \r