Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (42)

  • Configuration spécifique d’Apache

    4 février 2011, par

    Modules spécifiques
    Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
    Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
    Création d’un (...)

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

Sur d’autres sites (4602)

  • ffmpeg -ss then apply filter then concat producing timestamp errors

    6 août 2020, par Bob Ramsey

    Using ffmpeg, I have split a file into multiple parts using -ss. Then I apply a filter to some of the files, then concat the files back together. When I do that, I get : Non-monotonous DTS in output stream 0:0 ; previous : 341334, current : 340526 ; changing to 341335. This may result in incorrect timestamps in the output file. The output file plays, but there are noticeable skips where the files are joined.

    


    Here's how I am splitting the file :

    


    ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  01-plain.mp4
ffmpeg -i full_source.mp4 -ss 14.264250 -to 18.435083 -c copy  01-filtered.mp4

ffmpeg -i full_source.mp4 -ss 18.435083 -to 29.988292 -c copy  02-plain.mp4
ffmpeg -i full_source.mp4 -ss 29.988292 -to 31.865167 -c copy  02-filtered.mp4
...
ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  10-plain.mp4
ffmpeg -i full_source.mp4 -ss 234.484203 -to 300.000 -c copy  10-filtered.mp4


    


    Then I apply a different drawtext filter on each of the 10 filtered files and save them with a new name, like :

    


    ffmpeg -hide_banner -loglevel warning -y -i 01-filtered.mp4 -filter_complex "drawtext=fontfile=calibri.ttf:fontsize=24:fontcolor=white:x=300:y=500:text='hello world'" -crf 15 01-filtered-complete.mp4


    


    Finally, I join all of the plain and complete files back together like this :

    


    ffmpeg  -f concat -safe 0 -i mylist.txt -c:a copy -c:v copy  outfile.mp4


    


    And that's where the timing error comes in. I've tried adding -vsync drop in the concat command, but that didn't really work either. Same version of ffmpeg does the split, the filter, and the concat. I've tried different versions, everything from 20170519 to one from May 2020 with the same result. Always making sure that all three steps are done by the same version of ffmpeg.

    


    The only thing I can see is that ffprobe shows a duration of 14.27 for 01-plain.mp4 when it should be 14.264250. All of the other files show a similar rounding difference. The files are 23.98 fps. If I do all of my filters in really long command without splitting the file, I can use the more precise numbers with no problem. It just takes 10 times as long. This is all scripted, it happens a couple of hundred times a day and time is money, so I can't take 10 times as long to do each file.

    


    Any ideas ? Thanks in advance !

    


  • Is ffmpeg able to read ArrayBuffer input from stream

    7 juillet 2017, par jAndy

    I want to accomplish the following tasks :

    • Record Video+Audio from any HTML5 (MediaStream) capable browser
    • Send that data via WebSocket as Blob / ArrayBuffer chunks to a server
    • Broadcast that input stream-data to multiple clients

    As it turns out, this brought me into a world of pain. The first task is fairly simple using the HTML5 MediaStream objects alongside WebSockets.

    // ... for simplicity...
    navigator.mediaDevices.getUserMedia({ audio: true, video: true }).then(stream => {
       let mediaRecorder = new MediaRecorder( stream );
       // ...
       mediaRecorder.ondataavailable = e => {
           webSocket.send( 'newVideoData', e.data ); // configured for binary data
       };
    });

    Now, I want to receive those data fragments and stream those via nginx vod module, because I guess I want the output stream in HLS or DASH.
    I could write a little nodejs script as backend, which just receives the binary chunks and write them to a file or stream, and just reference it so nginx vod module could possibly read it and create the m3u8 manifest on the fly ?

    I am wondering now,

    • if ffmpeg is able to read that binary data directly (should be webm format), without a man-in-the-middle script, "somehow" ?
    • If not, do I have to write the data down into a file and pass that as input to ffmpeg or can I (should I) pipe the data to a self spawned ffmpeg instance ? (if so, how ?)
    • Do I actually need the nginx server (probably alongside rtmp module) to deliver the output stream as HLS or could I just use ffmpeg to also create a dynamic manifest ?
    • Is the nginx vod module capable of creating a dynamic hls/dash manifest or must the input data be complete beforehand ?
    • Ultimately, am I on the totally wrong track here ? :P

    Actually I just want to create a little video-live-chat demo, without any plugins or 3rd party encoding software, pure browser.

  • Piwik now integrated within CloudFlare

    8 novembre 2017, par Piwik Core Team — Development

    Would you like to know some quick fix in order to make your website load faster ? Would you like your users to have a better experience on your website ? One answer to that is what we call a CDN. Content Delivery Network (CDN) is a system of distributed servers that deliver content to a user based on various criterias such as geolocation.

    And the good news for you is that Piwik got recently integrated to a popular CDN : CloudFlare.

    What is CloudFlare ?

    As previously said, CloudFlare is a content delivery network (CDN).

    The three major advantages of using CloudFlare as a CDN are :

    • it is making your website load faster by providing a nearby location to your files to users
    • it also help detecting potential attacks like DDoS and takes away these risks for you
    • it runs one of the largest, fastest, and most reliable managed DNS service in the world

    Automatically add Piwik tracking code to your website

    With the integration of Piwik to CloudFlare, you can now deploy the Piwik tracking code directly through your CloudFlare account instead of tweaking the source code of your website.

    In order to do that, all you need is to log in to your CloudFlare account and click on “Apps”. Then look for Piwik within the search bar :

    Once done, click on “Preview” on your site to enter your credentials (Piwik URL and website ID) :

    Click “install” to finish the setup. The Piwik tracking code is now installed on each page of your website.

    If you have previously added the tracking code manually to your website and now use the Piwik app, don’t forget to remove the tracking code from your website. Otherwise you end up tracking every user twice.

    Important note : the Piwik CloudFlare integration only concerns the Piwik tracking code integration. For the Piwik app on Cloudflare to work you will need to have a running Piwik installed on your server, or you can start a free trial on the Piwik Analytics Cloud.

    To learn more about what Piwik integration to CloudFlare can do for you.