Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP 0.2

Autres articles (27)

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

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (4332)

  • ffmpeg_opt : Fix starttime with ffm in bitexact mode

    28 novembre 2016, par Michael Niedermayer
    ffmpeg_opt : Fix starttime with ffm in bitexact mode
    

    This fixes some differences between runs of the ffserver tests
    (in my local tree 2 runs gave the same result with this but i had other
    changes too)

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] ffmpeg_opt.c
  • 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 )

  • avcodec/4xm : Fix vlc memleak

    20 juin 2019, par Michael Niedermayer
    avcodec/4xm : Fix vlc memleak
    

    Fixes : memleak
    Fixes : 15297/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FOURXM_fuzzer-5746203548975104

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/4xm.c