Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (50)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (8401)

  • How to install ffmpeg

    8 octobre 2017, par user5913892

    I want to make a "mini" editor video. My goal is, cut some part of the video and then save it and also create an undo button. Now , I was looking for the best solution (This operation have to be done in a website) and I found that I have to use ffmpeg. I didn’t know if ffmpeg was already installed on my server and I use this php script to discover it :

    <?php

    /**
    * Test script for FFmpeg
    *
    * @author Andycoder /wdevblog.net.ru/>
    */

    ini_set('display_errors',1);
    error_reporting(E_ALL);

    $is_windows = strpos( php_uname(), "Windows" ) !== false;
    $ffmpeg_path = !empty( $_POST['ffmpeg_path'] ) && strpos( $_POST['ffmpeg_path'], 'ffmpeg' ) !== false ? trim( $_POST['ffmpeg_path'] ) : '';
    if( !$ffmpeg_path && !$is_windows ){
       $ffmpeg_path = trim( shell_exec( 'which ffmpeg' ) );
    }

    function getCodecs( $ffmpeg_path = '' ) {

       $lines = array();
       $encoders = array();
       exec( "{$ffmpeg_path} -codecs", $lines);

       foreach ($lines as $line) {

           if (preg_match('/^\s+([A-Z .]+)\s+(\w{2,})\s+(.*)$/', $line, $m)) {
               $type = trim($m[1]);
               if (strpos($type, 'E') !== false) {
                   $encoder = trim($m[2]);
                   if (strpos($encoder, ',') !== false) {
                       foreach (split(',', $encoder) as $e) {
                           $encoders[] = $e;
                       }
                   } else {
                       $encoders[] = $encoder;
                   }
               }
           }
       }
       sort($encoders);

       return $encoders;
    }

    function getPHPPath(){

       $is_windows = strpos( strtolower(php_uname()), 'windows' ) !== false;

       if( $is_windows ){
           $output = dirname(ini_get('extension_dir')) . "/php.exe";
       }else{
           $output = trim(shell_exec("which php"));
       }

       return $output;
    }

    $info = array();

    $info['php_version'] = array( 'name' => 'PHP version', 'value' => phpversion() );
    $info['php_path'] = array( 'name' => 'PHP path', 'value' =>  getPHPPath() );
    $info['web_server'] = array( 'name' => 'Web server', 'value' => $_SERVER['SERVER_SOFTWARE'] );
    $info['ffmpeg_path'] = array( 'name' => 'FFMPEG path', 'value' =>  $ffmpeg_path );

    $info['ffmpeg_version'] = array( 'name' => 'FFMPEG version', 'value' => '' );
    if( $ffmpeg_path ){
       $ffmpeg_ver = shell_exec( "{$ffmpeg_path} -version" );
       preg_match( '/.+version.+/', $ffmpeg_ver, $matches );
       if( !empty( $matches ) ){
           $info['ffmpeg_version']['value'] = $matches[0];
       }
    }
    $info['yamdi_path'] = array( 'name' => 'Yamdi path', 'value' => !$is_windows ? trim(shell_exec('which yamdi')) : '' );
    $info['mp4box_path'] = array( 'name' => 'MP4Box (GPAC) path', 'value' => !$is_windows ? trim(shell_exec('which MP4Box')) : '' );
    $info['qtfaststart_path'] = array( 'name' => 'qt-faststart path', 'value' => !$is_windows ? trim(shell_exec('which qt-faststart')) : '' );
    $info['flvtool2_path'] = array( 'name' => 'flvtool2 path', 'value' => !$is_windows ? trim(shell_exec('which flvtool2')) : '' );

    $info['ffmpeg_codecs'] = array( 'name' => 'FFMPEG codecs', 'value' => array() );
    if( $ffmpeg_path ) {
       $info['ffmpeg_codecs']['value'] = getCodecs( $ffmpeg_path );
    }

    if( empty( $info['ffmpeg_codecs']['value'] ) ){
       $info['ffmpeg_path']['value'] = '';
    }

    ksort($info);

    ?>



       



    <code class="echappe-js">&lt;script type=&quot;text/javascript&quot;&gt;<br />
       function expandCollapse( id ){<br />
           if( document.getElementById(id).style.display == 'none' ){<br />
               document.getElementById(id).style.display = 'block';<br />
           }else{<br />
               document.getElementById(id).style.display = 'none';<br />
           }<br />
       }<br />
    &lt;/script&gt;


    < ?php foreach( $info as $key => $opt ) : ?>

    < ?php endforeach ; ?>

    Property Value
    < ?php echo $opt[’name’] ; ?> :

    < ?php if( !empty( $opt[’value’] ) ) : ?>

    < ?php
    if( !is_array( $opt[’value’] ) ) :
    echo $opt[’value’] ;
    else : ?>

    [Expand/Collapse]

    < ?php foreach( $opt[’value’] as $val ) : ?>

    < ?php echo $val ; ?>

    < ?php endforeach ; ?>

    < ?php endif ; ?>

    < ?php else : ?>
    [Not found]
    < ?php endif ; ?>

    that return me this :

    enter image description here

    So, I have not ffmpeg installed on that server. The server should be Linux, I say this because I use one of the many website in Internet to discover it.
    enter image description here

    I know that the website say that the Webserver is Engine-x, but my company has told that is Apache (as the php script already told me). Now , I found this link http://www.mysql-apache-php.com/ffmpeg-install.htm (in Stackoverflow and many other parts) that say how to install ffmpeg in Linux, but Where should I execute these commands ? Should I use Putty ? or What ?

  • How to install ffmpeg

    9 mars 2016, par user5913892

    I want to make a "mini" editor video. My goal is, cut some part of the video and then save it and also create an undo button. Now , I was looking for the best solution (This operation have to be done in a website) and I found that I have to use ffmpeg. I didn’t know if ffmpeg was already installed on my server and I use this php script to discover it :

    &lt;?php

    /**
    * Test script for FFmpeg
    *
    * @author Andycoder /wdevblog.net.ru/>
    */

    ini_set('display_errors',1);
    error_reporting(E_ALL);

    $is_windows = strpos( php_uname(), "Windows" ) !== false;
    $ffmpeg_path = !empty( $_POST['ffmpeg_path'] ) &amp;&amp; strpos( $_POST['ffmpeg_path'], 'ffmpeg' ) !== false ? trim( $_POST['ffmpeg_path'] ) : '';
    if( !$ffmpeg_path &amp;&amp; !$is_windows ){
       $ffmpeg_path = trim( shell_exec( 'which ffmpeg' ) );
    }

    function getCodecs( $ffmpeg_path = '' ) {

       $lines = array();
       $encoders = array();
       exec( "{$ffmpeg_path} -codecs", $lines);

       foreach ($lines as $line) {

           if (preg_match('/^\s+([A-Z .]+)\s+(\w{2,})\s+(.*)$/', $line, $m)) {
               $type = trim($m[1]);
               if (strpos($type, 'E') !== false) {
                   $encoder = trim($m[2]);
                   if (strpos($encoder, ',') !== false) {
                       foreach (split(',', $encoder) as $e) {
                           $encoders[] = $e;
                       }
                   } else {
                       $encoders[] = $encoder;
                   }
               }
           }
       }
       sort($encoders);

       return $encoders;
    }

    function getPHPPath(){

       $is_windows = strpos( strtolower(php_uname()), 'windows' ) !== false;

       if( $is_windows ){
           $output = dirname(ini_get('extension_dir')) . "/php.exe";
       }else{
           $output = trim(shell_exec("which php"));
       }

       return $output;
    }

    $info = array();

    $info['php_version'] = array( 'name' => 'PHP version', 'value' => phpversion() );
    $info['php_path'] = array( 'name' => 'PHP path', 'value' =>  getPHPPath() );
    $info['web_server'] = array( 'name' => 'Web server', 'value' => $_SERVER['SERVER_SOFTWARE'] );
    $info['ffmpeg_path'] = array( 'name' => 'FFMPEG path', 'value' =>  $ffmpeg_path );

    $info['ffmpeg_version'] = array( 'name' => 'FFMPEG version', 'value' => '' );
    if( $ffmpeg_path ){
       $ffmpeg_ver = shell_exec( "{$ffmpeg_path} -version" );
       preg_match( '/.+version.+/', $ffmpeg_ver, $matches );
       if( !empty( $matches ) ){
           $info['ffmpeg_version']['value'] = $matches[0];
       }
    }
    $info['yamdi_path'] = array( 'name' => 'Yamdi path', 'value' => !$is_windows ? trim(shell_exec('which yamdi')) : '' );
    $info['mp4box_path'] = array( 'name' => 'MP4Box (GPAC) path', 'value' => !$is_windows ? trim(shell_exec('which MP4Box')) : '' );
    $info['qtfaststart_path'] = array( 'name' => 'qt-faststart path', 'value' => !$is_windows ? trim(shell_exec('which qt-faststart')) : '' );
    $info['flvtool2_path'] = array( 'name' => 'flvtool2 path', 'value' => !$is_windows ? trim(shell_exec('which flvtool2')) : '' );

    $info['ffmpeg_codecs'] = array( 'name' => 'FFMPEG codecs', 'value' => array() );
    if( $ffmpeg_path ) {
       $info['ffmpeg_codecs']['value'] = getCodecs( $ffmpeg_path );
    }

    if( empty( $info['ffmpeg_codecs']['value'] ) ){
       $info['ffmpeg_path']['value'] = '';
    }

    ksort($info);

    ?>



       



    <code class="echappe-js">&lt;script type=&quot;text/javascript&quot;&gt;<br />
       function expandCollapse( id ){<br />
           if( document.getElementById(id).style.display == 'none' ){<br />
               document.getElementById(id).style.display = 'block';<br />
           }else{<br />
               document.getElementById(id).style.display = 'none';<br />
           }<br />
       }<br />
    &lt;/script&gt;


    < ?php foreach( $info as $key => $opt ) : ?>

    < ?php endforeach ; ?>

    Property Value
    < ?php echo $opt[’name’] ; ?> :

    < ?php if( !empty( $opt[’value’] ) ) : ?>

    < ?php
    if( !is_array( $opt[’value’] ) ) :
    echo $opt[’value’] ;
    else : ?>

    [Expand/Collapse]

    < ?php foreach( $opt[’value’] as $val ) : ?>

    < ?php echo $val ; ?>

    < ?php endforeach ; ?>

    < ?php endif ; ?>

    < ?php else : ?>
    [Not found]
    < ?php endif ; ?>

    that return me this :

    enter image description here

    So, I have not ffmpeg installed on that server. The server should be Linux, I say this because I use one of the many website in Internet to discover it.
    enter image description here

    I know that the website say that the Webserver is Engine-x, but my company has told that is Apache (as the php script already told me). Now , I found this link http://www.mysql-apache-php.com/ffmpeg-install.htm (in Stackoverflow and many other parts) that say how to install ffmpeg in Linux, but Where should I execute these commands ? Should I use Putty ? or What ?

  • Audio object type 3 is not supported

    3 octobre 2013, par Ardoramor

    I am running into an issue with a custom-built ffmpeg. Basically, its a vanilla ffmpeg with x264 and fdk-aac libs enabled. I am feeding an SDP file through ffmpeg API and get the following error while passing the info to avcodec_open2 :

    Audio object type 3 is not supported

    My SDP file :

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=Unnamed
    i=N/A
    c=IN IP4 192.168.1.1
    t=0 0
    a=recvonly
    m=audio 8204 RTP/AVP 96
    a=rtpmap:96 mpeg4-generic/32000
    a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1a88; SizeLength=13; IndexLength=3; IndexDeltaLength=3;
    a=control:trackID=0
    m=video 8202 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=428028;sprop-parameter-sets=Z0KAKJWgKA9E,aM48gA==;
    a=control:trackID=1
    m=application 8206 RTP/AVP 96
    a=rtpmap:96 smpte336m/10
    a=control:trackID=2

    The following is the output I get from ffmpeg as I open the input, dump its format, and try to open input streams :

    Format sdp probed with size=2048 and score=50
    audio codec set to : aac
    audio samplerate set to : 32000
    audio channels set to : 1
    video codec set to : h264
    RTP Packetization Mode : 1
    RTP Profile IDC : 42 Profile IOP : 80 Level : 28
    Extradata set to 0xc8d3dc0 (size : 21) !
    File position before avformat_find_stream_info() is 522
    Audio object type 3 is not supported.
    Could not find codec parameters for stream 1 (Video : h264) : unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    File position after avformat_find_stream_info() is 522
    Dumping input AV format
    Input #0, sdp, from 'conf/test.sdp' :

    Metadata :
    title :Unnamed
    comment :N/A

    Duration:N/A, bitrate:N/A

    Stream #0:0, 0, 1/32000: Audio: aac, 32000 Hz, 1 channels, fltp  

    Stream #0:1, 0, 1/90000: Video: h264, 90k tbr, 90k tbn, 180k tbc  

    Stream #0:2, 0, 1/90000: Data: none, 0/1  

    Audio object type 3 is not supported.

    I also see the error reported for not finding codec parameters for stream 1 :

    Could not find codec parameters for stream 1 (Video : h264) : unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options

    However, I think that is due to me not running an actual rtp at the moment of the test.

    In any case, what may be the reason for getting audio object type 3 not supported exception ?

    UPDATE - Oct 02, 2013

    Static ffmpeg build gives the following flags :

    Static ffmpeg 2.0.1 build flag output :

    ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
     built on Sep 30 2013 22:24:00 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-54)
     configuration: --enable-gpl --enable-nonfree --enable-shared
     configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags=&#39;-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC&#39; --disable-stripping

    My build is from ffmpeg 2.0.1 snapshot with the following flags :

    --enable-static --disable-shared --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libmp3lame --enable-libx264 --disable-symver --disable-doc --disable-ffplay --enable-ffmpeg --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-filters --disable-devices --disable-everything --enable-avformat --enable-avcodec --enable-muxers --enable-protocols --enable-parsers --enable-demuxers --enable-decoders --enable-encoders --enable-bsfs --enable-network --enable-swscale  --disable-demuxer=sbg --disable-demuxer=dts --disable-parser=dca --disable-decoder=dca --enable-asm --enable-pthreads --enable-version3

    The fdk-aac library version I'm using :

    fdk-aac - 0.1.2

    So it seems that the same .sdp file causes Audio object type 3 error with my build but not with static but I really do not see what causes it (granted I am not an expert with ffmpeg API and may simply miss important details).

    Simplified code for opening .sdp file that doesn't include error checks and logic separation :

    AVFormatContext *inputContext = NULL;

    av_register_all();
    avformat_network_init();

    avformat_open_input(&amp;inputContext, "test.sdp", NULL, NULL);
    avformat_find_stream_info(inputContext, NULL);

    int inAudioStreamIdx = av_find_best_stream(inputContext, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0);
    AVStream *st = inputContext->streams[inAudioStreamIdx];

    AVCodecContext *dec_ctx = st->codec;
    AVCodec *dec = avcodec_find_decoder(dec_ctx->codec_id);

    avcodec_open2(dec_ctx, dec, NULL); // Fails here with Audio object type 3

    Am I opening the sdp input improperly ?