Recherche avancée

Médias (10)

Mot : - Tags -/wav

Autres articles (71)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

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

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

Sur d’autres sites (8578)

  • Python script fails execution on subprocess.run() call only when called from context menu

    10 mars 2019, par Jesse McDonald

    I have a python script that I want to call from the windows file browser context menu (https://www.howtogeek.com/107965/how-to-add-any-application-shortcut-to-windows-explorers-context-menu/)

    I am currently debugging calling it from the non-specific context (HKEY_CLASSES_ROOT\Directory\Background\shell) with the command "python "D :\toolbox\mineAudio.py" 0"
    (note python3 is on the path as python and the script is at D :\toolbox\mineAudio.py)

    When I call the script from cmd it works as expected with that command, and when I make debug modifications to the script (adding os.system("pause") to random lines) I can verify it is running correctly up to the point it hits the line meta=cmd(['ffmpeg','-i',target]) (line 46) where it instantly and silently fails (note ffmpeg is also on the path)

    EDIT : it actually gets as far as line 15

    result = subprocess.run(command, stdout=subprocess.PIPE,stderr=subprocess.PIPE,startupinfo=startupinfo)

    I cant figure out why the program is failing there as that line works fine everywhere else I have tested the script from other than the context menu.

    Here is the full script if you want to brows through it

    import subprocess
    import os
    import sys
    from sys import argv
    from tree import tree
    #for command line use:
    #mineAudo.py [prompt=1] [dir=cwd]
    #first arg prompt will prompt user for dir if 1, otherwise it wont
    #second arg is the directory to use, if specified this will override prompt, if not and prompt=0, current working dir is used
    def cmd(command):
       startupinfo = subprocess.STARTUPINFO()
       startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
       startupinfo.wShowWindow = subprocess.SW_HIDE
       result = subprocess.run(command, stdout=subprocess.PIPE,stderr=subprocess.PIPE,startupinfo=startupinfo)
       return result.stderr.decode("utf-8")
    def stripStreams(meta):
       i=1;
       lines=[]
       while i>0 :
           i=meta.find("Stream",i+1)
           lineEnd=meta.find("\n",i)
           lines.append(meta[i:lineEnd])

       return lines
    def mineAudio(streams):
       ret=[]
       for stream in streams:
           if "Audio:" in stream:
               start =stream.find("#")+1
               end=stream.find("(",start)
               ret.append(stream[start:end])
       return ret
    def convDir(dirTarget):
       targets=tree(dirTarget)
       convList(targets,dirTarget)

    def convList(targets,dirTarget):
           print(targets)
           #target="2018-05-31 06-16-39.mp4"
           i=0
           for target in targets:
               i+=1

               if(target[target.rfind("."):]==".mp4"):
                   print("("+str(i)+"/"+str(len(targets))+") starting file "+target)
                   meta=cmd(['ffmpeg','-i',target])
                   streams=stripStreams(meta)
                   streams=mineAudio(streams)
                   count=0
                   output=target[target.rfind("/")+1:target.rfind(".")]
                   file=target[target.rfind("/")+1:]
                   #print (output)
                   try:
                       os.mkdir(dirTarget+"\\"+output)
                   except:
                       pass
                   for s in streams:
                       print("converting track "+str(count+1)+" of "+str(len(streams)));
                       count+=1
                       cmd("ffmpeg -i \""+target+"\" -vn -sn -c:a mp3 -ab 192k -map "+s+" \""+dirTarget+"\\"+output+"\\"+output+" Track "+str(count)+".mp3\"")
                   print("moving "+target+" to "+dirTarget+"\\"+output+"\\"+file)
                   os.rename(target,dirTarget+"\\"+output+"\\"+file)
                   print("Finished file "+target)
               else:
                   print("("+str(i)+"/"+str(len(targets))+") skiping non mp4 file "+target)

    def prompt():
       while True:
           dirTarget=input("input target dir: ")
           convDir(dirTarget)



    if __name__ == "__main__":
           sys.setrecursionlimit(2000)    
           if len(argv)>2:
                   if os.path.isdir(argv[2]):
                       convDir(argv[2])
                   else:
                       convList([argv[2]],os.path.dirname(argv[2]))
           elif(len(argv)>1):
                   if int(argv[1])==1:
                       prompt()
                   else:
                       convDir(os.getcwd())
           else:
               prompt()


           os.system("pause")

    Note that I am not married to this particular implementation, any implementation with the same effect (extracting the .mp3 tracks from an .mp4 file automatically) would be fine too

    also, here is the file Tree

    #Returns the paths of all files in a directory and all sub directories relative to start directory
    import os
    def tree(directory,target="f"):
       paths=[]
       for currentDir,dirs,files in os.walk(directory):
           if target=="f":
               for file in files:
                   paths.append(currentDir+"/"+file)
           if target=="d":
               #paths.append(currentDir)
               for dir in dirs:
                   paths.append(currentDir+"/"+dir)
       for i in range(len(paths)):
           paths[i]=paths[i].replace("\\","/")
       return paths

    Can anyone help me get this working ?

    Edit :
    here is a shorter example code that crashes in the same way (still uses ffmpeg though)

    import subprocess
    import os
    def cmd(command):
       startupinfo = subprocess.STARTUPINFO()
       startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
       startupinfo.wShowWindow = subprocess.SW_HIDE

       result = subprocess.run(command,stdin=subprocess.DEVNULL, stdout=subprocess.PIPE,stderr=subprocess.PIPE,startupinfo=startupinfo)

       return result.stderr.decode("utf-8")


    os.system("pause")

    out=cmd(['ffmpeg','-i','D:\\ffmpeg test\\test\\2018-05-31 06-16-39\\2018-05-31 06-16-39.mp4'])
    print(out)
    os.system("pause")

    (note the file is hard coded, program output should be
    enter image description here )

  • Anomalie #3981 : Menu "Écrire une nouvelle traduction" non présent pour rédacteurs

    12 août 2017, par Franck D

    Bon alors, j’ai pas fait les tests correctement...
    En faite, le lien pour traduire un article n’est présent concernant les "rédacteurs" que concernant leur propre articles !
    Ce qui fait qu’il ne peuvent traduire les articles des autres rédacteurs !

    Par contre, une personne avec le statut d’admi peux traduire les articles des autres (logique)

    Donc,logiquement, il faudrait que les personnes ayant le statut de rédacteur puissent traduire et proposé leur traduction à la publication concernant les articles des autres.

  • Revision 08348d9cab : prefix vp8 asm_{com,dec,enc}_offsets files make them symmetrical with the gener

    2 mars 2013, par James Zern

    Changed Paths : Modify /build/make/Android.mk Modify /build/make/Makefile Modify /build/make/obj_int_extract.c Modify /build/x86-msvs/obj_int_extract.bat Delete /vp8/common/asm_com_offsets.c Add /vp8/common/vp8_asm_com_offsets.c (from /vp8/common/asm_com_offsets.c (...)