Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (54)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (5019)

  • FFMPEG Motion Compensation and Search

    20 juin 2016, par Tina Jasmin

    I’m trying to modify the motion detection part of FFMPEG. What I want to do is to extend the search space, so that whenever the macroblock hit the right most edge of the frame, I need it to still move the block towards the left-most as if they are connected (in my example videos, the right edge is actually a continue of the left edge). Can someone help me to point where exactly I can modify it within FFMPEG source code or x265, or x264 ?

    enter image description here

    I took H265 as an example from here. It has a motion.cpp file which nicely specifies the possible block sizes as below. But I can’t find the specific loop that traverses the frame. A help is highly appreciated.

    #define SETUP_SCALE(W, H) \
       sizeScale[LUMA_ ## W ## x ## H] = (H * H) >> 4;
       SETUP_SCALE(4, 4);
       SETUP_SCALE(8, 8);
       SETUP_SCALE(8, 4);
       SETUP_SCALE(4, 8);
       SETUP_SCALE(16, 16);
       SETUP_SCALE(16, 8);
       SETUP_SCALE(8, 16);
       SETUP_SCALE(16, 12);
       SETUP_SCALE(12, 16);
       SETUP_SCALE(4, 16);
       SETUP_SCALE(16, 4);
       SETUP_SCALE(32, 32);
       SETUP_SCALE(32, 16);
       SETUP_SCALE(16, 32);
       SETUP_SCALE(32, 24);
       SETUP_SCALE(24, 32);
       SETUP_SCALE(32, 8);
       SETUP_SCALE(8, 32);
       SETUP_SCALE(64, 64);
       SETUP_SCALE(64, 32);
       SETUP_SCALE(32, 64);
       SETUP_SCALE(64, 48);
       SETUP_SCALE(48, 64);
       SETUP_SCALE(64, 16);
       SETUP_SCALE(16, 64);
    #undef SETUP_SCALE

    UPDATE :

    One way to do that (in x265) is to modify the edge extension area (which is already in the code, in the frameFilter.cpp), and do that for rightmost and fill blocks with leftmost pixels. I identified the piece of code here. Can someone help me to add this feature for right-to-left extension ?

    if ((col == 0) | (col == m_frameFilter->m_numCols - 1))
       {
           // TODO: improve by process on Left or Right only
           primitives.extendRowBorder(reconPic->getLumaAddr(m_rowAddr), stride, reconPic->m_picWidth, realH, reconPic->m_lumaMarginX);

           if (m_frameFilter->m_param->internalCsp != X265_CSP_I400)
           {
               primitives.extendRowBorder(reconPic->getCbAddr(m_rowAddr), strideC, reconPic->m_picWidth >> hChromaShift, realH >> vChromaShift, reconPic->m_chromaMarginX);
               primitives.extendRowBorder(reconPic->getCrAddr(m_rowAddr), strideC, reconPic->m_picWidth >> hChromaShift, realH >> vChromaShift, reconPic->m_chromaMarginX);
           }
       }

       // Extra Left and Right border on first and last CU
       if ((col == 0) | (col == m_frameFilter->m_numCols - 1))
       {
           copySizeY += lumaMarginX;
           copySizeC += chromaMarginX;
       }

       // First column need extension left padding area and first CU
       if (col == 0)
       {
           pixY -= lumaMarginX;
           pixU -= chromaMarginX;
           pixV -= chromaMarginX;
       }
  • Texai Remote Presence System Using VP8 Video

    19 novembre 2010, par noreply@blogger.com (John Luther)

    Guest blogger Josh Tyler is a member of the Texai team at Willow Garage.

    Willow Garage is busy building the next version of its Texai remote presence platform with VP8, the video codec used in WebM.

    In short, Texai is a two-way videoconferencing app on a tele-operated robotic platform (for more details, see the piece about Texai in the New York Times). Video and audio quality are critical to providing the best user experience on Texai. We’ve evaluated several video codecs and found VP8’s image quality, low latency and tolerance to packet loss far better than anything else we tested.

    The video below shows VP8 running on one of our systems.

    (If you have a WebM-enabled browser and are enrolled in the YouTube HTML5 beta the video will play in WebM HTML5, otherwise it will play in Flash Player.)

    We’re also looking for help ! If you’re interested in helping us create an incredible, high-fidelity user experience, either by joining our team, partnering on development, or by being added to our early customer interest list, please email us at texai-info@willowgarage.com.

  • Play Raspberry Pi h264 stream in C# app

    29 octobre 2016, par CoreMeltdown

    I have a Raspberry Pi board with dedicated camera that records video only in h264. I am looking for the best method to stream and play recorded video in real-time (as in, less than 1 sec delay) in c# windows forms app. The additional requirement is that such stream can be easily processed before displaying, for example for searching for objects on the image.

    Stuff I tried :

    - VLC server on raspi and VLC control in c# forms app <- simple solution, with RTSP, but has a serious flaw, which is a 3sec delay in image displayed. I couldn’t fix it with buffor size/options etc.

    - creating a socket on raspi with nc, receiving raw h264 data in c# and passing it to mplayer frontend <- If I simply start raspivid | nc and on the laptop nc | mplayer, i get exactly the results i want, the video i get is pretty much realtime, but the problem arises when i try to create mplayer frontend in c# and simulate the nc.exe. Maybe I’m passing the h264 data wrong (simply write them to stdin) or maybe something else.

    - using https://github.com/cisco/openh264 <- I compiled everything, but i can’t even get to decode sample vid.h264 i recorded on raspi with h264dec.exe, not to mention using it in c#.

    h264dec.exe vid.h264 out.yuv

    This produces 0bytes out.yuv file, while :

    h264dec.exe  vid.h264

    Gives me error message : "No input file specified in configuration file."

    - ffmpeg <- I implemented ffplay.exe playback in c# app but the lack of easy method to take screencaps etc. discouraged me to further investigate and develop.

    I’m not even sure whether I’m properly approaching the subject, so I’d be really thankful for every piece of advice I can get.

    EDIT
    Here is my ’working’ solution I am trying to implement in c#

    raspivid --width 400 --height 300 -t 9999999 --framerate 25 --output - | nc -l 5884

    nc ip_addr 5884 | mplayer -nosound -fps 100 -demuxer +h264es -cache 1024 -

    The key here is FPS 100, becuase then mplayer skips lag and plays the video it immediately receives with normal speed.
    The issue here is that I don’t know how to pass video data from socket into mplayer via c#, because I guess it is not done via stdin (already tried that).