Recherche avancée

Médias (91)

Autres articles (45)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (9602)

  • Perspective transformations

    9 juin 2010, par Mikko Koppanen — Imagick, PHP stuff

    Finally (after a long break) I managed to force myself to update the PHP documentation and this time it was distortImage code example. Things have been hectic lately but that does not quite explain the 6 months(?) break between this and the previous post. As a matter of a fact there is no excuse for such a long silence so I will try to update this blog a bit more often from now on.

    Back in the day I used to blog the examples and update the documentation if I remembered but I am trying to fix this bad habit. Most of the latest examples have been updated in to the manual. In the case of the two last examples I updated the documentation first and then blogged on the subject.

    I took some time to actually understand the perspective transformations properly using the excellent ImageMagick examples (mainly created by Anthony Thyssen) as a reference. The basic idea of perspective distortion seems simple : to distort the control points to new locations. Grabbing the syntax for Imagick was easy, an array of control point pairs in the form of :

    1. array(source_x, source_y, dest_x, dest_y ... )

    The following example uses the built-in checkerboard pattern to demonstrate perspective distortion :

    1. < ?php
    2. /* Create new object */
    3. $im = new Imagick() ;
    4.  
    5. /* Create new checkerboard pattern */
    6. $im->newPseudoImage(100, 100, "pattern:checkerboard") ;
    7.  
    8. /* Set the image format to png */
    9. $im->setImageFormat(’png’) ;
    10.  
    11. /* Fill background area with transparent */
    12. $im->setImageVirtualPixelMethod(Imagick: :VIRTUALPIXELMETHOD_TRANSPARENT) ;
    13.  
    14. /* Activate matte */
    15. $im->setImageMatte(true) ;
    16.  
    17. /* Control points for the distortion */
    18. $controlPoints = array( 10, 10,
    19.             10, 5,
    20.  
    21.             10, $im->getImageHeight() - 20,
    22.             10, $im->getImageHeight() - 5,
    23.  
    24.             $im->getImageWidth() - 10, 10,
    25.             $im->getImageWidth() - 10, 20,
    26.  
    27.             $im->getImageWidth() - 10, $im->getImageHeight() - 10,
    28.             $im->getImageWidth() - 10, $im->getImageHeight() - 30) ;
    29.  
    30. /* Perform the distortion */ 
    31. $im->distortImage(Imagick: :DISTORTION_PERSPECTIVE, $controlPoints, true) ;
    32.  
    33. /* Ouput the image */ 
    34. header("Content-Type : image/png") ;
    35. echo $im ;
    36.  ?>

    Here is the source image :
    checker before

    And the result :
    after

  • Perspective transformations

    4 février 2009, par Mikko Koppanen — Imagick, PHP stuff

    Finally (after a long break) I managed to force myself to update the PHP documentation and this time it was distortImage code example. Things have been hectic lately but that does not quite explain the 6 months(?) break between this and the previous post. As a matter of a fact there is no excuse for such a long silence so I will try to update this blog a bit more often from now on.

    Back in the day I used to blog the examples and update the documentation if I remembered but I am trying to fix this bad habit. Most of the latest examples have been updated in to the manual. In the case of the two last examples I updated the documentation first and then blogged on the subject.

    I took some time to actually understand the perspective transformations properly using the excellent ImageMagick examples (mainly created by Anthony Thyssen) as a reference. The basic idea of perspective distortion seems simple : to distort the control points to new locations. Grabbing the syntax for Imagick was easy, an array of control point pairs in the form of :

    1. array(source_x, source_y, dest_x, dest_y ... )

    The following example uses the built-in checkerboard pattern to demonstrate perspective distortion :

    1. < ?php
    2. /* Create new object */
    3. $im = new Imagick() ;
    4.  
    5. /* Create new checkerboard pattern */
    6. $im->newPseudoImage(100, 100, "pattern:checkerboard") ;
    7.  
    8. /* Set the image format to png */
    9. $im->setImageFormat(’png’) ;
    10.  
    11. /* Fill background area with transparent */
    12. $im->setImageVirtualPixelMethod(Imagick: :VIRTUALPIXELMETHOD_TRANSPARENT) ;
    13.  
    14. /* Activate matte */
    15. $im->setImageMatte(true) ;
    16.  
    17. /* Control points for the distortion */
    18. $controlPoints = array( 10, 10,
    19.             10, 5,
    20.  
    21.             10, $im->getImageHeight() - 20,
    22.             10, $im->getImageHeight() - 5,
    23.  
    24.             $im->getImageWidth() - 10, 10,
    25.             $im->getImageWidth() - 10, 20,
    26.  
    27.             $im->getImageWidth() - 10, $im->getImageHeight() - 10,
    28.             $im->getImageWidth() - 10, $im->getImageHeight() - 30) ;
    29.  
    30. /* Perform the distortion */ 
    31. $im->distortImage(Imagick: :DISTORTION_PERSPECTIVE, $controlPoints, true) ;
    32.  
    33. /* Ouput the image */ 
    34. header("Content-Type : image/png") ;
    35. echo $im ;
    36.  ?>

    Here is the source image :
    checker before

    And the result :
    after

  • Read a text file line-by-line (each line as an array), run bash command with array elements, then loop to the next line in the text file

    10 janvier, par xiaohouzi

    I'm using immich to manage my media library with photos and videos but appropriate video thumbnails are black or do not have an appropriate thumbnails for my family to view. As a test, I decided to manually recreate the thumbnails and then update appropriate thumbs files in the exact directory ; replacing the auto-generated ones by Immich using ffmpeg. The following script works fine but one by one will take forever.

    &#xA;

    #!/bin/bash&#xA;file=(formula1 "aust_gp_00&#x27;23&#x27;41_2022_1858658849.mp4" f2dfse3-34gd-23ff-6hdd-p3h4kk/a3/10/a399-dj88-ah29 00:00:30.000)&#xA;&#xA;# create jpeg &#x2B; webp and replace existing&#xA;sudo ffmpeg -i /mnt/f1/"${file[0]}"/"${file[1]}" -ss "${file[3]}" -frames:v 1 /immich/app/thumbs/"${file[2]}"-preview.jpeg -y \&#xA;&amp;&amp; \&#xA;sudo ffmpeg -i /mnt/f1/"${file[0]}"/"${file[1]}" -ss "${file[3]}" -frames:v 1 /immich/app/thumbs/"${file[2]}"-thumbnail.webp -y&#xA;

    &#xA;

    My goal is to put all the needed files in a text file use "readarry" to read each line as an array, use the appropriate index and then repeat for the next line. This is where I am stuck. How could I loop through each line where each line is a new file, keep the same indexes, and repeat ? Anyone familiar with how to accomplish this or if there is a better way using bash ? I was hoping to only use bash instead of python.

    &#xA;

    For example...

    &#xA;

    #files.txt&#xA;file=(formula1 "aust_gp_00&#x27;23&#x27;41_2022.mp4" f2dfse3-34gd-23ff-6hdd-p3h4kk/a3/10/a399-dj88-ah29 00:00:30.000)&#xA;file=(formula1 "belg_gp_00&#x27;13&#x27;31_2022.mp4" f2dfse3-34gd-23ff-6hdd-p3h4kk/q4/6/mhf-846d-zpyf 00:00:30.000)&#xA;file=(formula1 "melb_gp_00&#x27;05&#x27;11_2022.mp4" f2dfse3-34gd-23ff-6hdd-p3h4kk/b9/2/q3dd-0988-vr2t 00:00:30.000)&#xA;&#xA;

    &#xA;

    # genthumb.sh&#xA;#!/bin/bash&#xA;readarray -t lines &lt; files.txt &amp;&amp;&#xA;  for line in "${!lines[@]}"; do&#xA;    sudo ffmpeg -i /mnt/f1/"${lines[0]}"/"${lines[1]}" -ss "${lines[3]}" -frames:v 1 /immich/app/thumbs/"${lines[2]}"-preview.jpeg -y \&#xA;    &amp;&amp; \&#xA;    sudo ffmpeg -i /mnt/f1/"${file[0]}"/"${file[1]}" -ss "${file[3]}" -frames:v 1 /immich/app/thumbs/"${file[2]}"-thumbnail.webp -y&#xA;  done&#xA;

    &#xA;