Recherche avancée

Médias (0)

Mot : - Tags -/api

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (96)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

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

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (5594)

  • Using ImageMagick to efficiently stitch together a line scan image

    2 octobre 2018, par rkantos

    I’m looking for alternatives for line scan cameras to be used in sports timing, or rather in the part where placing needs to be figured out. I found that common industrial cameras can readily match the speed of commercial camera solutions at >1000 frames per second. For my needs, usually the timing accuracy is not important, but the relative placing of athletes. I figured I could use one of the cheapest Basler, IDS or any other area scan industrial cameras for this purpose. Of course there are line scan cameras that can do a lot more than a few thousand fps (or hz), but it is possible to get area scan cameras that can do the required 1000-3000fps for less than 500€.

    My holy grail would of course be the near-real time image composition capabilities of FinishLynx (or any other line scan system), basically this part : https://youtu.be/7CWZvFcwSEk?t=23s

    The whole process I was thinking for my alternative is :

    • Use Basler Pylon Viewer (or other software) to record 2px wide images at the camera’s fastest read speed. For the camera I am
      currently using it means it has to be turned on it’s side and the
      height needs to be reduced, since it is the only way it will read
      1920x2px frames @ >250fps
    • Make a program or batch script that then stitches these 1920x2px frames together to, for example one second of recording 1000*1920x2px
      frames, meaning a resulting image with a resolution of 1920x2000px
      (Horizontal x Vertical).
    • Finally using the same program or another way, just rotate the image so it reflects how the camera is positioned, thus achieving an image
      with a resolution of 2000x1920px (again Horizontal x Vertical)
    • Open the image in an analyzing program (currently ImageJ) to quickly analyze results

    I am no programmer, but this is what I was able to put together just using batch scripts, with the help of stackoverflow of course.

    • Currently recording a whole 10 seconds for example to disk as a raw/mjpeg(avi/mkv) stream can be done in real time.
    • Recording individual frames as TIFF or BMP, or using FFMPEG to save them as PNG or JPG takes 20-60 seconds The appending and rotation
      then takes a further 45-60 seconds
      This all needs to be achieved in less than 60 seconds for 10 seconds of footage(1000-3000fps @ 10s = 10000-30000 frames) , thus why I need something faster.

    I was able to figure out how to be pretty efficient with ImageMagick :

    magick convert -limit file 16384 -limit memory 8GiB -interlace Plane -quality 85 -append +rotate 270 “%folder%\Basler*.Tiff” “%out%”

    #%out% has a .jpg -filename that is dynamically made from folder name and number of frames.

    This command works and gets me 10000 frames encoded in about 30 seconds on a i5-2520m (most of the processing seems to be using only one thread though, since it is working at 25% cpu usage). This is the resulting image : https://i.imgur.com/OD4RqL7.jpg (19686x1928px)

    However since recording to TIFF frames using Basler’s Pylon Viewer takes just that much longer than recording an MJPEG video stream, I would like to use the MJPEG (avi/mkv) file as a source for the appending. I noticed FFMPEG has “image2pipe” -command, which should be able to directly give images to ImageMagick. I was not able to get this working though :

      $ ffmpeg.exe -threads 4 -y -i "Basler acA1920-155uc (21644989)_20180930_043754312.avi" -f image2pipe - | convert - -interlace Plane -quality 85 -append +rotate 270 "%out%" >> log.txt
       ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
         built with gcc 7.2.0 (GCC)
         configuration: –enable-gpl –enable-version3 –enable-sdl2 –enable-bzlib –enable-fontconfig –enable-gnutls –enable-iconv –enable-libass –enable-libbluray –enable-libfreetype –enable-libmp3lame –enable-libopenjpeg –enable-libopus –enable-libshine –enable-libsnappy –enable-libsoxr –enable-libtheora –enable-libtwolame –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxml2 –enable-libzimg –enable-lzma –enable-zlib –enable-gmp –enable-libvidstab –enable-libvorbis –enable-cuda –enable-cuvid –enable-d3d11va –enable-nvenc –enable-dxva2 –enable-avisynth –enable-libmfx
         libavutil      55. 78.100 / 55. 78.100
         libavcodec     57.107.100 / 57.107.100
         libavformat    57. 83.100 / 57. 83.100
         libavdevice    57. 10.100 / 57. 10.100
         libavfilter     6.107.100 /  6.107.100
         libswscale      4.  8.100 /  4.  8.100
         libswresample   2.  9.100 /  2.  9.100
         libpostproc    54.  7.100 / 54.  7.100
       Invalid Parameter - -interlace
       [mjpeg @ 000000000046b0a0] EOI missing, emulating
       Input #0, avi, from 'Basler acA1920-155uc (21644989)_20180930_043754312.avi’:
         Duration: 00:00:50.02, start: 0.000000, bitrate: 1356 kb/s
           Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 1920x2, 1318 kb/s, 200 fps, 200 tbr, 200 tbn, 200 tbc
       Stream mapping:
         Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
       Press [q] to stop, [?] for help
       Output #0, image2pipe, to ‘pipe:’:
         Metadata:
           encoder         : Lavf57.83.100
           Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x2, q=2-31, 200 kb/s, 200 fps, 200 tbn, 200 tbc
           Metadata:
             encoder         : Lavc57.107.100 mjpeg
           Side data:
             cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
       av_interleaved_write_frame(): Invalid argument
       Error writing trailer of pipe:: Invalid argument
       frame=    1 fps=0.0 q=1.6 Lsize=       0kB time=00:00:00.01 bitrate= 358.4kbits/s speed=0.625x
       video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
       Conversion failed!

    If I go a bit higher for the height, I no longer get the “[mjpeg @ 000000000046b0a0] EOI missing, emulating” -error. However the whole thing will only work with <2px high/wide footage.

    edit : Oh yes, I can also use ffmpeg -i file.mpg -r 1/1 $filename%03d.bmp or ffmpeg -i file.mpg $filename%03d.bmp to extract all the frames from the MJPEG/RAW stream. However this is an extra step I do not want to take. (just deleting a folder of 30000 jpgs takes 2 minutes alone…)

    Can someone think of a working solution for the piping method or a totally different alternative way of handling this ?

  • How to detect a common section in a set of videos with ffmpeg [on hold]

    7 août 2019, par Hans J

    I have a set of videos that are assumed to contain common (or very similar) sections. I want to be able to detect (with FFmpeg) how long each common section is, and where the sections are in each individual video.

    An individual section can have multiple scene changes, and is continuous. A common section would also be assumed to be longer than 10 seconds (This is an arbitrary choice, it can be changed).

    The final output of the command would include the various time-codes of the instance of each section in each video. Assuming a timebase 1/1, with 1 common section that is 60 seconds long, an output would along the lines of :

    Video1.mp4 0 60
    Video2.mp4 120 180
    Video3.mp4 50 110
    Video4.mp4 null

    where video1, video2, video3, and video4 are the input videos. In this case, video4 does not contain a common section.

    For example, I could have three episodes of a TV show. They all contain the same commercial. Without knowing what that commercial is, I want to be able to find where that commercial shows up in each of the episodes. Ideally the function would detect additional common commercials as well.

    Edit : Another example would be removing the intro sequence in all three episodes.

    Note : For the purpose of a good solution, the common sections do not have to exactly match. Because there could be artifacts or embedded subtitles in one episode and not the other.

  • How to detect a common scene in a set of videos with ffmpeg

    6 août 2019, par Hans J

    I have a set of videos that are assumed to contain a common (or very similar) scene. I want to be able to detect (with FFmpeg) what that common scene is, how long the scene is, and where the scene is in each individual video.

    The scene would be assumed to be longer than 10 seconds (This is an arbitrary choice, it can be changed).

    The final output of the command would include the various time-codes of the instance of the scene in each video. Assuming a timebase 1/1, with a common scene that is 60 seconds long, an output would along the lines of :

    Video1.mp4 0 60
    Video2.mp4 120 180
    Video3.mp4 50 110
    Video4.mp4 null

    where video4 does not contain any common scene.

    For example, I could have three episodes of a TV show. They all contain the same commercial. Without knowing what that commercial is, I want to be able to find where that commercial shows up in each of the episodes.

    Note : For the purpose of a good solution, the common scenes do not have to exactly match. Because there could be artifacts or embedded subtitles in one episode and not the other.