Recherche avancée

Médias (3)

Mot : - Tags -/collection

Autres articles (47)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (10765)

  • libavcodec/mpeg12dec : append CC data to a53_buf_ref

    14 décembre 2024, par Scott Theisen
    libavcodec/mpeg12dec : append CC data to a53_buf_ref
    

    In mpeg_decode_a53_cc() only the A/53 part 4 CC data ("GA94") is saved between
    frames. The other formats incorrectly created a larger buffer than they use
    since a705bcd763e344fac191e157ffeddc285388b7fa because they did not append to
    the previous data.

    The a53_buf_ref is added to the frame in mpeg_field_start() which will only be
    called in decode_chunks() if not all of the picture data slices are skipped.

    For these formats, utilize the data added to the buffer in case frames are skipped
    (concatenating the CC data until a frame can be exported), in a similar fashion to
    the A/53 part 4 logic.

    Reviewed-by : Marth64 <marth64@proxyid.net>
    Signed-off-by : Marth64 <marth64@proxyid.net>

    • [DH] libavcodec/mpeg12dec.c
  • avcodec/mpegvideo : Remove pblocks

    28 avril 2024, par Andreas Rheinhardt
    avcodec/mpegvideo : Remove pblocks
    

    It has been added in a579db0c4fe026d49c71d1ff64a2d1d07c152d68
    due to XvMC, but today it is only used to swap U and V
    for VCR2, a MPEG-2 variant with U and V swapped.
    This can be done in a simpler fashion, namely by simply
    swapping the U and V pointers of the corresponding
    MPVWorkPictures.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/mpeg12dec.c
    • [DH] libavcodec/mpegvideo.c
    • [DH] libavcodec/mpegvideo.h
  • Pipe video frames from ffmpeg to canvas without loading the entire video into memory

    1er janvier 2024, par Aviato

    I am working on a project that involves frame manipulation and I decided to choose node canvas API for that. I used to work with OpenCV Python and there was a cv2.VideoCapture class that takes a video as input and prepares to read the frames of the video and we can loop through the frames one at a time without having to load all the frames at once in memory.&#xA;Now I tried a lot of ways to replicate the same using ffmpeg, i.e. trying to load frames from a video in an ordered, but "on-demand," fashion.

    &#xA;

    I tried using ffmpeg as a child process to process frames and standout the frames.

    &#xA;

    const spawnProcess = require(&#x27;child_process&#x27;).spawn,&#xA;    ffmpeg = spawnProcess(&#x27;ffmpeg&#x27;, [&#xA;        &#x27;-i&#x27;, &#x27;test.mp4&#x27;,&#xA;        &#x27;-vcodec&#x27;, &#x27;png&#x27;,&#xA;        &#x27;-f&#x27;, &#x27;rawvideo&#x27;,&#xA;        &#x27;-s&#x27;, &#x27;1920*1080&#x27;, // size of one frame&#xA;        &#x27;pipe:1&#x27;&#xA;    ]);&#xA;ffmpeg.stdout.on(&#x27;data&#x27;, (data) => {&#xA;    try {&#xA;        // console.log(tf.node.decodeImage(data).shape)&#xA;        console.log(`${&#x2B;&#x2B;i} frames read`)&#xA;        //context.drawImage(data, 0, 0, width, height)&#xA;        &#xA;        &#xA;    } catch(e) {&#xA;        console.log(e)&#xA;    } &#xA;})&#xA;

    &#xA;

    The value in the console shows something around 4000 + console logs, but the video only had 150 frames, after much investigating and console logging the data, I found that was buffer data, and it's not processing it for each frame. The on-data function returns the buffer data in an unstructured way&#xA;I want to read frames from a video and process each one at a time in memory, I don't want to hold all the frames at once in memory or in the filesystem.

    &#xA;

    enter image description here

    &#xA;

    I also want to pipe the frames in a format that could be rendered on top of a canvas using drawImage

    &#xA;