Recherche avancée

Médias (91)

Autres articles (28)

  • Emballe Médias : Mettre en ligne simplement des documents

    29 octobre 2010, par

    Le plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
    Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
    D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

Sur d’autres sites (5247)

  • FFmpeg return 'invalid argument' only for some runs, even tought is the same code

    20 septembre 2021, par Gustavo Marinho

    I have a code in python where i need to use FFmpeg to merge a audio and a video downloaded using pytube together :

    


            for video in p.videos:
            video.streams.filter(file_extension='mp4',resolution='480p')[0].download(parent_dir+'/mp4/processing/video')
            print(video.streams.filter(only_audio=True)[1].download(parent_dir+'/mp4/processing/audio'))

            subprocess.run([

                r'c:\FFmpeg\bin\ffmpeg', '-i',
                os.path.join(parent_dir+'/mp4/processing/video',video.streams.filter(file_extension='mp4',resolution='480p')[0].default_filename)
                ,'-i',
                os.path.join(parent_dir+'/mp4/processing/audio',video.streams.filter(only_audio=True)[1].default_filename),
                '-c:v','copy','-c:a','copy',
                os.path.join(parent_dir+'/mp4',video.streams.filter(file_extension='mp4',resolution='480p')[0].title+'.mp4')

            ])


    


    I tought the code was working perfectly, but in some cases, the FFmpeg returns "invalid argument", like this example :

    


    ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  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
  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 'D:/videos/mp4/processing/video\Dropkick Murphys - Rose Tattoo (Video).mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2020-04-04T10:16:52.000000Z
  Duration: 00:05:26.08, start: 0.000000, bitrate: 557 kb/s
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 854x480 [SAR 1:1 DAR 427:240], 7 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2020-04-04T10:16:52.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'D:/videos/mp4/processing/audio\Dropkick Murphys - Rose Tattoo (Video).mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2020-04-04T10:16:00.000000Z
  Duration: 00:05:26.12, start: 0.000000, bitrate: 129 kb/s
  Stream #1:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 3 kb/s (default)
    Metadata:
      creation_time   : 2020-04-04T10:16:00.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
D:/videos/mp4\Dropkick Murphys - "Rose Tattoo" (Video).mp4: Invalid argument


    


    For some reason, the FFmpeg say that my output name is invalid, but i don't understand why, given that i ran the code multiple times before and it worked perfectly

    


    Thanks in advance, sorry for my bad english :3

    


  • Traceback error with Python when using ffmpeg to convert a video

    16 mai 2013, par TheMickeyNick

    The simple way my script runs is the user provides a folder location and a filetype and glob.glob() finds the files with the filetype provided and adds them to a list. It then uses a for loop and goes through the list and converts each video. But it doesn't like when I try to run my ffmpeg command. Any help would be awesome. I'm also using Win 7 64 bit with 64 bit ffmpeg and Python 3.3
    Here's the error :

    OS Error
    Traceback (most recent call last):
     File "C:\Python33\lib\subprocess.py", line 1106, in _execute_child
       startupinfo)
    FileNotFoundError: [WinError 2] The system cannot find the file specified

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
     File "C:\Users\user\Workspace\PythonConverter\HTMLandPythonConverter\Converter.py", line 77, in <module>
       massConvert(fileNames)
     File "C:\Users\user\Workspace\PythonConverter\HTMLandPythonConverter\Converter.py", line 47, in massConvert
       convertVideotoNewFormat(&#39;.mp4&#39;, x)
     File "C:\Users\user\Workspace\PythonConverter\HTMLandPythonConverter\Converter.py", line 61, in convertVideotoNewFormat
       myFile = subprocess.Popen(ffmpegString)#, stdout=subprocess.PIPE, stderr=subprocess.PIPE
     File "C:\Python33\lib\subprocess.py", line 820, in __init__
       restore_signals, start_new_session)
     File "C:\Python33\lib\subprocess.py", line 1112, in _execute_child
       raise WindowsError(*e.args)
    FileNotFoundError: [WinError 2] The system cannot find the file specified
    </module>

    Here is my code :

    import subprocess
    from subprocess import call
    import glob

    fileNames = []
    fileLocation = {}
    filetype = {}
    def convertString(location):
       s = list(location)
       for i in range(len(s)):
           if s[i] in &#39;\\&#39;:
               s[i] = &#39;/&#39;

       if s[len(s)-1] != &#39;/&#39;:
           s.append(&#39;/&#39;)
       location = "".join(s)
       return location

    def convertStringBack(stringTo):
       s = list(stringTo)
       for i in range(len(s)):
           if s[i] in &#39;/&#39;:
               s[i] = &#39;\\&#39;
       stringTo = "".join(s)
       return stringTo

    def fileTypeTester():
       FieldType = &#39;*&#39; + input(&#39;What\&#39;s the file type we are converting from?&#39;)
       typeSplit = list(FieldType)
       if typeSplit[1] != &#39;.&#39;:
           typeSplit.insert(1,&#39;.&#39;)
       FieldType = "".join(typeSplit)
       if FieldType not in [&#39;*.flv&#39;,&#39;*.kdb&#39;]:
           print(&#39;Not a valid file type&#39;)
       else:
           return FieldType
       return None

    def massConvert(listOfFiles):
       print(&#39;Starting Conversion&#39;)
       for x in listOfFiles:
           #x = convertStringBack(x)
           print(&#39;Converting &#39; + x + &#39; to .mp4&#39;)
           convertVideotoNewFormat(&#39;.mp4&#39;, x)
       print(&#39;Finished File Conversion&#39;)


    def convertVideotoNewFormat(newFormat, fileLoc):
       newFilePath = fileLoc[0:len(fileLoc)-4]
       ffmpegString = ["ffmpeg64","-i", fileLoc,"-qscale","0","-ar","22050","-vcodec","libx264",newFilePath,newFormat]
       try:
           subprocess.check_call(newFilePath)
       except OSError:
           print(&#39;OS Error&#39;)
       except subprocess.CalledProcessError:
           print(&#39;Subprocess Error&#39;)
       myFile = subprocess.Popen(ffmpegString)
       print(myFile)

    #This will replace old HTML flv object tag with new video tag, but it is yet to be implemented
    def replaceHTML():
       pass

    fileLocation = input(&#39;What is the path of the files you\&#39;d like to convert?&#39;)
    fileLocation = convertString(fileLocation)
    fileType = fileTypeTester()
    fileNames = glob.glob(fileLocation + fileType)
    massConvert(fileNames)

    I've looked around and most of the tutorials are in 2.7 the code is 3.3 and I can't find a tutorial to use ffmpeg for 3.3. My ffmpeg is set to 'ffmpeg64' on my PATH.

    Thanks !

  • ffmpeg -vcopy to folder without filename

    9 novembre 2017, par Musikdoktor

    I’m trying to find a command line to copy part of videos and export them to a different folder.

    The problem i need to solve is each file may have different extensions, .mxf, .dv, .avi etc some came from a internal url server that gives download links like /server/download ?id=1000 and that will download an mp4, or a mxf so i have no idea the extension.. the name is not important..

    i want to know if it’s possible or there’s an existing command line where the -y file.extension is not needed.

    For example

    ffmpeg.exe -i "/server/download ?id=1000" -vcodec copy -acodec copy -y "folder/"

    An i get a filename.avi or filename.mxf inside that "folder/"