Recherche avancée

Médias (1)

Mot : - Tags -/swfupload

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (10283)

  • Révision 23738 : report de r23737

    2 octobre 2017, par brunobergot@gmail.com

    prise en charge des clés partielles dans split_key (thx marcimat)

    permet d’éviter une erreur avec les index du type text(60) qui étaient à tort insérés tels quels dans le group by des requêtes sql

    ref https://github.com/seenthis/seenthis_squelettes/issues/149

  • Merge remote-tracking branch ’qatar/master’

    7 avril 2014, par Michael Niedermayer
    Merge remote-tracking branch ’qatar/master’
    

    * qatar/master :
    xtea : Add Doxy @file and group

    See : 50f52a5498ff02c997d16b8181f32b933ce94b6b
    Merged-by : Michael Niedermayer <michaelni@gmx.at>

  • Traverse folder to convert all contained files

    28 mars 2017, par E.Owen

    I’ve recently started using ffmpeg with the intention of converting my video library to h265 due to its compression benefits. I would like to run one command and have ffmpeg traverse the folder converting each file, one-by-one into h265. I’ve checked the documentation Here but I can’t get my head around it. Does anybody have a template loop script for me to use ?

    I have ffmpeg installed on a Linux box and have successfully converted single files but I have around 400 files to convert, hence the looping question.

    Thanks in advance.

    EDIT :
    The files I’m waiting to convert are videos with varying containers. I have bee using the python script below, which I have tweaked to suit my needs but isn’t working. I will include the error I’m getting and a link to the original below my code.

    import os
    import sys
    import re
    import shutil
    import subprocess


    __author__ = 'Nikhil'

    # Edit options here ##################################################
    outmode = 'mp4'                          #Extension of file
    remover = True                           # Delete original file after conversion complete
    accept_ext = 'mp4 mkv avi divx m4v mpeg mpg wmv'   #Extensions of video files to convert

    ffmpeg_exe = "ffmpeg"                    #Path to ffmpeg executable
    ffprobe_exe = "ffprobe"                  #Path to ffprobe executable
    mkvextract_exe = "mkvextract"            #Path to mkvextract executable
    video_codec = 'libx265'                  #Video codec to use
    video_type = 'h265'                      #Name of video codec to check for remux
    audio_codec = 'aac'                      #Audio codec to use
    audio_type = 'aac'                       #Name of audio codec to check for remux
    crf = "28"                               #Video quality for libx264
    vbr = ''                                 #Audio quality
    extract_subtitle = True                  #Extract subtitles?
    subtitle_languages = "en eng english"    #Codes for languages to extract
    threads = 0                              #Number of threads to use in ffmpeg, 0 defaults to all
    additional_ffmpeg = '-preset slow -movflags +faststart'     #Additional flags for ffmpeg, preset sets speed and compression, movflags to make file web optimized

    ## END OPTIONS - DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ##

    outformat = 'mp4'
    if outmode == 'mp4':
    outformat = 'mp4'
    elif outmode == 'mkv':
    outformat = 'matroska'


    def ffmpeg(*args, **kwargs):
    largs = [ffmpeg_exe, ]
    largs.extend(args)
    try:
    return subprocess.check_output(largs, **kwargs).decode('utf-8')
    except:
    return None

    def getoutput(cmd):
    if sys.version &lt; '3':
    try:
    return subprocess.check_output(cmd.split(' '))
    except:
    return None
    else:
    return subprocess.getoutput(cmd)

    formats = ""
    if getoutput(ffmpeg_exe + ' -formats'):
    formats = getoutput(ffmpeg_exe + ' -formats 2')
    else:
    exit(1)

    if ('E mp4' in formats) and ('E matroska' in formats):
    print("You have the suitable formats")
    else:
    print("You do not have both the mkv and mp4 formats...Exiting!")
    exit(1)

    codecs = getoutput(ffmpeg_exe + ' -codecs 2')

    if video_codec in codecs:
    print("Check " + video_codec + " Audio Encoder ... OK")
    else:
    print("Check " + video_codec + " Audio Encoder ... NOK")
    exit(1)

    if audio_codec in codecs:
    print("Check " + audio_codec + " Audio Encoder ... OK")
    else:
    print("Check " + audio_codec + " Audio Encoder ... NOK")
    exit(1)

    print("Your FFMpeg is OK\nEntering File Processing\n")

    subtitle_languages = subtitle_languages.lower()

    def process_file(path, file):
    extension = os.path.splitext(file)[1].replace(".", "")
    filename = os.path.splitext(file)[0]

    if extension in accept_ext:
    print(file + " is an acceptable extension. Checking file...")
    else:
    print(file + " is not an acceptable extension. Skipping...")
    return

    if ffprobe_exe:
    file_info = getoutput('"' + ffprobe_exe + '"' + " " + '"' + os.path.join(path, file) + '"')
    else:
    file_info = ffmpeg("-i", os.path.join(path, file))

    if 'Invalid data found' in file_info:
    print("File " + file + " is NOT A VIDEO FILE cannot be converted!")
    return

    encode_crf = []
    if file_info.find("Video: " + video_type) != -1:
    vcodec = 'copy'
    print("Video is " + video_type + ", remuxing....")
    else:
    vcodec = video_codec
    if crf:
    encode_crf = ["-crf", "" + crf]
    print("Video is not " + video_type + ", converting...")

    encode_vbr = []
    if "Audio: " + audio_type in file_info:
    acodec = 'copy'
    print("Audio is " + audio_type + ", remuxing....")
    else:
    acodec = audio_codec
    if vbr:
    encode_vbr = ["-vbr", "" + vbr]
    print("Audio is not " + audio_type + ", converting...")

    if extension == outmode and vcodec == 'copy' and acodec == 'copy':
    print(file + " is already " + outmode + " and no conversion needed. Skipping...")
    return

    print(
    "Using video codec: " + vcodec + " audio codec: " + acodec + " and Container format " + outformat + " for\nFile: " + file + "\nStarting Conversion...\n")

    filename = filename.replace("XVID", video_type)
    filename = filename.replace("xvid", video_type)

    try:
    args = ['-i', os.path.join(path, file), '-y', '-f', outformat, '-acodec', acodec]
    if encode_vbr:
    args.extend(encode_vbr)
    args.extend(['-vcodec', vcodec])
    if encode_crf:
    args.extend(encode_crf)
    if additional_ffmpeg:
    args.extend(additional_ffmpeg.split(" "))
    if threads:
    args.extend(['-threads', str(threads)])
    args.append(os.path.join(path, filename + '.temp'))
    ffmpeg(*args)
    print("")
    except Exception as e:
    print("Error: %s" % e)
    print("Removing temp file and skipping file")
    if os.path.isfile(os.path.join(path, filename + '.temp')):
    os.remove(os.path.join(path, filename + '.temp'))
    return

    if extract_subtitle and (file_info.find("Subtitle:") != -1):
    print("Extracting Subtitles")
    matches = re.finditer("Stream #(\d+):(\d+)\((\w+)\): Subtitle: (.*)", file_info)
    for m in matches:
    if m.group(3).lower() not in subtitle_languages.split(" "):
    continue
    try:
    if 'subrip' in m.group(4):
    sub_format = 'copy'
    sub_ext = '.srt'
    elif mkvextract_exe and 'hdmv_pgs' in m.group(4):
    subprocess.check_output([mkvextract_exe, 'tracks', os.path.join(path, file),
    m.group(2) + ':' + os.path.join(path, filename + '.' + m.group(
    3) + '.' + m.group(2) + '.sup')])
    continue
    else:
    sub_format = 'srt'
    sub_ext = '.srt'
    ffmpeg("-i", os.path.join(path, file), '-y', '-map', m.group(1) + ':' + m.group(2), '-c:s:0',
    sub_format,
    os.path.join(path, filename + '.' + m.group(3) + '.' + m.group(2) + sub_ext))
    print("")
    except Exception as e:
    print("Error: %s" % e)
    print("Deleting subtitle.")
    if os.path.isfile(os.path.join(path, filename + '.' + m.group(3) + '.' + m.group(2) + sub_ext)):
    os.remove(os.path.join(path, filename + '.' + m.group(3) + '.' + m.group(2) + sub_ext))

    if remover:
    print("Deleting original file: " + file)
    os.remove(os.path.join(path, file))

    if outmode == extension:
    shutil.move(os.path.join(path, filename + ".temp"), os.path.join(path, filename + ".enc." + outmode))
    filename += ".enc"
    else:
    shutil.move(os.path.join(path, filename + ".temp"), os.path.join(path, filename + "." + outmode))


    def process_directory(path):
    if os.path.isfile(os.path.join(path, ".noconvert")):
    return
    for file in os.listdir(path):
    filepath = os.path.join(path, file)
    if os.path.isdir(filepath):
    process_directory(filepath)
    elif os.path.isfile(filepath):
    process_file(path, file)


    for arg in sys.argv[1:]:
    if os.path.isdir(arg):
    process_directory(arg)
    elif os.path.isfile(arg):
    process_file(os.path.dirname(arg), os.path.basename(arg))

    The error I am getting is this :

    Traceback (most recent call last):
    File "/media/569f/ethan1878/bin/convert.py", line 209, in <module>
    process_file(os.path.dirname(arg), os.path.basename(arg))
    File "/media/569f/ethan1878/bin/convert.py", line 100, in process_file
    if 'Invalid data found' in file_info:
    TypeError: argument of type 'NoneType' is not iterable
    </module>

    and the original file is hosted Here (as a .txt file)