Recherche avancée

Médias (91)

Autres articles (30)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (5429)

  • alsdec : check block length

    8 décembre 2013, par Reinhard Tartler
    alsdec : check block length
    

    Fix writing over the end

    Found-by : Mateusz "j00ru" Jurczyk and Gynvael Coldwind
    Addresses : CVE-2013-0845

    • [DH] libavcodec/alsdec.c
  • Working on images asynchronously

    15 décembre 2013, par Mikko Koppanen — Imagick, PHP stuff

    To get my quota on buzzwords for the day we are going to look at using ZeroMQ and Imagick to create a simple asynchronous image processing system. Why asynchronous ? First of all, separating the image handling from a interactive PHP scripts allows us to scale the image processing separately from the web heads. For example we could do the image processing on separate servers, which have SSDs attached and more memory. In this example making the images available to all worker nodes is left to the reader.

    Secondly, separating the image processing from a web script can provide more responsive experience to the user. This doesn’t necessarily mean faster, but let’s say in a multiple image upload scenario this method allows the user to do something else on the site while we process the images in the background. This can be beneficial especially in cases where users upload hundreds of images at a time. To achieve a simple distributed image processing infrastructure we are going to use ZeroMQ for communicating between different components and Imagick to work on the images.

    The first part we are going to create is a simple “Worker” -process skeleton. Naturally for a live environment you would like to have more error handling and possibly use pcntl for process control, but for the sake of brewity the example is barebones :

    1. < ?php
    2.  
    3. define (’THUMBNAIL_ADDR’, ’tcp ://127.0.0.1:5000’) ;
    4. define (’COLLECTOR_ADDR’, ’tcp ://127.0.0.1:5001’) ;
    5.  
    6. class Worker {
    7.  
    8.   private $in ;
    9.   private $out ;
    10.  
    11.   public function __construct ($in_addr, $out_addr)
    12.   {
    13.     $context = new ZMQContext () ;
    14.  
    15.     $this->in = new ZMQSocket ($context, ZMQ: :SOCKET_PULL) ;
    16.     $this->in->bind ($in_addr) ;
    17.  
    18.     $this->out = new ZMQSocket ($context, ZMQ: :SOCKET_PUSH) ;
    19.     $this->out->connect ($out_addr) ;
    20.   }
    21.  
    22.   public function work () {
    23.     while ($command = $this->in->recvMulti ()) {
    24.       if (isset ($this->commands [$command [0]])) {
    25.         echo "Received work" . PHP_EOL ;
    26.  
    27.         $callback = $this->commands [$command [0]] ;
    28.  
    29.         array_shift ($command) ;
    30.         $response = call_user_func_array ($callback, $command) ;
    31.  
    32.         if (is_array ($response))
    33.           $this->out->sendMulti ($response) ;
    34.         else
    35.           $this->out->send ($response) ;
    36.       }
    37.       else {
    38.         error_log ("There is no registered worker for $command [0]") ;
    39.       }
    40.     }
    41.   }
    42.  
    43.   public function register ($command, $callback)
    44.   {
    45.     $this->commands [$command] = $callback ;
    46.   }
    47. }
    48.  ?>

    The Worker class allows us to register commands with callbacks associated with them. In our case the Worker class doesn’t actually care or know about the parameters being passed to the actual callback, it just blindly passes them on. We are using two separate sockets in this example, one for incoming work requests and one for passing the results onwards. This allows us to create a simple pipeline by adding more workers in the mix. For example we could first have a watermark worker, which takes the original image and composites a watermark on it, passes the file onwards to thumbnail worker, which then creates different sizes of thumbnails and passes the final results to event collector.

    The next part we are going to create a is a simple worker script that does the actual thumbnailing of the images :

    1. < ?php
    2. include __DIR__ . ’/common.php’ ;
    3.  
    4. // Create worker class and bind the inbound address to ’THUMBNAIL_ADDR’ and connect outbound to ’COLLECTOR_ADDR’
    5. $worker = new Worker (THUMBNAIL_ADDR, COLLECTOR_ADDR) ;
    6.  
    7. // Register our thumbnail callback, nothing special here
    8. $worker->register (’thumbnail’, function ($filename, $width, $height) {
    9.                   $info = pathinfo ($filename) ;
    10.  
    11.                   $out = sprintf ("%s/%s_%dx%d.%s",
    12.                           $info [’dirname’],
    13.                           $info [’filename’],
    14.                           $width,
    15.                           $height,
    16.                           $info [’extension’]) ;
    17.  
    18.                   $status = 1 ;
    19.                   $message = ’’ ;
    20.  
    21.                   try {
    22.                     $im = new Imagick ($filename) ;
    23.                     $im->thumbnailImage ($width, $height) ;
    24.                     $im->writeImage ($out) ;
    25.                   }
    26.                   catch (Exception $e) {
    27.                     $status = 0 ;
    28.                     $message = $e->getMessage () ;
    29.                   }
    30.  
    31.                   return array (
    32.                         ’status’  => $status,
    33.                         ’filename’ => $filename,
    34.                         ’thumbnail’ => $out,
    35.                         ’message’ => $message,
    36.                     ) ;
    37.                 }) ;
    38.  
    39. // Run the worker, will block
    40. echo "Running thumbnail worker.." . PHP_EOL ;
    41. $worker->work () ;

    As you can see from the code the thumbnail worker registers a callback for ‘thumbnail’ command. The callback does the thumbnailing based on input and returns the status, original filename and the thumbnail filename. We have connected our Workers “outbound” socket to event collector, which will receive the results from the thumbnail worker and do something with them. What the “something” is depends on you. For example you could push the response into a websocket to show immediate feeedback to the user or store the results into a database.

    Our example event collector will just do a var_dump on every event it receives from the thumbnailer :

    1. < ?php
    2. include __DIR__ . ’/common.php’ ;
    3.  
    4. $socket = new ZMQSocket (new ZMQContext (), ZMQ: :SOCKET_PULL) ;
    5. $socket->bind (COLLECTOR_ADDR) ;
    6.  
    7. echo "Waiting for events.." . PHP_EOL ;
    8. while (($message = $socket->recvMulti ())) {
    9.   var_dump ($message) ;
    10. }
    11.  ?>

    The final piece of the puzzle is the client that pumps messages into the pipeline. The client connects to the thumbnail worker, passes on filename and desired dimensions :

    1. < ?php
    2. include __DIR__ . ’/common.php’ ;
    3.  
    4. $socket = new ZMQSocket (new ZMQContext (), ZMQ: :SOCKET_PUSH) ;
    5. $socket->connect (THUMBNAIL_ADDR) ;
    6.  
    7. $socket->sendMulti (
    8.       array (
    9.         ’thumbnail’,
    10.         realpath (’./test.jpg’),
    11.         50,
    12.         50,
    13.       )
    14. ) ;
    15. echo "Sent request" . PHP_EOL ;
    16.  ?>

    After this our processing pipeline will look like this :

    simple-pipeline

    Now, if we notice that thumbnail workers or the event collectors can’t keep up with the rate of images we are pushing through we can start scaling the pipeline by adding more processes on each layer. ZeroMQ PUSH socket will automatically round-robin between all connected nodes, which makes adding more workers and event collectors simple. After adding more workers our pipeline will look like this :

    scaling-pipeline

    Using ZeroMQ also allows us to create more flexible architectures by adding forwarding devices in the middle, adding request-reply workers etc. So, the last thing to do is to run our pipeline and see the results :

    Let’s create our test image first :

    $ convert magick:rose test.jpg
    

    From the command-line run the thumbnail script :

    $ php thumbnail.php 
    Running thumbnail worker..
    

    In a separate terminal window run the event collector :

    $ php collector.php 
    Waiting for events..
    

    And finally run the client to send the thumbnail request :

    $ php client.php 
    Sent request
    $
    

    If everything went according to the plan you should now see the following output in the event collector window :

    array(4) 
      [0]=>
      string(1) "1"
      [1]=>
      string(56) "/test.jpg"
      [2]=>
      string(62) "/test_50x50.jpg"
      [3]=>
      string(0) ""
    
    

    Happy hacking !

  • No sounds on Apple devices after encoding videos [migrated]

    15 décembre 2013, par Ricardo

    I'm having a problem setting up a media server.
    Everything works just great except the sound of Apple devices, I'm not sure if that's something with "mute" on iOS or our codecs are just not compatible with iOS.

    OS :

    Ubuntu 12.04

    FFMPEG Config :

    ffmpeg version 0.10.8-7:0.10.8-1~lucid1 Copyright 2000-2013 the FFmpeg developers
     built on Sep  5 2013 19:50:14 with gcc 4.4.3
     configuration: --arch=amd64 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version=&#39;7:0.10.8-1~lucid1&#39; --libdir=/usr/lib --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib --enable-shared --disable-static
     avcodec     configuration: --arch=amd64 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version=&#39;7:0.10.8-1~lucid1&#39; --libdir=/usr/lib --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib --enable-shared --disable-static --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb
     libavutil      51. 35.100 / 51. 35.100
     libavcodec     53. 61.100 / 53. 61.100
     libavformat    53. 32.100 / 53. 32.100
     libavdevice    53.  4.100 / 53.  4.100
     libavfilter     2. 61.100 /  2. 61.100
     libswscale      2.  1.100 /  2.  1.100
     libswresample   0.  6.100 /  0.  6.100
     libpostproc    52.  0.100 / 52.  0.100
    Hyper fast Audio and Video encoder

    Codecs :

    D..... = Decoding supported
    .E.... = Encoding supported
    ..V... = Video codec
    ..A... = Audio codec
    ..S... = Subtitle codec
    ...S.. = Supports draw_horiz_band
    ....D. = Supports direct rendering method 1
    .....T = Supports weird frame truncation
    ------
    D V D  4xm             4X Movie
    D V D  8bps            QuickTime 8BPS video
    D A D  8svx_exp        8SVX exponential
    D A D  8svx_fib        8SVX fibonacci
     EV    a64multi        Multicolor charset for Commodore 64
     EV    a64multi5       Multicolor charset for Commodore 64, extended with 5th color (colram)
    DEA D  aac             Advanced Audio Coding
    D A D  aac_latm        AAC LATM (Advanced Audio Codec LATM syntax)
    D V D  aasc            Autodesk RLE
    DEA D  ac3             ATSC A/52A (AC-3)
     EA    ac3_fixed       ATSC A/52A (AC-3)
    D A D  adpcm_4xm       ADPCM 4X Movie
    DEA D  adpcm_adx       SEGA CRI ADX ADPCM
    D A D  adpcm_ct        ADPCM Creative Technology
    D A D  adpcm_ea        ADPCM Electronic Arts
    D A D  adpcm_ea_maxis_xa ADPCM Electronic Arts Maxis CDROM XA
    D A D  adpcm_ea_r1     ADPCM Electronic Arts R1
    D A D  adpcm_ea_r2     ADPCM Electronic Arts R2
    D A D  adpcm_ea_r3     ADPCM Electronic Arts R3
    D A D  adpcm_ea_xas    ADPCM Electronic Arts XAS
    D A D  adpcm_ima_amv   ADPCM IMA AMV
    D A D  adpcm_ima_apc   ADPCM IMA CRYO APC
    D A D  adpcm_ima_dk3   ADPCM IMA Duck DK3
    D A D  adpcm_ima_dk4   ADPCM IMA Duck DK4
    D A D  adpcm_ima_ea_eacs ADPCM IMA Electronic Arts EACS
    D A D  adpcm_ima_ea_sead ADPCM IMA Electronic Arts SEAD
    D A D  adpcm_ima_iss   ADPCM IMA Funcom ISS
    DEA D  adpcm_ima_qt    ADPCM IMA QuickTime
    D A D  adpcm_ima_smjpeg ADPCM IMA Loki SDL MJPEG
    DEA D  adpcm_ima_wav   ADPCM IMA WAV
    D A D  adpcm_ima_ws    ADPCM IMA Westwood
    DEA D  adpcm_ms        ADPCM Microsoft
    D A D  adpcm_sbpro_2   ADPCM Sound Blaster Pro 2-bit
    D A D  adpcm_sbpro_3   ADPCM Sound Blaster Pro 2.6-bit
    D A D  adpcm_sbpro_4   ADPCM Sound Blaster Pro 4-bit
    DEA D  adpcm_swf       ADPCM Shockwave Flash
    D A D  adpcm_thp       ADPCM Nintendo Gamecube THP
    D A D  adpcm_xa        ADPCM CDROM XA
    DEA D  adpcm_yamaha    ADPCM Yamaha
    DEA D  alac            ALAC (Apple Lossless Audio Codec)
    D A D  als             MPEG-4 Audio Lossless Coding (ALS)
    D A D  amrnb           Adaptive Multi-Rate NarrowBand
    D A D  amrwb           Adaptive Multi-Rate WideBand
    DEV    amv             AMV Video
    D V D  anm             Deluxe Paint Animation
    D V D  ansi            ASCII/ANSI art
    D A D  ape             Monkey&#39;s Audio
    DES    ass             Advanced SubStation Alpha subtitle
    DEV D  asv1            ASUS V1
    DEV D  asv2            ASUS V2
    D A D  atrac1          Atrac 1 (Adaptive TRansform Acoustic Coding)
    D A D  atrac3          Atrac 3 (Adaptive TRansform Acoustic Coding 3)
    D V D  aura            Auravision AURA
    D V D  aura2           Auravision Aura 2
    DEV D  avrp            Avid 1:1 10-bit RGB Packer
    D V D  avs             AVS (Audio Video Standard) video
    D V D  bethsoftvid     Bethesda VID video
    D V D  bfi             Brute Force &amp; Ignorance
    D A D  binkaudio_dct   Bink Audio (DCT)
    D A D  binkaudio_rdft  Bink Audio (RDFT)
    D V    binkvideo       Bink video
    D V D  bintext         Binary text
    DEV D  bmp             BMP image
    D A D  bmv_audio       Discworld II BMV audio
    D V    bmv_video       Discworld II BMV video
    D V D  c93             Interplay C93
    D V D  camstudio       CamStudio
    D V D  camtasia        TechSmith Screen Capture Codec
    D V D  cavs            Chinese AVS video (AVS1-P2, JiZhun profile)
    D V D  cdgraphics      CD Graphics video
    D V D  cinepak         Cinepak
    DEV D  cljr            Cirrus Logic AccuPak
    D A D  cook            COOK
    D V D  cyuv            Creative YUV (CYUV)
    DEA D  dca             DCA (DTS Coherent Acoustics)
    D V D  dfa             Chronomaster DFA
    D V    dirac           BBC Dirac VC-2
    DEV D  dnxhd           VC3/DNxHD
    DEV    dpx             DPX image
    D A D  dsicinaudio     Delphine Software International CIN audio
    D V D  dsicinvideo     Delphine Software International CIN video
    DES    dvbsub          DVB subtitles
    DES    dvdsub          DVD subtitles
    DEV D  dvvideo         DV (Digital Video)
    D V D  dxa             Feeble Files/ScummVM DXA
    D V D  dxtory          Dxtory
    DEA D  eac3            ATSC A/52 E-AC-3
    D V D  eacmv           Electronic Arts CMV video
    D V D  eamad           Electronic Arts Madcow Video
    D V D  eatgq           Electronic Arts TGQ video
    D V    eatgv           Electronic Arts TGV video
    D V D  eatqi           Electronic Arts TQI Video
    D V D  escape124       Escape 124
    D V D  escape130       Escape 130
    DEV D  ffv1            FFmpeg video codec #1
    DEVSD  ffvhuff         Huffyuv FFmpeg variant
    DEA D  flac            FLAC (Free Lossless Audio Codec)
    DEV D  flashsv         Flash Screen Video
    DEV D  flashsv2        Flash Screen Video Version 2
    D V D  flic            Autodesk Animator Flic video
    DEVSD  flv             Flash Video (FLV) / Sorenson Spark / Sorenson H.263
    D V D  fraps           Fraps
    D V D  frwu            Forward Uncompressed
    DEA D  g722            G.722 ADPCM
    DEA    g723_1          G.723.1
    DEA D  g726            G.726 ADPCM
    D A D  g729            G.729
    DEV D  gif             GIF (Graphics Interchange Format)
    D A D  gsm             GSM
    D A D  gsm_ms          GSM Microsoft variant
    DEV D  h261            H.261
    DEVSDT h263            H.263 / H.263-1996
    D VSD  h263i           Intel H.263
     EV    h263p           H.263+ / H.263-1998 / H.263 version 2
    D V D  h264            H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    D V D  h264_vdpau      H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
    DEVSD  huffyuv         Huffyuv / HuffYUV
    D V D  idcinvideo      id Quake II CIN video
    D V D  idf             iCEDraw text
    D V D  iff_byterun1    IFF ByteRun1
    D V D  iff_ilbm        IFF ILBM
    D A D  imc             IMC (Intel Music Coder)
    D V D  indeo2          Intel Indeo 2
    D V    indeo3          Intel Indeo 3
    D V    indeo4          Intel Indeo Video Interactive 4
    D V    indeo5          Intel Indeo Video Interactive 5
    D A D  interplay_dpcm  DPCM Interplay
    D V D  interplayvideo  Interplay MVE video
    DEV    j2k             JPEG 2000
    DEV D  jpegls          JPEG-LS
    D V D  jv              Bitmap Brothers JV video
    D V    kgv1            Kega Game Video
    D V D  kmvc            Karl Morton&#39;s video codec
    D V D  lagarith        Lagarith lossless
    DEA D  libgsm          libgsm GSM
    DEA D  libgsm_ms       libgsm GSM Microsoft variant
     EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)
    DEA D  libopencore_amrnb OpenCORE Adaptive Multi-Rate (AMR) Narrow-Band
    D A D  libopencore_amrwb OpenCORE Adaptive Multi-Rate (AMR) Wide-Band
    DEV D  libopenjpeg     OpenJPEG based JPEG 2000 encoder
    DEV    libschroedinger libschroedinger Dirac 2.2
    DEA D  libspeex        libspeex Speex
     EV    libtheora       libtheora Theora
     EA    libvorbis       libvorbis Vorbis
    DEV    libvpx          libvpx VP8
     EV    libx264         libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
     EV    libx264rgb      libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB
     EV    ljpeg           Lossless JPEG
    D V D  loco            LOCO
    D A D  mace3           MACE (Macintosh Audio Compression/Expansion) 3:1
    D A D  mace6           MACE (Macintosh Audio Compression/Expansion) 6:1
    D V D  mdec            Sony PlayStation MDEC (Motion DECoder)
    D V D  mimic           Mimic
    DEV D  mjpeg           MJPEG (Motion JPEG)
    D V D  mjpegb          Apple MJPEG-B
    D A D  mlp             MLP (Meridian Lossless Packing)
    D V D  mmvideo         American Laser Games MM Video
    D V D  motionpixels    Motion Pixels video
    D A D  mp1             MP1 (MPEG audio layer 1)
    D A D  mp1float        MP1 (MPEG audio layer 1)
    DEA D  mp2             MP2 (MPEG audio layer 2)
    D A D  mp2float        MP2 (MPEG audio layer 2)
    D A D  mp3             MP3 (MPEG audio layer 3)
    D A D  mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
    D A D  mp3adufloat     ADU (Application Data Unit) MP3 (MPEG audio layer 3)
    D A D  mp3float        MP3 (MPEG audio layer 3)
    D A D  mp3on4          MP3onMP4
    D A D  mp3on4float     MP3onMP4
    D A D  mpc7            Musepack SV7
    D A D  mpc8            Musepack SV8
    DEVSDT mpeg1video      MPEG-1 video
    D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)
    DEVSDT mpeg2video      MPEG-2 video
    DEVSDT mpeg4           MPEG-4 part 2
    D V DT mpeg4_vdpau     MPEG-4 part 2 (VDPAU)
    D VSDT mpegvideo       MPEG-1 video
    D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)
    D VSDT mpegvideo_xvmc  MPEG-1/2 video XvMC (X-Video Motion Compensation)
    DEVSD  msmpeg4         MPEG-4 part 2 Microsoft variant version 3
    D VSD  msmpeg4v1       MPEG-4 part 2 Microsoft variant version 1
    DEVSD  msmpeg4v2       MPEG-4 part 2 Microsoft variant version 2
    D V D  msrle           Microsoft RLE
    DEV D  msvideo1        Microsoft Video-1
    D V D  mszh            LCL (LossLess Codec Library) MSZH
    D V D  mxpeg           Mobotix MxPEG video
    DEA D  nellymoser      Nellymoser Asao
    D V D  nuv             NuppelVideo/RTJPEG
    DEV D  pam             PAM (Portable AnyMap) image
    DEV D  pbm             PBM (Portable BitMap) image
    DEA D  pcm_alaw        PCM A-law
    D A D  pcm_bluray      PCM signed 16|20|24-bit big-endian for Blu-ray media
    D A D  pcm_dvd         PCM signed 20|24-bit big-endian
    DEA D  pcm_f32be       PCM 32-bit floating point big-endian
    DEA D  pcm_f32le       PCM 32-bit floating point little-endian
    DEA D  pcm_f64be       PCM 64-bit floating point big-endian
    DEA D  pcm_f64le       PCM 64-bit floating point little-endian
    D A D  pcm_lxf         PCM signed 20-bit little-endian planar
    DEA D  pcm_mulaw       PCM mu-law
    DEA D  pcm_s16be       PCM signed 16-bit big-endian
    DEA D  pcm_s16le       PCM signed 16-bit little-endian
    D A D  pcm_s16le_planar PCM 16-bit little-endian planar
    DEA D  pcm_s24be       PCM signed 24-bit big-endian
    DEA D  pcm_s24daud     PCM D-Cinema audio signed 24-bit
    DEA D  pcm_s24le       PCM signed 24-bit little-endian
    DEA D  pcm_s32be       PCM signed 32-bit big-endian
    DEA D  pcm_s32le       PCM signed 32-bit little-endian
    DEA D  pcm_s8          PCM signed 8-bit
    D A D  pcm_s8_planar   PCM signed 8-bit planar
    DEA D  pcm_u16be       PCM unsigned 16-bit big-endian
    DEA D  pcm_u16le       PCM unsigned 16-bit little-endian
    DEA D  pcm_u24be       PCM unsigned 24-bit big-endian
    DEA D  pcm_u24le       PCM unsigned 24-bit little-endian
    DEA D  pcm_u32be       PCM unsigned 32-bit big-endian
    DEA D  pcm_u32le       PCM unsigned 32-bit little-endian
    DEA D  pcm_u8          PCM unsigned 8-bit
    D A D  pcm_zork        PCM Zork
    DEV D  pcx             PC Paintbrush PCX image
    DEV D  pgm             PGM (Portable GrayMap) image
    DEV D  pgmyuv          PGMYUV (Portable GrayMap YUV) image
    D S    pgssub          HDMV Presentation Graphic Stream subtitles
    D V D  pictor          Pictor/PC Paint
    DEV D  png             PNG image
    DEV D  ppm             PPM (Portable PixelMap) image
    DEV D  prores          Apple ProRes
    D V D  prores_lgpl     Apple ProRes (iCodec Pro)
    D V D  ptx             V.Flash PTX image
    D A D  qcelp           QCELP / PureVoice
    D A D  qdm2            QDesign Music Codec 2
    D V D  qdraw           Apple QuickDraw
    D V D  qpeg            Q-team QPEG
    DEV D  qtrle           QuickTime Animation (RLE) video
    DEV D  r10k            AJA Kona 10-bit RGB Codec
    DEV D  r210            Uncompressed RGB 10-bit
    DEV    rawvideo        raw video
    DEA D  real_144        RealAudio 1.0 (14.4K) encoder
    D A D  real_288        RealAudio 2.0 (28.8K)
    D V D  rl2             RL2 video
    DEA D  roq_dpcm        id RoQ DPCM
    DEV D  roqvideo        id RoQ video
    D V D  rpza            QuickTime video (RPZA)
    DEV D  rv10            RealVideo 1.0
    DEV D  rv20            RealVideo 2.0
    D V D  rv30            RealVideo 3.0
    D V D  rv40            RealVideo 4.0
    D A D  s302m           SMPTE 302M
    DEV    sgi             SGI image
    D A D  shorten         Shorten
    D A D  sipr            RealAudio SIPR / ACELP.NET
    D A D  smackaud        Smacker audio
    D V D  smackvid        Smacker video
    D V D  smc             QuickTime Graphics (SMC)
    DEV D  snow            Snow
    D A D  sol_dpcm        DPCM Sol
    DEA D  sonic           Sonic
     EA    sonicls         Sonic lossless
    D V D  sp5x            Sunplus JPEG (SP5X)
    DES    srt             SubRip subtitle
    D V D  sunrast         Sun Rasterfile image
    DEV D  svq1            Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
    D VSD  svq3            Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
    DEV D  targa           Truevision Targa image
    D VSD  theora          Theora
    D V D  thp             Nintendo Gamecube THP video
    D V D  tiertexseqvideo Tiertex Limited SEQ video
    DEV D  tiff            TIFF image
    D V D  tmv             8088flex TMV
    D A D  truehd          TrueHD
    D V D  truemotion1     Duck TrueMotion 1.0
    D V D  truemotion2     Duck TrueMotion 2.0
    D A D  truespeech      DSP Group TrueSpeech
    D A D  tta             True Audio (TTA)
    D A D  twinvq          VQF TwinVQ
    D V D  txd             Renderware TXD (TeXture Dictionary) image
    D V D  ultimotion      IBM UltiMotion
    D V D  utvideo         Ut Video
    DEV D  v210            Uncompressed 4:2:2 10-bit
    D V D  v210x           Uncompressed 4:2:2 10-bit
    DEV D  v308            Uncompressed packed 4:4:4
    DEV D  v410            Uncompressed 4:4:4 10-bit
    D V    vb              Beam Software VB
    D V D  vble            VBLE Lossless Codec
    D V D  vc1             SMPTE VC-1
    D V D  vc1_vdpau       SMPTE VC-1 VDPAU
    D V D  vc1image        Windows Media Video 9 Image v2
    D V D  vcr1            ATI VCR1
    D A D  vmdaudio        Sierra VMD audio
    D V D  vmdvideo        Sierra VMD video
    D V D  vmnc            VMware Screen Codec / VMware Video
    DEA D  vorbis          Vorbis
    D VSD  vp3             On2 VP3
    D V D  vp5             On2 VP5
    D V D  vp6             On2 VP6
    D V D  vp6a            On2 VP6 (Flash version, with alpha channel)
    D V D  vp6f            On2 VP6 (Flash version)
    D V D  vp8             On2 VP8
    D V D  vqavideo        Westwood Studios VQA (Vector Quantized Animation) video
    D A D  wavesynth       Wave synthesis pseudo-codec
    D A D  wavpack         WavPack
    D A    wmalossless     Windows Media Audio 9 Lossless
    D A D  wmapro          Windows Media Audio 9 Professional
    DEA D  wmav1           Windows Media Audio 1
    DEA D  wmav2           Windows Media Audio 2
    D A D  wmavoice        Windows Media Audio Voice
    DEVSD  wmv1            Windows Media Video 7
    DEVSD  wmv2            Windows Media Video 8
    D V D  wmv3            Windows Media Video 9
    D V D  wmv3_vdpau      Windows Media Video 9 VDPAU
    D V D  wmv3image       Windows Media Video 9 Image
    D V D  wnv1            Winnov WNV1
    D A D  ws_snd1         Westwood Audio (SND1)
    D A D  xan_dpcm        DPCM Xan
    D V D  xan_wc3         Wing Commander III / Xan
    D V D  xan_wc4         Wing Commander IV / Xxan
    D V D  xbin            eXtended BINary text
    D V D  xl              Miro VideoXL
    DES    xsub            DivX subtitles (XSUB)
    DEV D  xwd             XWD (X Window Dump) image
    DEV D  y41p            Uncompressed YUV 4:1:1 12-bit
    D V    yop             Psygnosis YOP Video
    DEV D  yuv4            Uncompressed packed 4:2:0
    DEV D  zlib            LCL (LossLess Codec Library) ZLIB
    DEV D  zmbv            Zip Motion Blocks Video

    Library we use to convert :

    public function getAvailableAudioCodecs()
       {
           return array(&#39;libvo_aacenc&#39;, &#39;libfaac&#39;, &#39;libmp3lame&#39;);
       }

    By default I use 'libmp3lame' now because 'libfaac' is not supported by ffmpeg
    and when Im trying to encode sound by libfaac I'm getting that codec not found

    Thanks in advance !