Recherche avancée

Médias (5)

Mot : - Tags -/open film making

Autres articles (76)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

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

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

Sur d’autres sites (12566)

  • Reading live output from FFMPEG using PHP

    29 septembre 2018, par user561787

    the problem i’m dealing with is getting the shell output from a ffmpeg command while it’s being executed and writing it in an html page using php.

    After some research i found a very similar request here :Update page content from live PHP and Python output using Ajax, which seemed to be perfect, but it’s not working at all.

    The basic idea is to use an AJAX request to invoke the PHP script, which should execute the command and echo the live read content from the process, taking care to use this.readyState==3 (otherwise the JS script would receive the response only upon completion)

    For the PHP section i tried using the code in the answer above, (obviously adapted to my needs) :

    function liveExecuteCommand($command){

       while (@ ob_end_flush()); // end all output buffers if any

       $proc = popen($command, 'r');

       $live_output     = "";
       $complete_output = "";

       while (!feof($proc))
       {
           $live_output     = fread($proc, 4096);
           $complete_output = $complete_output . $live_output;
           echo "<pre>$live_output</pre>";
           @ flush();
       }

       pclose($proc);          

    }

    And for the AJAX section i used

    function getLiveStream(){


           var ajax = new XMLHttpRequest();
             ajax.onreadystatechange = function() {
               if (this.readyState == 3) {

                 document.getElementById("result").innerHTML = this.responseText;
               }              
           };          
           var url = 'process/getlive';
           ajax.open('GET', url,true);
           ajax.send();
      }

    Which sadly doesn’t work.

    The command being executed is this : 'ffmpeg.exe -i "C:/Users/BACKUP/Desktop/xampp/htdocs/testarea/test.mp4" -map 0:0 -map 0:1 -c:v libx264 -preset fast -crf 26 -c:a libmp3lame -ar 24000 -q:a 5 "C:\Users\BACKUP\Desktop\xampp\htdocs\testarea\output/test.mkv"', which i tested and it works.

    When i run the html page and the ajax script within, the ffmpeg command doesn’t even run, as i checked in task managet. It simply returns a blank text.

    When i run the php script by itself, the command runs, the file is converted but it doesn’t echo anything at all.

    After some more research i also found this page, which seems to be made for this exact purpose : https://github.com/4poc/php-live-transcode/blob/master/stream.php

    The relevant section is at the end, the code before is for dealing with options specific to ffmpeg. But it didn’t work either, with the same exact outcomes.

    Now i’m considering simply writing the output to a file and reading it from it dinamically, but i’d really like to know the reason why they both don’t work for me.

    EDIT : PHP Execute shell command asynchronously and retrieve live output answers to how to get content from a temporary file that is being written, not directly from the process.

  • How to eliminate the distortion in live streaming Nodejs + ffmpeg

    16 août 2015, par hackmith

    I tried Live video Streaming with NodeJS and ffmpeg encoder. It works with a lag of around 2sec and with a distortion as well. Lag does not matter as there is always. But I need to eliminate the video distortion as much as possible. So what would be the suitable bit rates and is there a better encoder to do this ? In ffmpeg, it encodes to mpegts so is there a more preferable format than mpegts ? plz help

    my encoding code was

    ffmpeg -s 640x480 -f dshow -i video="HP HD Webcam":audio="Microphone (Realtek High Definition Audio)" -preset ultrafast -qp 0 -f mpegts -v:b 800 -r 100 http://localhost:8082/abc/640/480/
  • FFMPEG live recording is too fast

    22 avril 2017, par Anton Putau

    I am trying to record 55 seconds of radiostation.

    ffmpeg -t 55 -i http://19233.live.streamtheworld.com/BLZE_1.mp3 toofastrecord.mp3 .

    FFMPEG do this nearly for 10 seconds. How does it possible to have speed speed=5.67x instead 1 for live recording ?

    Below is FFMPEG output.

    ffmpeg -t 55 -i http://19233.live.streamtheworld.com/BLZE_1.mp3 toofastrecord.mp3
    ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.2.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     libavutil      55. 12.100 / 55. 12.100
     libavcodec     57. 21.100 / 57. 21.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
    [mp3 @ 0000017b0ad9aa00] Skipping 0 bytes of junk at 0.
    Input #0, mp3, from 'http://19233.live.streamtheworld.com/BLZE_1.mp3':
     Metadata:
       icy-br          : 64
       icy-description :
       icy-genre       : Talk
       icy-name        :
       icy-url         :
     Duration: N/A, start: 0.000000, bitrate: 64 kb/s
       Stream #0:0: Audio: mp3, 44100 Hz, mono, s16p, 64 kb/s
    Output #0, mp3, to 'toofastrecord.mp3':
     Metadata:
       icy-br          : 64
       icy-description :
       icy-genre       : Talk
       icy-name        :
       icy-url         :
       TSSE            : Lavf57.21.101
       Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, mono, s16p
       Metadata:
         encoder         : Lavc57.21.100 libmp3lame
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    size=     430kB time=00:00:55.01 bitrate=  64.1kbits/s speed=5.67x
    video:0kB audio:430kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.077898%