Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (32)

  • Liste des distributions compatibles

    26 avril 2011, par

    Le tableau ci-dessous correspond à la liste des distributions Linux compatible avec le script d’installation automatique de MediaSPIP. Nom de la distributionNom de la versionNuméro de version Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    Si vous souhaitez nous aider à améliorer cette liste, vous pouvez nous fournir un accès à une machine dont la distribution n’est pas citée ci-dessus ou nous envoyer le (...)

  • 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

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

Sur d’autres sites (4820)

  • Revision c3378771b3 : third_party/libwebm : pull from upstream Pulling libwebm from upstream Changes

    2 mai 2014, par Vignesh Venkatasubramanian

    Changed Paths :
     Modify /third_party/libwebm/README.libvpx


     Modify /third_party/libwebm/mkvmuxer.cpp


     Modify /third_party/libwebm/mkvmuxer.hpp


     Modify /third_party/libwebm/mkvmuxertypes.hpp


     Modify /third_party/libwebm/mkvmuxerutil.cpp


     Modify /third_party/libwebm/mkvmuxerutil.hpp


     Modify /third_party/libwebm/mkvparser.cpp


     Modify /third_party/libwebm/mkvparser.hpp


     Modify /third_party/libwebm/mkvreader.cpp


     Modify /third_party/libwebm/mkvreader.hpp


     Modify /third_party/libwebm/mkvwriter.cpp


     Modify /third_party/libwebm/mkvwriter.hpp


     Modify /third_party/libwebm/webmids.hpp



    third_party/libwebm : pull from upstream

    Pulling libwebm from upstream

    Changes from upstream :
    249629d make Mkv(Reader|Writer)(FILE*) explicit
    7f3cda4 mkvparser : fix a bunch of windows warnings
    5c06178 Merge "clang-format on mkvparser.[ch]pp"
    4df111e clang-format on mkvparser.[ch]pp
    7b24501 clang-format re-run.
    c6767b9 Change AlignTrailingComments to false in .clang-format
    9097a06 Merge "muxer : Reject file if TrackType is never specified"
    eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp"
    def325c muxer : Reject file if TrackType is never specified
    41f869c Merge "clang-format on webvttparser.(cc|h)"
    fd0be37 clang-format on webvttparser.(cc|h)
    207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp"
    02429eb Merge "clang-format on mkvwriter.[ch]pp"
    0cf7b1b Merge "clang-format on mkvreader.[ch]pp"
    2e80fed Merge "clang-format on sample.cpp"
    3402e12 Merge "clang-format on sample_muxer.cpp"
    1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)"
    6634c7f Merge "clang-format on vttreader.cc"
    7566004 Merge "clang-format on vttdemux.cc"
    9915b84 clang-format on mkvreader.[ch]pp
    7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp
    0d5a98c clang-format on sample_muxer.cpp
    e3485c9 clang-format on vttdemux.cc
    46cc823 clang-format on dumpvtt.cc
    5218bd2 clang-format on vttreader.cc
    1a0130d clang-format on sample_muxer_metadata.(cc|h)
    867f189 clang-format on sample.cpp
    4c7bec5 clang-format on mkvwriter.[ch]pp
    9ead078 clang-format on mkvmuxerutil.[ch]pp
    fb6b6e6 clang-format on mkvmuxer.[ch]pp
    ce77592 Update .clang-format to allow short functions in one line
    0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer."
    11d5b66 Merge "Add .clang-format"
    a1a3b14 Add .clang-format
    0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer.

    Change-Id : Ia0ed161ffc3d63c2eba8ed145707ffe543617976

  • Java Runtime Command with disrupt/additonal command

    11 juin 2014, par oneofakind

    Actually the example below is not what I want to do, its sort of related to what I really wanna do. Its basically having to execute a shell command or a cmd command and executing another command relating to the first command. Somehow it stops/proceeds/respond to the first command executed.

    It’s actually ffmpeg execution what I wanna do, recording the screen. Problem is that I cannot execute a "q" key to stop the recording. Example above is sort of a simple, but I hope applicable, to my main problem.

    Here is the simplified problem :

    StringBuffer output = new StringBuffer();
    String domainName = "google.com";
    String command = "ping -t " + domainName;
    Process p;
    try {
       p = Runtime.getRuntime().exec(command);
       p.waitFor();
       BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

                   String line = "";          
       while ((line = reader.readLine())!= null) {
           output.append(line + "\n");
       }

    } catch (Exception ec) {
       ec.printStackTrace();
    }


    System.out.println(output);

    What will happen here is that it will ping endlessly unless interrupted to end the ping, what will happen to the code is that it will get stuck in the line :

    p.waitFor();

    That is because, I believe, it is waiting for the command to finish before it releases it. What I want to do is to execute a "ctrl+C" or command that will stop this execution and then manipulate the result continuing through

    BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
    ........
    ........

    I hope you guys got what I am trying to say. :D

    Please help. Thanks.

  • mpeg2 ts android ffmpeg openmax

    10 octobre 2014, par WLGfx

    The setup is as follows :

    1. Multicast server 1000Mbs, UDP, Mpeg2-TS Part 1 (H.222) streaming live TV-channels.
    2. Quad core 1.5Ghz Android 4.2.2 GLES 2.0 renderer.
    3. FFMpeg library.
    4. Eclipse Kepler, Android SDK/NDK, etc. Running on Windows 8.1.
    5. Output screen 1920 x 1080, I am using a texture of 2048 x 1024 and getting between 35 and 45 Frames per second.

    The app :

    1. Renderer thread runs continuously and updates a single texture by uploading segments to the gpu when media images are ready.
    2. Media handler thread, downloads and processes media from server/or local storage.
    3. Video thread(s), one for buffering the UDP packets and another for decoding the packets into frames.

    I am connecting ffmpeg to the UDP stream just fine and the packets are being buffered and seemingly decoded fine. The packet buffers are plenty, no under/over-flows. The problem I am facing is it appears to be chopping up frames (ie only playing back 1 out of every so many frames). I understand that I need to distinguish I/P/B frames, but at the moment, hands up, I ain’t got a clue. I’ve even tried a hack to detect I frames to no avail. Plus, I am only rendering the frames to less than a quarter of the screen. So I’m not using full screen decoding.

    The decoded frames are also stored in separate buffers to cut out page tearing. The number of buffers I’ve changed too, from 1 to 10 with no luck.

    From what I’ve found about OpenMax IL, is it only handles MPeg2-TS Part 3 (H.264 and AAC), but you can use your own decoder. I understand that you can add your own decode component to it. Would it be worth me trying this route or should I continue on with ffmpeg ?

    The frame decoder (only the renderer will convert and scale the frames when ready)
    /*
    * This function will run through the packets and keep decoding
    * until a frame is ready first, or out of packets
    */

    while (packetsUsed[decCurrent])
    {
       hack_for_i_frame:
       i = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packets[decCurrent]);
       packetsUsed[decCurrent] = 0; // finished with this one
       i = packets[decCurrent].flags & 0x0001;
       decCurrent++;
       if (decCurrent >= MAXPACKETS) decCurrent = 0;
       if (frameFinished)
       {
           ready_pFrame = pFrame;
           frameReady = true;  // notify renderer
           frameCounter++;
           if (frameCounter>=MAXFRAMES) frameCounter = 0;
           pFrame = pFrames[frameCounter];
           return 0;
       }
       else if (i)
           goto hack_for_i_frame;
    }

    return 0;

    The packet reader (spawned as a pthread)
    void *mainPacketReader(void *voidptr)

    int res ;

    while ( threadState == TS_RUNNING )
    {
       if (packetsUsed[prCurrent])
       {
           LOGE("Packet buffer overflow, dropping packet...");
           av_read_frame( pFormatCtx, &packet );
       }
       else if ( av_read_frame( pFormatCtx, &packets[prCurrent] ) >= 0 )
       {
           if ( packets[prCurrent].stream_index == videoStream )
           {
               packetsUsed[prCurrent] = 1; // flag as used
               prCurrent++;
               if ( prCurrent >= MAXPACKETS )
               {
                   prCurrent = 0;
               }
           }

           // here check if the packet is audio and add to audio buffer
       }
    }
    return NULL;

    And the renderer just simply does this
    // texture has already been bound before calling this function

    if ( frameReady == false ) return;

    AVFrame *temp;  // set to frame 'not' currently being decoded
    temp = ready_pFrame;

    sws_scale(sws_ctx,(uint8_t const* const *)temp->data,
           temp->linesize, 0, pCodecCtx->height,
           pFrameRGB->data, pFrameRGB->linesize);

    glTexSubImage2D(GL_TEXTURE_2D, 0,
           XPOS, YPOS, WID, HGT,
           GL_RGBA, GL_UNSIGNED_BYTE, buffer);

    frameReady = false;

    In the past, libvlc had audio syncing problems too, so that is my decision for going with ffmpeg and doing all the donkey work from scratch.

    If anybody has any pointers of how to stop the choppiness of the video playback (works great in VLC player) or possibly another route to go down, it would be seriously appreciated.

    EDIT I removed the hack for the I-frame (completely useless). Move the sws_scale function from the renderer to the packet decoder. And I left the udp packet reader thread alone.

    In the meantime I’ve also changed the packet reader thread and the packet decoder threads priority to real-time. Since doing that I don’t get shed loads of dropped packets.