Recherche avancée

Médias (91)

Autres articles (40)

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

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (6582)

  • Revision 56730 : On tente une fonction de normalisation des données. Il faudra mieux ...

    6 janvier 2012, par marcimat@… — Log

    On tente une fonction de normalisation des données.
    Il faudra mieux définir ce genre de chose, mais ça va permettre de tester un peu.
    La fonction normaliser(valeur, type, options) retourne un tableau avec
    - erreur
    - valeur
    - changement
    Changement vaut true s’il n’y a pas d’erreur et que la valeur a été modifiée.

  • Pipe raw OpenCV images to FFmpeg

    15 février 2017, par BrianTheLion

    Here’s a fairly straightforward example of reading off a web cam using OpenCV’s python bindings :

    '''capture.py'''
    import cv, sys
    cap = cv.CaptureFromCAM(0)                    # 0 is for /dev/video0
    while True :
       if not cv.GrabFrame(cap) : break
       frame = cv.RetrieveFrame(cap)
       sys.stdout.write( frame.tostring() )

    Now I want to pipe the output to ffmpeg as in :

    $ python capture.py | ffmpeg -f image2pipe -pix_fmt bgr8 -i - -s 640x480 foo.avi

    Sadly, I can’t get the ffmpeg magic incantation quite right and it fails with

      libavutil     50.15. 1 / 50.15. 1
      libavcodec    52.72. 2 / 52.72. 2
      libavformat   52.64. 2 / 52.64. 2
      libavdevice   52. 2. 0 / 52. 2. 0
      libavfilter    1.19. 0 /  1.19. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
    Output #0, avi, to ’out.avi’ :
        Stream #0.0 : Video : flv, yuv420p, 640x480, q=2-31, 19660 kb/s, 90k tbn, 30 tbc
    [image2pipe @ 0x1508640]max_analyze_duration reached
    [image2pipe @ 0x1508640]Estimating duration from bitrate, this may be inaccurate
    Input #0, image2pipe, from ’pipe :’ :
      Duration : N/A, bitrate : N/A
        Stream #0.0 : Video : 0x0000, bgr8, 25 fps, 25 tbr, 25 tbn, 25 tbc
    swScaler : 0x0 -> 640x480 is invalid scaling dimension
    
    • The captured frames are definitely 640x480.
    • I’m pretty sure the pixel order for the OpenCV image type (IplImage) is GBR, one byte per channel. At least, that’s what seems to be coming off the camera.

    I’m no ffmpeg guru. Has anyone done this successfully ?

  • Using FFMpeg with Runtime.exec() to do a simple transcoding

    1er novembre 2011, par Adam Ingmansson

    I know there are many questions touching this subject, but none have helped me solve my issue.

    Purpose :

    Transcoding a video taken,from a queue, from .mov to h.264 (for now only that)

    Solution :

    Building a java application that gets the next in the queue, transcodes it then repeat

    Problem :

    Running ffmpeg using Runtime.exec() is not working.
    Im using the StreamGobbler from this tutorial to capturing the output from the process.

    This code shows how i start my process :

    String[] command = new String[]{"./ffmpeg/ffmpeg","-i",videoFile.getPath(),"-vcodec","libx264","-fpre",preset,folder + recID + ".flv"};
    System.out.println("Running command..");
    Process p = r.exec(command);

    // any error message?
    StreamGobbler errorGobbler = new
    StreamGobbler(p.getErrorStream(), "ERROR");            

    // any output?
    StreamGobbler outputGobbler = new
    StreamGobbler(p.getInputStream(), "OUT");

    // kick them off
    errorGobbler.start();
    outputGobbler.start();

    //logProcessOutputAndErrors(p);

    int res = p.waitFor();
    if (res != 0) {
       throw new Exception("Encoding error: "+String.valueOf(res));
    }

    and this is the current modified version of StreamGobbler (the important part)

    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line=null;
    int c = 0;
    StringBuilder str = new StringBuilder();

    while (true) {
       c = br.read();
    }

    Sometimes ffmpeg just stalls, maybe waiting for my input (although there is no indication on screen).

    Sometimes it just ends.

    Sometimes (when I added the line "System.out.print((char) c) ;" in the while-loop above) i got loads of "¿¿ï" repeated over and over again, wich might be the actual encoding of the video wich I managed to capture instead of to a file.

    For those who wonders why i dont just go with a commandline or maybe even php :

    The purpose is an application that will run 24/7 transcoding anything and everything from a queue. The files are pretty large to begin with and takes about 15 min to transcode.