Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (64)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (7073)

  • How to scale an overlay on a video

    8 mars 2019, par Mahesh Verma

    What I am trying to do :

    How can I add an overlay image to a video that scales from frame A to frame B within time T.

    What I have achieved :

    I am able to add overlay like this :

    -filter_complex "[0:v][1:v] overlay=$X:$Y:enable='between(t,$START_TIME,$STOP_TIME)'"

    Where I am stuck :

    How can I add scaling here in this filter ?

    enter image description here

  • avcodec_encode_video2() error -1 : Could not encode video packet - javacv

    7 mars 2016, par 404error

    I want to create a video (mp4) from a set of images and want to add a background sound to it. The background sound can either be recorded or a file may be browsed using a content chooser in android.
    The following code creates the video when a new audio is recorded in 3gp format. However when i browse an audio file (mp3 for example), it shows this error and the video recorded cannot be played.

    the error shown is :

    org.bytedeco.javacv.FrameRecorder$Exception: avcodec_encode_video2() error -1: Could not encode video packet. :at video_settings$Generate.doInBackground(video_settings.java:298)

    the code at video_settings.java:298 is

                       recorder.record(frame2);

    relevant code is :

    protected Void doInBackground(Void... arg0) {


           try {
               FrameGrabber grabber1 = new FFmpegFrameGrabber(paths.get(0));
               FrameGrabber grabber2 = new FFmpegFrameGrabber(backgroundSoundPath);
               Log.d("hgbj", backgroundSoundPath);
               grabber1.start();
               grabber2.start();

               FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(video, 320,
                       240, grabber2.getAudioChannels());// 320, 240
               recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);//
               recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P);
               recorder.setFormat("mp4");
               recorder.setFrameRate(2);
               recorder.setVideoBitrate(10 * 1024 * 1024);

               recorder.start();
               Frame frame1, frame2;
               long timeLength = grabber2.getLengthInTime();
               System.out.println("total time = " + timeLength);


               for (int i = 0; i < paths.size(); i++) {
                   // record this frame and then record (numFrames*percentageTime[i]/100) number of frames of the audio.
                   frame1 = grabber1.grabFrame();
                   long startTime = System.currentTimeMillis();
                   recorder.setTimestamp(startTime * 1000);
                   recorder.record(frame1);
                   boolean first = true;
                   // while current time - start time < percentage time * total time / 100: record frame2
                   long temp = timeLength * percentageTime[i] / 100000 + startTime;
                   while (System.currentTimeMillis() <= temp) {
                       frame2 = grabber2.grabFrame();
                       if (frame2 == null) break;
                       if (first) {
                           recorder.setTimestamp(startTime * 1000);
                           first = false;
                       }
                       recorder.record(frame2);
                   }
                   if (i < paths.size() - 1) {
                       grabber1.stop();
                       grabber1 = new FFmpegFrameGrabber(paths.get(i + 1));
                       grabber1.start();
                   }
               }

    My question is : if its working for 3gp recorded files why isn’t it working for browsed mp3 files and what should I do to make it work ?
    I have tried changing the codecs, frame height width, video bitrate but dont know any way to determine what bitrate etc is compatible with a given codec/format.
    I am changing the content uri obtained from file browser into the real path so that’s not the issue.

  • FFMPEG show encoding progress

    18 janvier 2016, par Mick Jack

    I am using ffmpeg to convert a video file large files take a long time to get encode. i will like to show a progress bar with a percentage/time remaining

    i saw and tried this example example but progress bar is not showing

    FFMPEG script and autorefresh both in upload.php

       <?php
    shell_exec("C:\\ffmpeg\\bin\\ffmpeg.exe -y -i ".$target_file." -c:v libx264 -s:v 854x480 -c:a copy \"{$newFileName}\" > logfile.txt 2>&1");

            ?>

           <code class="echappe-js">&lt;script src=&quot;https://code.jquery.com/jquery-2.1.1.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script&gt;<br />
           $(document).ready(function(){<br />
           setInterval(function(){<br />
           $(&quot;#screen&quot;).load('progress.php')<br />
           }, 10000);<br />
           });<br />
           &lt;/script&gt;

    Progress.php

    &lt;?php

    $content = @file_get_contents('logfile.txt');

               if($content){
               //get duration of source
               preg_match("/Duration: (.*?), start:/", $content, $matches);

               $rawDuration = $matches[1];

               //rawDuration is in 00:00:00.00 format. This converts it to seconds.
               $ar = array_reverse(explode(":", $rawDuration));
               $duration = floatval($ar[0]);
               if (!empty($ar[1])) $duration += intval($ar[1]) * 60;
               if (!empty($ar[2])) $duration += intval($ar[2]) * 60 * 60;

               //get the time in the file that is already encoded
               preg_match_all("/time=(.*?) bitrate/", $content, $matches);

               $rawTime = array_pop($matches);

               //this is needed if there is more than one match
               if (is_array($rawTime)){$rawTime = array_pop($rawTime);}

               //rawTime is in 00:00:00.00 format. This converts it to seconds.
               $ar = array_reverse(explode(":", $rawTime));
               $time = floatval($ar[0]);
               if (!empty($ar[1])) $time += intval($ar[1]) * 60;
               if (!empty($ar[2])) $time += intval($ar[2]) * 60 * 60;

               //calculate the progress
               $progress = round(($time/$duration) * 100);

               echo "Duration: " . $duration . "<br />";
               echo "Current Time: " . $time . "<br />";
               echo "Progress: " . $progress . "%";

    }

    ?>

    ffmpeg

    shell_exec("C:\\ffmpeg\\bin\\ffmpeg.exe -y -i ".$target_file." -c:v libx264 -s:v 854x480 -c:a copy \"{$newFileName}\" > logfile.txt 2>&amp;1");