Recherche avancée

Médias (91)

Autres articles (77)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

  • Diogene : création de masques spécifiques de formulaires d’édition de contenus

    26 octobre 2010, par

    Diogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
    A quoi sert ce plugin
    Création de masques de formulaires
    Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
    Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...)

Sur d’autres sites (7237)

  • Convert a video with content type video/quicktime to video/mp4 using ffmpeg

    25 juin 2021, par schub

    I have a strange problem. I start with a video file recored with an iPhone. The output is video.mov. I convert this to mp4 using ffmpeg :

    


    ffmpeg -i video.mov -vcodec h264 -acodec aac video.mp4

    


    If I use a tool like exiftool to show the metadata the output for content-type is video/mp4 all seems to be correct. But my backend, which receives the video, uses a library called Apache Tika to extract the content type and the result here is : video/quicktime.

    


    Scala code to retrieve the content type from the file :

    


    // byteArray: Array[Byte]

val tika        = new TikaConfig()
val metadata    = new Metadata()
val contentType = tika.getDetector.detect(TikaInputStream.get(byteArray), metadata)


    


    BTW : If I use a video editing program (DaVinci Resolve in my case) I can load the video, adjust settings and explicitly set the codec to mp4, export the video and then the resulting file works and Apache Tika extract the desired content-type. This is a workaround, but it does not scale and I like to automate this process via ffmpeg.

    


    I'm stuck here. Can anyone give me a hint what I can do ?

    


    Versions :

    


    tika : 1.22
    
ffmpeg : 4.4

    


    ffmpeg log :

    


    $ffmpeg -i video.mov -vcodec h264 -acodec aac video.mp4
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2021-06-24T11:19:37.000000Z
    com.apple.quicktime.location.accuracy.horizontal: 65.000000
    com.apple.quicktime.location.ISO6709: +52.5554+013.3772+042.268/
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 8
    com.apple.quicktime.software: 14.4.2
    com.apple.quicktime.creationdate: 2021-06-24T13:19:36+0200
  Duration: 00:00:09.83, start: 0.000000, bitrate: 7954 kb/s
  Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 7810 kb/s, 30.01 fps, 30 tbr, 600 tbn, 600 tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : HEVC
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 96 kb/s (default)
    Metadata:
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
  Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Metadata
  Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Metadata
  Stream #0:4(und): Data: none (mebx / 0x7862656D), 34 kb/s (default)
    Metadata:
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Metadata
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x7fbe08009400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fbe08009400] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x7fbe08009400] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'video.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    com.apple.quicktime.creationdate: 2021-06-24T13:19:36+0200
    com.apple.quicktime.location.accuracy.horizontal: 65.000000
    com.apple.quicktime.location.ISO6709: +52.5554+013.3772+042.268/
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 8
    com.apple.quicktime.software: 14.4.2
    encoder         : Lavf58.76.100
  Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1080x1920, q=2-31, 30 fps, 15360 tbn (default)
    Metadata:
      encoder         : Lavc58.134.100 libx264
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
      displaymatrix: rotation of -0.00 degrees
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      creation_time   : 2021-06-24T11:19:37.000000Z
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
      encoder         : Lavc58.134.100 aac
frame=  295 fps= 18 q=-1.0 Lsize=    9980kB time=00:00:09.82 bitrate=8323.6kbits/s speed=0.614x
video:9884kB audio:85kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.103401%
[libx264 @ 0x7fbe08009400] frame I:6     Avg QP:21.84  size: 50301
[libx264 @ 0x7fbe08009400] frame P:217   Avg QP:24.23  size: 35435
[libx264 @ 0x7fbe08009400] frame B:72    Avg QP:24.97  size: 29582
[libx264 @ 0x7fbe08009400] consecutive B-frames: 66.8%  0.7%  4.1% 28.5%
[libx264 @ 0x7fbe08009400] mb I  I16..4:  6.7% 88.9%  4.4%
[libx264 @ 0x7fbe08009400] mb P  I16..4:  4.2% 32.9%  0.5%  P16..4: 49.6%  5.0%  2.3%  0.0%  0.0%    skip: 5.5%
[libx264 @ 0x7fbe08009400] mb B  I16..4:  0.9%  6.9%  0.0%  B16..8: 51.8%  7.7%  0.8%  direct:12.2%  skip:19.6%  L0:50.1% L1:46.9% BI: 3.0%
[libx264 @ 0x7fbe08009400] 8x8 transform intra:87.7% inter:88.8%
[libx264 @ 0x7fbe08009400] coded y,uvDC,uvAC intra: 59.2% 41.2% 0.9% inter: 38.3% 57.3% 0.0%
[libx264 @ 0x7fbe08009400] i16 v,h,dc,p: 15% 23%  8% 53%
[libx264 @ 0x7fbe08009400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 14% 29%  7%  8%  7%  7%  6%  6%
[libx264 @ 0x7fbe08009400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 18% 18%  9% 11%  7%  7%  4%  3%
[libx264 @ 0x7fbe08009400] i8c dc,h,v,p: 60% 20% 18%  1%
[libx264 @ 0x7fbe08009400] Weighted P-Frames: Y:3.2% UV:2.3%
[libx264 @ 0x7fbe08009400] ref P L0: 54.2% 10.7% 22.2% 12.5%  0.4%
[libx264 @ 0x7fbe08009400] ref B L0: 75.5% 19.6%  4.9%
[libx264 @ 0x7fbe08009400] ref B L1: 88.7% 11.3%
[libx264 @ 0x7fbe08009400] kb/s:8234.01
[aac @ 0x7fbe0802e000] Qavg: 446.889


    


  • The type or namespace name 'ImageEntitiesContainer' could not be found

    10 avril 2015, par KeithJ

    I’m trying to build a C#.NET application from the source code of a solution provided here.

    I’ve already added a reference to AForge.Video.FFMPEG.dll, but I am still getting the following error :

    Error 2 The type or namespace name ’ImageEntitiesContainer’ could not
    be found (are you missing a using directive or an assembly
    reference ?) C :\WorkSpace\Visual Studio
    2013\Projects\CSharp\ImagesToVideo\Program.cs 56 40 ImagesToVideo

    I searched for this error and found a few posts, but nothing that helps. I tried changing the target framework from my default ".NET Framework 4.5" to some other frameworks : ".NET Framework 2.0", ".NET Framework 3.0", ".NET Framework 4.0", but without any success. Does anyone have any idea why I am still getting this error ?

    Here is my full source code :

    using AForge.Video.FFMPEG;
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace AForge.Video.FFMPEG
    {
    public class MovieMaker
    {

       public void Start()
       {
           var startDate = DateTime.Parse("12 Mar 2012");
           var endDate = DateTime.Parse("13 Aug 2012");

           CreateMovie(startDate, endDate);
       }


       /*THIS CODE BLOCK IS COPIED*/

       public Bitmap ToBitmap(byte[] byteArrayIn)
       {
           var ms = new System.IO.MemoryStream(byteArrayIn);
           var returnImage = System.Drawing.Image.FromStream(ms);
           var bitmap = new System.Drawing.Bitmap(returnImage);

           return bitmap;
       }

       public Bitmap ReduceBitmap(Bitmap original, int reducedWidth, int reducedHeight)
       {
           var reduced = new Bitmap(reducedWidth, reducedHeight);
           using (var dc = Graphics.FromImage(reduced))
           {
               // you might want to change properties like
               dc.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
               dc.DrawImage(original, new Rectangle(0, 0, reducedWidth, reducedHeight), new Rectangle(0, 0, original.Width, original.Height), GraphicsUnit.Pixel);
           }

           return reduced;
       }

       /*END OF COPIED CODE BLOCK*/


       private void CreateMovie(DateTime startDate, DateTime endDate)
       {
           int width = 320;
           int height = 240;
           var framRate = 200;

           using (var container = new ImageEntitiesContainer())
           {
               //a LINQ-query for getting the desired images
               var query = from d in container.ImageSet
                           where d.Date >= startDate && d.Date <= endDate
                           select d;

               // create instance of video writer
               using (var vFWriter = new VideoFileWriter())
               {
                   // create new video file
                   vFWriter.Open("nameOfMyVideoFile.avi", width, height, framRate, VideoCodec.Raw);

                   var imageEntities = query.ToList();

                   //loop throught all images in the collection
                   foreach (var imageEntity in imageEntities)
                   {
                       //what's the current image data?
                       var imageByteArray = imageEntity.Data;
                       var bmp = ToBitmap(imageByteArray);
                       var bmpReduced = ReduceBitmap(bmp, width, height);

                       vFWriter.WriteVideoFrame(bmpReduced);
                   }
                   vFWriter.Close();
               }
           }

       }
    }
    }
  • Discord.js Music bot TypeError [ERR_INVALID_ARG_TYPE] : The "file" argument must be of type string. Received type object

    21 février 2020, par Cole Perry

    I’m new to Discord.js and I’m trying to have the bot join a voice channel and play an audio file on my computer. I have been following this guide : https://discord.js.org/#/docs/main/stable/topics/voice . Here is the Index.js page :

    const Discord = require('discord.js');
    const Colesbot = new Discord.Client();

    const token = '***********************************************';



    Colesbot.on('ready', () =>{
       console.log('Slamsbot is online.');
    })

    Colesbot.on('message', msg=>{
      if(msg.content == "What up bot?"){
          msg.reply("Whats good pimp?")
      }
    });

    Colesbot.on('message', message=>{
       if (message.content === '/join') {
           // Only try to join the sender's voice channel if they are in one themselves
           if (message.member.voiceChannel) {
               message.member.voiceChannel.join().then(connection => {
                   message.reply('I have successfully connected to the channel!');

                   // To play a file, we need to give an absolute path to it
                   const dispatcher = connection.playFile('C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\Assets\Glory.mp3');

                   dispatcher.on('end', () => {
                       // The song has finished
                       console.log('Finished playing!');
                     });

                   dispatcher.on('error', e => {
                       // Catch any errors that may arise
                       console.log(e);
                     });

                     dispatcher.setVolume(0.5); // Set the volume to 50%
               }).catch(console.log);
       } else {
           message.reply('You need to join a voice channel first!');
         }
       }
    });



    //Event listener for new guild members
    Colesbot.on('guildMemberAdd', member =>{
       // Send the message to a designated channel on a server:
       const channel = member.guild.channels.find(ch => ch.name === 'general');
       // Do nothing if the channel wasn't found on this server
       if (!channel) return;
       // Send the message, mentioning the member
       channel.send(`Welcome to the server, ${member}. Please use the bot-commands channel to assign yourself a role.`);
    })

    Colesbot.login(token);



    exports.run = (client, message, args) => {

       let user = message.mentions.users.first || message.author;


    }

    FFMPEG is installed and I have set the environment path for it. When I type FFMPEG in the command line I get the proper response.

    Some have said I need to install the ffmpeg binaries but when I run npm install ffmpeg-binaries I get this error message :

    npm WARN deprecated ffmpeg-binaries@4.0.0: ffmpeg-binaries is no longer being maintained. use ffmpeg-static, or just install ffmpeg

    > lzma-native@3.0.8 install C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
    > node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build

    node-pre-gyp ERR! Tried to download(404): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
    node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@12.14.1 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
    node-pre-gyp ERR! Tried to download(undefined): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
    node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@12.14.1 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
    gyp ERR! find Python
    gyp ERR! find Python Python is not set from command line or npm configuration
    gyp ERR! find Python Python is not set from environment variable PYTHON
    gyp ERR! find Python checking if "python" can be used
    gyp ERR! find Python - "python" is not in PATH or produced an error
    gyp ERR! find Python checking if "python2" can be used
    gyp ERR! find Python - "python2" is not in PATH or produced an error
    gyp ERR! find Python checking if "python3" can be used
    gyp ERR! find Python - "python3" is not in PATH or produced an error
    gyp ERR! find Python checking if the py launcher can be used to find Python 2
    gyp ERR! find Python - "py.exe" is not in PATH or produced an error
    gyp ERR! find Python checking if Python is C:\Python27\python.exe
    gyp ERR! find Python - "C:\Python27\python.exe" could not be run
    gyp ERR! find Python checking if Python is C:\Python37\python.exe
    gyp ERR! find Python - "C:\Python37\python.exe" could not be run
    gypgyp ERR!  find PythonERR!
    find Pythongyp
    gyp ERR!ERR!  find Pythonfind Python Python is not set from command line or npm configuration
    **********************************************************
    gypgyp  ERR!ERR!  find Pythonfind Python Python is not set from environment variable PYTHON
    You need to install the latest version of Python.
    gypgyp  ERR!ERR!  find Pythonfind Python checking if "python" can be used
    Node-gyp should be able to find and use Python. If not,
    gypgyp  ERR!ERR!  find Pythonfind Python - "python" is not in PATH or produced an error
    you can try one of the following options:
    gypgyp  ERR!ERR!  find Pythonfind Python checking if "python2" can be used
    - Use the switch --python="C:\Path\To\python.exe"
    gypgyp ERR!  ERR!find Python  - "python2" is not in PATH or produced an error
    find Pythongyp   (accepted by both node-gyp and npm)
    gypERR!  ERR!find Python  checking if "python3" can be used
    find Pythongyp - Set the environment variable PYTHON
    gypERR!  ERR!find Python  - "python3" is not in PATH or produced an error
    find Pythongyp - Set the npm configuration variable python:
    gypERR!  ERR!find Python  checking if the py launcher can be used to find Python 2
    find Pythongyp   npm config set python "C:\Path\To\python.exe"
    gypERR!  ERR!find Python  - "py.exe" is not in PATH or produced an error
    find Pythongyp For more information consult the documentation at:
    gypERR!  ERR!find Python  checking if Python is C:\Python27\python.exe
    gypfind Python  https://github.com/nodejs/node-gyp#installation
    ERR!gyp  find PythonERR! - "C:\Python27\python.exe" could not be run
    gypfind Python  **********************************************************
    ERR!gyp  find PythonERR! checking if Python is C:\Python37\python.exe
    gypfind Python
    ERR! find Python - "C:\Python37\python.exe" could not be run
    gypgyp  ERR!ERR!  configure errorfind Python

    gypgyp  ERR!ERR!  stackfind Python Error: Could not find any Python installation to use
    **********************************************************
    gyp gypERR!  ERR!stack      at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
    find Pythongyp  You need to install the latest version of Python.
    ERR!gyp stack      at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
    ERR!gyp  ERR!find Python  Node-gyp should be able to find and use Python. If not,
    stack     at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
    gypgyp  ERR!ERR!  find Pythonstack you can try one of the following options:
        at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
    gypgyp  ERR!ERR!  stackfind Python     at exithandler (child_process.js:302:5)
    gyp - Use the switch --python="C:\Path\To\python.exe"
    gypERR!  stackERR!     at ChildProcess.errorhandler (child_process.js:314:5)
    gyp find PythonERR!    (accepted by both node-gyp and npm)
    stack     at ChildProcess.emit (events.js:223:5)
    gypgyp  ERR!ERR!  stackfind Python     at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
    - Set the environment variable PYTHON
    gypgyp  ERR!ERR! stack      at onErrorNT (internal/child_process.js:456:16)
    find Pythongyp - Set the npm configuration variable python:
    gypERR!  ERR!stack      at processTicksAndRejections (internal/process/task_queues.js:81:21)
    find Python   npm config set python "C:\Path\To\python.exe"
    gypgyp  ERR!ERR!  find PythonSystem For more information consult the documentation at:
    Windows_NT 10.0.17763
    gypgyp  ERR!ERR!  find Pythoncommand https://github.com/nodejs/node-gyp#installation
    "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
    gypgyp  ERR!ERR!  find Pythoncwd **********************************************************
    C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
    gypgyp  ERR!ERR!  find Pythonnode -v
    v12.14.1
    gyp ERR! node-gyp -vgyp v5.0.5
    gyp ERR!ERR!  configure errornot ok

    gyp ERR! stack Error: Could not find any Python installation to use
    gyp ERR! stack     at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
    gyp ERR! stack     at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
    gyp ERR! stack     at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
    gyp ERR! stack     at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
    gyp ERR! stack     at exithandler (child_process.js:302:5)
    gyp ERR! stacknode-pre-gyp     at ChildProcess.errorhandler (child_process.js:314:5)
    gypERR!  ERR!build error
    stack     at ChildProcess.emit (events.js:223:5)
    node-pre-gypgyp  ERR!ERR!  stackstack     at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
    Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
    node-pre-gypgyp  ERR! ERR!stack      at ChildProcess.<anonymous> (C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
    stacknode-pre-gyp     at onErrorNT (internal/child_process.js:456:16)
    gypERR!  ERR!stack      at ChildProcess.emit (events.js:223:5)
    stacknode-pre-gyp     at processTicksAndRejections (internal/process/task_queues.js:81:21)
    ERR! stackgyp     at maybeClose (internal/child_process.js:1021:16)
    node-pre-gypERR!  ERR!System stack Windows_NT 10.0.17763
        at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
    gyp ERR! node-pre-gypcommand  "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
    ERR!gyp  SystemERR! Windows_NT 10.0.17763
    node-pre-gypcwd  C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
    ERR!gyp  commandERR! "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
    node-pre-gypnode -v  v12.14.1
    ERR!gyp  cwdERR! C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
    node-pre-gypnode-gyp -v  v5.0.5
    ERR!gyp  ERR!node -v  v12.14.1
    not ok
    node-pre-gyp ERR! node-pre-gyp -v v0.6.39
    node-pre-gyp ERR! not ok
    Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
    npm WARN discord.js@11.5.1 requires a peer of @discordjs/uws@^10.149.0 but none is installed. You must install peer dependencies yourself.
    npm WARN spotifybot@1.0.0 No description
    npm WARN spotifybot@1.0.0 No repository field.

    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! lzma-native@3.0.8 install: `node-pre-gyp install --fallback-to-build &amp;&amp; node node_modules/rimraf/bin.js build`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the lzma-native@3.0.8 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\bobal\AppData\Roaming\npm-cache\_logs\2020-02-21T19_25_47_323Z-debug.log
    </anonymous></anonymous></anonymous>

    So then I tried installing an older version and I’m now using ffmpeg-binaries@3.2.2-3 but when I type /join I get this : [ERR_INVALID_ARG_TYPE] : The "file" argument must be of type string. Received type object