Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (69)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (9899)

  • FFMPEG - concatenating mp4s from different sources - unable to stop "Non-monotonous DTS in output stream" warning

    19 novembre 2018, par Sam P

    I need to concatenate mp4 files from different sources, this means some of the variables are out of my control such as timebase, aspect ratio and encoding. So to get around this I re-encode and attempt to standardise the files before concatenating them. Unfortunately, despite this I get Non-monotonous DTS in output stream warnings during the concatenation stage, and the output video seems to always have broken audio/video syncing by the last segment.

    I know there are a lot of other questions out there about resolving the warning above, but I’ve been through them all and reviewed the documentation.. but unfortunately I’ve been still been unable to solve it..

    I think the thing which I don’t understand is : if I have mp4s from different sources, what exactly do I need to do to ensure that the files will always neatly concatenate together ?

    What I’ve tried so far

    The script I’m using to standardise the mp4 files before concantenation is the following (amends resolution, frame rate, timebase, bitrate for audio, bitrate for video, audio encoding and video encoding) :

    ffmpeg -y -i $1 -vf 'scale=1280:720:force_original_aspect_ratio=1,pad=1280:720:(ow-iw)/2:(oh-ih)/2' -r 30 -video_track_timescale 90000 -b:a 128K -b:v 1200K -c:a aac -c:v libx264 $2

    Here’s the ffprobe output on two of the files, there are some differences but I’m not sure if they are significant ?

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intro.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.12.100
     Duration: 00:00:08.98, start: 0.000000, bitrate: 1210 kb/s
       Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1069 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 132 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'middle.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.12.100
     Duration: 00:00:59.72, start: 0.000000, bitrate: 1200 kb/s
       Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1063 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    They all have normal video and audio at this point.

    After that I concatenate them and add a watermark using the following (it sucks that I need to re-encode here) :

     ffmpeg -y \
       -f concat \
       -safe 0 \
       -i $INFILES \
       -c:v libx264 \
       -c:a copy \
       -preset fast \
       -vf drawtext=enable="'between(t, $DRAW_TEXT_DELAY, $DRAW_TEXT_DURATION)': fontfile=$FONT_DIR/$FONT: text='$TEXT': fontcolor=$FONTCOLOR: fontsize=$FONTSIZE: $POSITION" \
       $OUTFILE

    INFILES is a path to a text file formatted like :

    file /usr/src/app/data/test/out/intro.mp4
    file /usr/src/app/data/test/out/middle.mp4
    file /usr/src/app/data/test/out/outro.mp4

    What am I missing here ? Is there a way to debug this further ?

  • How to deal with every frame of a video by use ffmpeg ?

    7 février 2019, par candrwow

    I am using tensorflow to do video object segmentation,but now I only know how to do it on image(png,jpg),I want to do it on short time video(15 seconds),how to get frame by frame in sequence and processing between each frame ?

    now I split mp4 to pngs by ffmpeg,then do segamentation for every pngs,finally compound pngs to mp4 and delete every pngs.split and compound like this :

    ffmpeg -i video.mp4 -r 24 ./split/%03d.png
    ffmpeg -f image2 -i imgFilePath -r 24 videoDesPath

    but the solution is not good,it generate many imgs in disk and need more io operation,if process fail,many pngs may be unable to recycle,I want to find a solution like below :

    1. convert a video to stream(java,because I’m using on Android)
    2. read stream to get 1st frame,do object segamentation(this need 150ms 1s,must run in child thread) and write segamented frame to a new stream(called segamented stream).
    3. repeat the above steps,finally convert a segamented stream to video.

    can you teach me how to convert video to stream and get frame from stream ?Thank you !

  • Animation with createjs and tweenjs not working

    29 novembre 2018, par user9964622

    I have simple animation in my app using createjs and tween js get started and ffmpeg server as backend.

    But unfortunately my code is not working shows the blank page without animation on it not only that but also there is no error whatsoever.

    Here is what I have done so far
    test.js

    (function() {
       "use strict";

       var framesPerSecond = 60;
       var numFrames = 20; //framesPerSecond * 60 * 2;
       var thickness = 100;
       var speed = 4;
       var frameNum = 0;

       var canvas = document.getElementById("demoCanvas");
       var ctx = canvas.getContext("2d");
       canvas.width = 1280;
       canvas.height = 720;

       var progressElem = document.getElementById("progress");
       var progressNode = document.createTextNode("");
       progressElem.appendChild(progressNode);

       function onProgress(progress) {
         progressNode.nodeValue = (progress * 100).toFixed(1) + "%";
       }

       function showVideoLink(url, size) {
         size = size ? (" [size: " + (size / 1024 / 1024).toFixed(1) + "meg]") : " [unknown size]";
         var a = document.createElement("a");
         a.href = url;
         var filename = url;
         var slashNdx = filename.lastIndexOf("/");
         if (slashNdx >= 0) {
           filename = filename.substr(slashNdx + 1);
         }
         a.download = filename;
         a.appendChild(document.createTextNode(url + size));
         document.body.appendChild(a);
       }

       var capturer = new CCapture( {
         format: 'ffmpegserver',
         //workersPath: "3rdparty/",
         //format: 'gif',
         verbose: false,
         framerate: framesPerSecond,
         onProgress: onProgress,
         //extension: ".mp4",
         //codec: "libx264",
       } );
       capturer.start();

       var stage = new createjs.Stage("demoCanvas");
           var circle = new createjs.Shape();
           circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
           circle.x = 100;
           circle.y = 100;
           stage.addChild(circle);
           createjs.Tween.get(circle, {loop: true})
             .to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
             .to({alpha: 0, y: 75}, 500, createjs.Ease.getPowInOut(2))
             .to({alpha: 0, y: 125}, 100)
             .to({alpha: 1, y: 100}, 500, createjs.Ease.getPowInOut(2))
             .to({x: 100}, 800, createjs.Ease.getPowInOut(2));
           createjs.Ticker.setFPS(60);
           createjs.Ticker.addEventListener("tick", stage);
     }());

    here is test.html

     


       
       



       <canvas width="300" height="300">
           alternate content
       </canvas>
       <div>-</div>

    <code class="echappe-js">&lt;script src=&quot;http://localhost:8081/ffmpegserver/CCapture.js&quot;&gt;&lt;/script&gt;

    &lt;script src=&quot;http://localhost:8081/ffmpegserver/ffmpegserver.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://code.createjs.com/easeljs-0.8.2.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://code.createjs.com/1.0.0/createjs.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src='http://stackoverflow.com/feeds/tag/test.js'&gt;&lt;/script&gt;

    I am using nodejs as backend, so when I run the app, displays only a frame without animation on it,

    Unfortunately, no error whatsoever.is displayed on the console,

    What am I doing wrong in my code ?? any help will be apreciated