Recherche avancée

Médias (1)

Mot : - Tags -/géodiversité

Autres articles (27)

  • 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 : (...)

  • 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 (3598)

  • 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 :

    <?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 ?

  • 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 ?

  • Unable to 'make' android ndk project - build fails : [build-openh264-x86] Error 2

    18 décembre 2015, par NoobNinja

    I’ve attempted these two fixes I’ve found while researching the issue :

    android update project  --23 --/Users/ajswann/Downloads/android-sdk-macosx

    make OS=android NDKROOT=/Users/ajswann/Downloads/android-sdk-macosx TARGET=android-19 ARCH=x86 clean

    ...however neither seems to resolve the issue.

    Any input/suggestions are appreciated.

    P.S.

    I’m running OSX - could this be an issue with attempting to run an x86 architecture on a 64 bit machine ?

    Error Message :

    chris-mini-mac:linphone-android ajswann$ sudo make
    ls: /opt/local/etc/openssl/certs: No such file or directory
    /Users/ajswann/Downloads/android-sdk-macosx/tools/android update project --path . --target android-23
    Updated project.properties
    Updated local.properties
    build.xml: Found version-tag: custom. File will not be updated.
    Updated file ./proguard-project.txt
    It seems that there are sub-projects. If you want to update them
    please use the --subprojects parameter.
    /Users/ajswann/Downloads/android-sdk-macosx/tools/android update test-project --path tests -m .
    Resolved location of main project to: /groupchat/linphone-android/tests
    Updated project.properties
    Updated local.properties
    Updated file tests/proguard-project.txt
    Updated ant.properties
    /Users/ajswann/Downloads/android-sdk-macosx/tools/android update project --path liblinphone_tester --target android-23
    Updated project.properties
    Updated local.properties
    Updated file liblinphone_tester/proguard-project.txt
    ant -e -S clean
    Buildfile: /groupchat/linphone-android/build.xml
    No sub-builds to iterate on
    mkdir -p /groupchat/linphone-android/submodules/externals/openh264/include/wels
    rsync -rvLpgoc --exclude ".git"  /groupchat/linphone-android/submodules/externals/openh264/codec/api/svc/* /groupchat/linphone-android/submodules/externals/openh264/include/wels/.
    building file list ... done

    sent 156 bytes  received 20 bytes  352.00 bytes/sec
    total size is 56216  speedup is 319.41
    mkdir -p /groupchat/linphone-android/submodules/externals/build/openh264
    mkdir -p /groupchat/linphone-android/submodules/externals/build/openh264/arm
    cd /groupchat/linphone-android/submodules/externals/build/openh264/arm \
       &amp;&amp; rsync -rvLpgoc --exclude ".git"  /groupchat/linphone-android/submodules/externals/openh264/* .
    building file list ... done

    sent 18841 bytes  received 20 bytes  37722.00 bytes/sec
    total size is 48272799  speedup is 2559.40
    cd /groupchat/linphone-android/submodules/externals/build/openh264/arm &amp;&amp; \
       make libraries -j4 OS=android ARCH=arm NDKROOT=/Users/ajswann/Downloads/android-ndk-r10e TARGET=android-19
    cd ./ &amp;&amp; sh ./codec/common/generate_version.sh
    Keeping existing codec/common/inc/version_gen.h
    mkdir -p /groupchat/linphone-android/submodules/externals/build/openh264
    mkdir -p /groupchat/linphone-android/submodules/externals/build/openh264/x86
    cd /groupchat/linphone-android/submodules/externals/build/openh264/x86 \
       &amp;&amp; rsync -rvLpgoc --exclude ".git"  /groupchat/linphone-android/submodules/externals/openh264/* .
    building file list ... done

    sent 18841 bytes  received 20 bytes  12574.00 bytes/sec
    total size is 48272799  speedup is 2559.40
    cd /groupchat/linphone-android/submodules/externals/build/openh264/x86 &amp;&amp; \
       make libraries -j4 OS=android ARCH=x86 NDKROOT=/Users/ajswann/Downloads/android-ndk-r10e TARGET=android-19
    cd ./ &amp;&amp; sh ./codec/common/generate_version.sh
    nasm -DX86_32 -f elf -I./codec/common/x86/   -o codec/decoder/core/x86/dct.o codec/decoder/core/x86/dct.asm
    codec/decoder/core/x86/dct.asm:1: error: label or instruction expected at start of line
    codec/decoder/core/x86/dct.asm:144: error: label or instruction expected at start of line
    codec/decoder/core/x86/dct.asm:234: error: symbol `IdctResAddPred_mmx' redefined
    codec/decoder/core/x86/dct.asm:262: error: symbol `WelsBlockZero16x16_sse2' redefined
    codec/decoder/core/x86/dct.asm:276: error: symbol `WelsBlockZero8x8_sse2' redefined
    codec/decoder/core/x86/dct.asm:287: error: label or instruction expected at start of line
    make[1]: *** [codec/decoder/core/x86/dct.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    Keeping existing codec/common/inc/version_gen.h
    make[1]: *** wait: No child processes.  Stop.
    make: *** [build-openh264-x86] Error 2

    Source Repository (I simply clone it, add the platform-tools and tools folder from my android-sdk and run ’make’ and I get this error) :

    https://github.com/TheBaobabTeam/linphone-android