Recherche avancée

Médias (2)

Mot : - Tags -/documentation

Autres articles (7)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Déploiements possibles

    31 janvier 2010, par

    Deux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
    L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
    Version mono serveur
    La version mono serveur consiste à n’utiliser qu’une (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (4194)

  • Using ffmpeg to watermark a folder of videos

    25 août 2018, par user5947524

    I am using the code below to watermark individual videos one-by-one in a folder :

    ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 dave.mp4
    ffmpeg -i logo.png -y -v quiet -vf scale=width*0.15:-1 scaled.png
    ffmpeg -i dave.mp4 -i scaled.png -filter_complex "overlay=10:main_h-overlay_h-10" dave2.mp4

    The first line gets the width and the height of a video, second line scales the watermark for that video, third line creates a new video watermarked.

    How can I make run for a full folder of 1000 videos ?

    I tried the code below but it corrupted the videos :

    for %%a in ("C:\Users\Work\Desktop\test2\*.mp4") do (
    ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 "%%a"
    ffmpeg -i logo.png -y -v quiet -vf scale=width*0.15:-1 scaled.png
    ffmpeg -i "%%a" -i scaled.png -filter_complex "overlay=10:main_h-overlay_h-10" "C:\Users\Work\Desktop\test2\%%~na.mp4"
    )

    The error I get is :

    [mov,mp4,m4a,3gp,3g2,mj2 @ 0000014545aaaa00] stream 0, offset 0x18039: partial file
    [aac @ 0000014545b708c0] Input buffer exhausted before END element found
    Error while decoding stream #0:1: Invalid data found when processing input
    C:\Users\Work\Desktop\test2\dave.mp4: Invalid data found when processing input
  • Auto delete .ts and .m3u8 files once client receives all .ts files

    11 mars 2019, par Abhishek Mehandiratta

    So I created an express server that gets an mp3 file (which is stored locally right now, but will be taken from mongo db later) and uses ffmpeg to make .m3u8 and .ts files. The files are successfully sent to the client and there are no errors while playing it on the client. I used hls.js to play these files in Chrome. But the server still has those files stored locally. Is there any way the server can know when to delete these files that it stored locally ? There are a lot of files generated by ffmpeg so I can’t just let them stay there forever.

    I used the ffmpeg part of code from hls-server github repo.

    my server file

    index.js

    // just used to run ffmpeg for conversion
    var command = ffmpeg('inp.mp3')
     .on('start', function (commandLine) {
       console.log('command', commandLine);
     }).addOptions([
       '-c:a aac',
       '-b:a 64k',
       '-vn',
       '-hls_list_size 0',
       '-segment_time 10',
     ]).output('files\\output.m3u8');

    var express = require('express');
    var app = express();
    // express middleware to serve individual .ts and .m3u8 files when requested
    app.use(express.static('./files/'));

    app.get('/', function (req, res) {
     command.on('end', function () {
       console.log('done');
       res.write(`
       <code class="echappe-js">&lt;script src=&quot;https://cdn.jsdelivr.net/hls.js/latest/hls.min.js&quot;&gt;&lt;/script&gt;
    &lt;script&gt;<br />
         function onLevelLoaded (event, data) {<br />
           var level_duration = data.details.totalduration;<br />
           console.log(level_duration, data);<br />
         }<br />
         if(Hls.isSupported()) {<br />
           var audio = new Audio();<br />
           var hls = new Hls();<br />
           // requesting files from here<br />
           hls.loadSource('http://localhost:8000/output.m3u8');<br />
           hls.attachMedia(audio);<br />
           hls.on(Hls.Events.LEVEL_LOADED, onLevelLoaded);<br />
           hls.on(Hls.Events.FRAG_BUFFERED, (e, d) =&gt; {<br />
             console.log(e, d);<br />
           });<br />
         }<br />
       &lt;/script&gt;

    `) ;
    res.end() ;
    }).run() ;
    }) ;

    app.listen(8000) ;

  • Accord.Video.FFMPEG creates very low quality video

    11 février 2021, par Кирилл Малышев

    I use Accord.Video.FFMPEG to create a video of 200 images with the H264 codec. For some reason, the video is very poor quality. Its size is less than 1MB. When choosing VideoCodec.Raw, the quality is high, but I am not happy with the huge size.

    &#xA;&#xA;

    I do something like this

    &#xA;&#xA;

    using (var vFWriter = new VideoFileWriter())&#xA;{&#xA;    vFWriter.Open(video_name, 1920, 1080, 24, VideoCodec.H264);&#xA;    for (int i = 0; i &lt; 200; &#x2B;&#x2B;i)&#xA;    {&#xA;        var img_name_src = ...&#xA;        using (Bitmap src_jpg = new Bitmap(img_name_src))&#xA;        {&#xA;            vFWriter.WriteVideoFrame(src_jpg);&#xA;        }&#xA;    }&#xA;    vFWriter.Close();&#xA;}&#xA;

    &#xA;&#xA;

    When I run the program, messages appear :

    &#xA;&#xA;

    [swscaler @ 06c36d20] deprecated pixel format used, make sure you did set range correctly&#xA;[swscaler @ 06e837a0] deprecated pixel format used, make sure you did set range correctly&#xA;[avi @ 06c43980] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.&#xA;[avi @ 06c43980] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.&#xA;

    &#xA;&#xA;

    I don’t know if they affect something.

    &#xA;&#xA;

    It looks like 1 frame :

    &#xA;&#xA;

    enter image description here

    &#xA;&#xA;

    This is the frame from the video :

    &#xA;&#xA;

    enter image description here

    &#xA;&#xA;

    How to fix it ?

    &#xA;&#xA;

    Is there any other way in C# to create a video from individual frames ?

    &#xA;