Recherche avancée

Médias (91)

Autres articles (106)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (10017)

  • avcodec/eatgv : Check remaining size after the keyframe header

    28 juillet 2019, par Michael Niedermayer
    avcodec/eatgv : Check remaining size after the keyframe header
    

    The minimal size which unpack() will not fail on is 5 bytes
    Fixes : Timeout (14sec -> 77ms) (testcase 15508)
    Fixes : 15508/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EATGV_fuzzer-5700053513011200
    Fixes : 15996/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EATGV_fuzzer-5751353223151616

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/eatgv.c
  • Pipe numpy array to virtual video device

    16 mars 2021, par sre

    I want to pipe images to a virtual video device (e.g. /dev/video0), the images are created inside a loop with the desired frame rate.

    &#xA;

    In this minimal example i only two arrays which alternate in the cv2 window. Now i look for a good solution to pipe the arrays to the virtual device.

    &#xA;

    I saw that ffmpeg-python can run asynchronous with ffmpeg.run_async(), but so far i could not make anything work with this package.

    &#xA;

    example code without the ffmpeg stuff :

    &#xA;

    #!/usr/bin/env python3&#xA;&#xA;import cv2&#xA;import numpy as np&#xA;import time&#xA;&#xA;window_name = &#x27;virtual-camera&#x27;&#xA;cv2.namedWindow(window_name, cv2.WINDOW_GUI_EXPANDED)&#xA;&#xA;img1 = np.random.uniform(0, 255, (1080, 1440, 3)).astype(&#x27;uint8&#x27;)&#xA;img2 = np.random.uniform(0, 255, (1080, 1440, 3)).astype(&#x27;uint8&#x27;)&#xA;&#xA;for i in range(125):&#xA;    time.sleep(0.04)&#xA;    if i % 2:&#xA;        img = img1&#xA;    else:&#xA;        img = img2&#xA;    cv2.imshow(window_name, img)&#xA;    cv2.waitKey(1)&#xA;cv2.destroyAllWindows()&#xA;

    &#xA;

  • FFmpeg uses too much memory when repeating split, select, overlay

    13 novembre 2020, par finefoot

    I'm running

    &#xA;

    ffmpeg -i input.mp4 -filter_complex_script script.txt output.mp4&#xA;

    &#xA;

    with the following minimal example script :

    &#xA;

    split[tmp],&#xA;select=&#x27;between(t,1,2)&#x27;,&#xA;select=&#x27;between(n,0,1)&#x27;,&#xA;[tmp]overlay=enable=&#x27;between(t,1,2)&#x27;:eof_action=repeat,&#xA;split[tmp],&#xA;select=&#x27;between(t,3,4)&#x27;,&#xA;select=&#x27;between(n,0,1)&#x27;,&#xA;[tmp]overlay=enable=&#x27;between(t,3,4)&#x27;:eof_action=repeat&#xA;

    &#xA;

    What I want to do is to take 1 frame at a certain position and repeat it for a certain duration, basically "pausing" the video, while overwriting to keep the same output length. In the example, I'm doing this twice : I'm using split[tmp] to get a second input stream to work on, select the time at position 00:01 with select=&#x27;between(t,1,2)&#x27;, select the first frame from that position with select=&#x27;between(n,0,1)&#x27; and finally overlay that frame over the input. This repeats for a second time at position 00:03. I have tested this and it does exactly what I'm looking for.

    &#xA;

    However, in my real script, I'm repeating this about 1000 times for different positions in the stream (and for shorter durations than 1 second) which results in running out of memory. What am I doing wrong ? What can I do to optimize ?

    &#xA;