Recherche avancée

Médias (91)

Autres articles (44)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

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

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5144)

  • RNFFMpeg.executeAsync : Unable to create gif of a video with space(s) in it's source path

    7 juillet 2021, par STBox

    Unable to make gif of a video which has space(s) in it's source directory. All the other video which don't have space(s), their gif is making fine. I had a video whose folder name had space and it was not making gif for it. I copied the same video to a folder without space in it's name, and it made gif for it successfully. Even if I replace the the space with source path with anything like %20 etc, then it says

    


    


    No such file or directory

    


    


    Code snippet

    


    

    

    RNFFmpeg.executeAsync(
          `-i ${source} -ss ${start} -t ${gifDuration}  -vf "fps=5,scale=160:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 ${destination}`, (completedExecution) => {
            if (completedExecution.returnCode === 0) {
              resolve({ path: destination });
            } else {
              resolve({ error: "invalid Gif" });  // always this part executes for videos with space in their source path
            }
          }
        );

    


    


    



    Expected behavior

    


    Regardless a video has or has not a space in it's path, it should make gif correctly and

    


    


    completedExecution.returnCode

    


    


    should be 0

    


    Current behavior
Currently, for all the videos having space in their source path, completedExecution.returnCode is always 1

    


    Logs of the same video without space in folder name

    


    


    [Wed Jul 07 2021 12:23:56.377] LOG file :///storage/emulated/0/AirDroid/VID-20210620-WA0024.mp4 [Wed Jul

    


    


    


    07 2021 12:23:56.511] LOG [Parsed_palettegen_3 @ 0x7d62eb5ec0] 255(+1) colors generated out of 249823 colors ; ratio=0.001021 [Wed Jul 07 2021 12:23:56.672] LOG video:48kB audio:0kB subtitle:0kB other streams:0kB

    


    


    


    global headers:0kB muxing overhead : [Wed Jul 07 2021 12:23:56.673] LOG

    


    


    


    0.041083% [Wed Jul 07 2021 12:23:56.722] LOG "path" : "/data/user/0/com.tbox.pantry/cache/1625642625930.gif"

    


    


    Logs of the same video with space in folder name

    


    


    [Wed Jul 07 2021 12:20:45.577] LOG

    


    


    


    file :///storage/emulated/0/FMWhatsApp/Media/FMWhatsApp

    


    


    


    Video/VID-20210620-WA0024.mp4 [Wed Jul 07 2021 12:20:45.998] LOG

    


    


    


    file :///storage/emulated/0/FMWhatsApp/Media/FMWhatsApp : No such file

    


    


    


    or directory [Wed Jul 07 2021 12:20:45.998] LOG Conversion failed !

    


    


    


    [Wed Jul 07 2021 12:20:45.999] LOG "error" : "invalid Gif"

    


    


    Environment

    


    "react" : "16.13.1",
"react-native" : "^0.63.3",
"react-native-ffmpeg" : "0.5.1",
Android 11

    


  • Can't use OpenCV to decode video on GPU with cv2.CAP_FFMPEG

    19 juillet 2021, par Reza

    I'm trying to get all frames of list of videos(lots of .mp4 videos) using OpenCV. In order to speed up the process I was thinking may be I can use FFMPEG with Nvidia Video Codec SDK to use hardware-accelerated decoding(I have T4 cards on my machine). My code is something like this :

    


    import os
os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"]="video_codec;h264_cuvid"
import cv2

ret = cv2.VideoCapture("input.mp4", cv2.CAP_FFMPEG)
while True:
    x, y = ret.read()
    if x:
        continue
    break


    


    but I get these errors when I run my script.

    


    [ERROR:0] global /tmp/pip-req-build-afu9cjzs/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (1086) open Could not find decoder 'h264_cuvid'
[ERROR:0] global /tmp/pip-req-build-afu9cjzs/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (1109) open VIDEOIO/FFMPEG: Failed to initialize VideoCapture


    


    My ffmpeg configs, ffmpeg :

    


    ffmpeg version N-102965-gf531a1a4e8 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --enable-nonfree --enable-cuda --enable-cuvid --enable-nvdec --enable-cuda-nvcc --enable-nvenc --enable-libnpp --enable-shared --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  3.101 / 59.  3.101
  libavformat    59.  4.100 / 59.  4.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.103 /  8.  0.103
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
Hyper fast Audio and Video encoder


    


    and ffmpeg -hwaccels :

    


    ffmpeg version N-102965-gf531a1a4e8 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --enable-nonfree --enable-cuda --enable-cuvid --enable-nvdec --enable-cuda-nvcc --enable-nvenc --enable-libnpp --enable-shared --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  3.101 / 59.  3.101
  libavformat    59.  4.100 / 59.  4.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.103 /  8.  0.103
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
Hardware acceleration methods:
cuda


    


    OpenCV version opencv-python==4.5.3.56

    


  • Anomalie #4830 : extraire_date extravagant

    6 juillet 2021

    Pourquoi pas. Je te propose (ou quelqu’un) de faire une PR pour ça.
    Il faudrait ajouter en même temps des tests unitaires parce que bon.
    Ci dessous un code valide qui fait la demande.

    Ce qui me gène tout de même c’est le [^0-9]* dans la regex (déjà présente dans l’ancienne fonction) qui du coup peut chercher une date coupée dans un grand texte…
    Tel que : "En 2012 à l’orée du bois se trouvait 10 chevaux et 4 biches.", qui sort la date "2012-10-04" (ou 2012-10-01 avant cette proposition).
    Donc l’usage est possiblement assez limité de cette fonction si laissée telle quelle.

    1. <span class="CodeRay">
    2. <span class="comment">/**
    3.  * Extrait une date d'un texte et renvoie le résultat au format de date SQL
    4.  *
    5.  * L'année et le mois doivent être numériques.
    6.  * Le séparateur entre l'année et le mois peut être un `-`, un `:` ou un texte
    7.  * quelconque ne contenant pas de chiffres.
    8.  *
    9.  * Si un numéro de jour valide n'est pas indiqué, le résultat est alors le 1er du mois.
    10.  *
    11.  * @link https://www.spip.net/5516
    12.  * @param string $texte
    13.  *    Texte contenant une date tel que `2008-04`
    14.  * @return string
    15.  *    Date au format SQL tel que `2008-04-01`
    16.  **/</span>
    17. <span class="keyword">function</span> <span class="function">extraire_date</span>(<span class="local-variable">$texte</span>) {
    18.     <span class="comment">// format = 2001-08-12 ou 2001-08</span>
    19.     <span class="local-variable">$has_date</span> = <span class="predefined">preg_match</span>(
    20.         <span class="string"><span class="delimiter">"</span><span class="content">,
    21.        # une annee
    22.        (?P<annee>[1-2][0-9]</annee></span><span class="content">{</span><span class="content">3})
    23.        # des caracteres sans numeros
    24.        [^0-9]*
    25.        # un mois
    26.        (?P<mois>1[0-2]|0?[1-9])
    27.        (?:
    28.            # des caracteres sans numeros
    29.            [^0-9]*
    30.            # un jour
    31.            (?P<jour>3[0-1]|[1-2][0-9]|0?[1-9])
    32.        )?
    33.        ,x</jour></mois></span><span class="delimiter">"</span></span>,
    34.         <span class="local-variable">$texte</span>,
    35.         <span class="local-variable">$regs</span>
    36.     );
    37.     <span class="keyword">if</span> (<span class="local-variable">$has_date</span>) {
    38.         <span class="local-variable">$date</span> = [
    39.             <span class="local-variable">$regs</span>[<span class="string"><span class="delimiter">"</span><span class="content">annee</span><span class="delimiter">"</span></span>],
    40.             <span class="predefined">sprintf</span>(<span class="string"><span class="delimiter">"</span><span class="content">%02d</span><span class="delimiter">"</span></span>, <span class="local-variable">$regs</span>[<span class="string"><span class="delimiter">"</span><span class="content">mois</span><span class="delimiter">"</span></span>]),
    41.             <span class="predefined">sprintf</span>(<span class="string"><span class="delimiter">"</span><span class="content">%02d</span><span class="delimiter">"</span></span>, <span class="local-variable">$regs</span>[<span class="string"><span class="delimiter">"</span><span class="content">jour</span><span class="delimiter">"</span></span>] ?? <span class="string"><span class="delimiter">"</span><span class="content">01</span><span class="delimiter">"</span></span>)
    42.         ];
    43.         <span class="keyword">return</span> <span class="predefined">implode</span>(<span class="string"><span class="delimiter">"</span><span class="content">-</span><span class="delimiter">"</span></span>, <span class="local-variable">$date</span>);
    44.     }
    45. }
    46. </span>

    Télécharger


    #SQUELETTE

    #SET{liste,#LISTE{
       "Une date 2020 01",
       "Une date 2020 12 autre",
       "Une date 2020 autre 12 autre",
       "Une date 2021 12 01",
       "Une date 2021 12 00",
       "Une date 2021 12 31",
       "Une date 2021 12 32",
       "Une date 2021 autre 12 date 21",
       "En 2012 à l’orée du bois se trouvait 10 chevaux et 4 biches."
    }}

    <dl>

    <dt>#VALEUR</dt>
    <dd>[(#VALEUR|extraire_date)]</dd>

    </dl>

    Sortie :

    1. Une date 2020 01
    2.     2020-01-01
    3. Une date 2020 12 autre
    4.     2020-12-01
    5. Une date 2020 autre 12 autre
    6.     2020-12-01
    7. Une date 2021 12 01
    8.     2021-12-01
    9. Une date 2021 12 00
    10.     2021-12-01
    11. Une date 2021 12 31
    12.     2021-12-31
    13. Une date 2021 12 32
    14.     2021-12-03
    15. Une date 2021 autre 12 date 21
    16.     2021-12-21
    17. En 2012 à l’orée du bois se trouvait 10 chevaux et 4 biches.
    18.     2012-10-04

    Télécharger