Recherche avancée

Médias (91)

Autres articles (70)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

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

  • Recapping WebM’s First Week

    25 mai 2010, par noreply@blogger.com (John Luther) — webm, vp8, vorbis

    The WebM project launched last Wednesday with broad industry backing (watch video of the announcement). The list of supporters keeps growing with new additions such as the popular VLC media player, Miro Video Converter, HeyWatch cloud encoding platform, and videantis programmable processor platform. We’re also happy to see that future versions of IE will support playback of VP8 when the user has installed the codec.

    Our announcement sparked discussions in the community around the design and quality of our developer release. We’ve done extensive testing of VP8 and know that the codec can match or exceed the quality of other leading codecs. Starting this week, the engineers behind WebM will post frequently to this blog with details on how to make optimal use of its VP8 video codec and Vorbis audio codec. We are confident that the open development model will bring additional improvements that will further optimize WebM. In fact, the power of open development is already visible, with developers submitting patches and the folks at Flumotion enabling live streaming support in their product just three days after the project was launched.

    Keep an eye on this blog for regular updates on the adoption and development of WebM. To participate in the conversation or to ask questions of the WebM team, please join our discussion group.

    John Luther
    Product Manager, Google

  • Bash script to automate FFmpeg operations fails when calling the command, but copy-pasting the generated command into the terminal works [duplicate]

    28 février, par GaboScharff99

    I wrote a bash script which automates a number of conversion operations on video files using FFmpeg. Oddly enough, the FFmpeg call itself now fails when running the script, with a very confusing error message, I might add, but when I copy the command generated by the script into the terminal and run it, it works flawlessly. I'm sorry to insert such a long code block here, but considering how strange this error is, it might be anywhere in the script, so here it is :

    


    #!/bin/bash

audioTrack=1
subSource=1
subTrack=0
transcodeVideo=1
transcodeAudio=1
volumeMultiplier=1
degradeToStereo=0
subLanguage="Japanese"

while getopts "t:ns:vam:dl:h" opt; do
    case "$opt" in
        t) audioTrack=${OPTARG};;
        n) subSource=0;;
        s) subTrack=${OPTARG};;
        v) transcodeVideo=0;;
        a) transcodeAudio=0;;
        m) volumeMultiplier=${OPTARG};;
        d) degradeToStereo=1;;
        l) subLanguage=${OPTARG};;
        h)
            echo "Options:"
            echo "-t [integer]: Audio track number. Default: 1."
            echo "-n: If included, subtitles will be taken from internal source."
            echo "-s [integer]: Subtitles track number. Default: 0."
            echo "-v: If included, video source will be copied without transcoding."
            echo "-a: If included, audio source will be copied without transcoding."
            echo "-m [number]: Volume multiplier. If 1, volume is unaffected. Default: 1"
            echo "-d: If included, audio will be degraded to stereo."
            echo "-l [language]: Subtitles language. Only used for external subtitles source. Default: Japanese."
            exit 0
        ;;
    esac
done

echo "Audio track: $audioTrack."
echo "Subtitles track: $subTrack."
params="-map 0:0 -map 0:$audioTrack -map $subSource:$subTrack -c:v"

if [[ $transcodeVideo -eq 1 ]]; then
    echo "Video will be transcoded."
    params="$params hevc"
elif [[ $transcodeVideo -eq 0 ]]; then
    echo "Video will be copied without transcoding."
    params="$params copy"
fi

params="$params -c:a"

if [[ $transcodeAudio -eq 1 ]]; then
    echo "Audio will be transcoded."
    params="$params libopus"
elif [[ $transcodeAudio -eq 0 ]]; then
    echo "Audio will be copied without transcoding."
    params="$params copy"
fi

if [[ $volumeMultiplier -ne 1 ]]; then
    echo "Volume will be multiplied by a factor of $volumeMultiplier."
    params="$params -filter:a 'volume=$volumeMultiplier'"
else
    echo "Volume will be unaffected."
fi

if [[ $degradeToStereo -eq 1 ]]; then
    echo "Audio will be degraded to stereo."
    params="$params -ac 2"
elif [[ $degradeToStereo -eq 0 ]]; then
    echo "Audio will not be degraded to stereo."
fi

params="$params -c:s copy"

if [[ $subSource -eq 1 ]]; then
    echo "Subtitles source is external."
    echo "Subtitles language is $subLanguage."
    params="$params -metadata:s:s:0 title='' -metadata:s:s:0 language='$subLanguage'"
else
    echo "Subtitles source is internal."
fi

if [[ -f titles.txt ]]; then
    echo "A titles.txt file was found. Titles will be changed according to it."
    echo "Please check titles.txt to make sure the titles are correct."
    changeTitles=1
    counter=0
else
    echo "A titles.txt file was not found. Titles will not be changed."
    changeTitles=0
fi

read -p "Are these options correct? (y/n) " choice

case "$choice" in
    y|Y)
        echo "Initiating conversion sequence. This may take a while..."

        mkdir output
        currentParams=""

        shopt -s nullglob
        for i in *.mp4 *.mkv; do
            currentParams=$params
            fileNameNoExtension=$(echo $i | rev | cut -f 2- -d '.' | rev)

            if [[ $subSource -eq 1 ]]; then
                currentParams="-f srt -i $fileNameNoExtension.srt $currentParams"
            fi

            if [[ $changeTitles -eq 1 ]]; then
                ((counter++))
                currentParams="$currentParams -metadata title='$(awk "NR==$counter" titles.txt)'"
            fi

            ffmpeg -i "$i" $currentParams "output/$fileNameNoExtension.mkv"
        done

        echo "Conversion finished!"
    ;;
    n|N) echo "Operation canceled. Exiting.";;
    *) echo "Invalid input. Try again.";;
esac


    


    The directory I'm running this in contains six video files :

    


      

    1. E1 - The Pirates of Orion.mkv
    2. 


    3. E2 - Bem.mkv
    4. 


    5. E3 - The Practical Joker.mkv
    6. 


    7. E4 - Albatross.mkv
    8. 


    9. E5 - How Sharper Than a Serpent's Tooth.mkv
    10. 


    11. E6 - The Counter-Clock Incident.mkv
    12. 


    


    Here's the titles.txt file, for completion's sake :

    


    Star Trek: The Animated Series - Season 2, Episode 1 - The Pirates of Orion
Star Trek: The Animated Series - Season 2, Episode 2 - Bem
Star Trek: The Animated Series - Season 2, Episode 3 - The Practical Joker
Star Trek: The Animated Series - Season 2, Episode 4 - Albatross
Star Trek: The Animated Series - Season 2, Episode 5 - How Sharper Than a Serpent's Tooth
Star Trek: The Animated Series - Season 2, Episode 6 - The Counter-Clock Incident


    


    And finally, here's the error message given by FFmpeg on the terminal for every video file when running the command :

    


    Unable to find a suitable output format for 'Trek:'
Trek:: Invalid argument


    


    Maybe there are better ways to handle all of this, but first and foremost, I would like to figure out why the command fails with such a confusing error message. The only place where the string 'Trek :' is found is in the title taken from titles.txt, but I don't understand why that's seemingly being passed to the name of the output file instead of the title, and apparently only when running the script.

    


    Thanks a lot for your answers ! I know this is quite a bit of text, so I really appreciate you taking your time to read through this.

    


  • Python-ffmpeg video metadata editing script - Error splitting the argument list : Option not found

    16 janvier, par maric193

    I have been updating a simple script that allows me to mass edit video files metadata (in a specific folder) and save them with a new filename (inside the same folder). I have been bouncing around different forums and decided to try python-ffmpeg.
For some reason right now I am getting the below FFmpegInvalidCommand exception

    


    Error splitting the argument list: Option not found

    


    I am not quite sure what I am doing wrong here, so I am wondering if someone can give me a fresh set of eyes to determine what the problem is. Apologies in advance, there may be some leftover code that I have not cut out yet. Thanks in advance !

    


    import os
import re
import sys
from pathlib import Path
from ffmpeg import FFmpeg, FFmpegFileNotFound, FFmpegInvalidCommand
#Project looks through a folder, checks all the files in there, then edits metadata (and filename)
#and returns a new file for each file inside the folder

video = 'Anime' #Movie/TVSeries/Anime/etc...
name = 'Sword Art Online (2012)'
extension = '.mkv'
season = '01'
episode = 1

try:
    folder = r'D:\ServerTransfer\Update Server\%s\%s\S%s\\' % (video, name, season)

    #Check current file names
    print('Current names are: ')
    res = os.listdir(folder)
    print(res)
    
    # episode increase by 1 in each iteration
    # iterate all files from a directory
    for file_name in os.listdir(folder):
        # Construct old file name
        source = folder + file_name
        try:
            title = ''
            if episode < 100:
                # Adding the season & episode #'s
                destination = folder + name + '.S' + season + 'E0' + str(episode) + extension
                title = name + '.S' + season + 'E0' + str(episode)
##            elif episode < 100:
##                # Adding the season & episode #'s
##                destination = folder + name + '.S' + season + '.E0' + str(episode) + extension
            else:
                # Adding the season & episode #'s
                destination = folder + name + '.S' + season + 'E' + str(episode) + extension
                title = name + '.S' + season + 'E' + str(episode)
            # Renaming the file
            if file_name.endswith(extension):
                ffmpeg = FFmpeg(executable=r'c:\FFmpeg\bin\ffmpeg.exe').option("y").input(source).output(destination,codec="copy",title=title)
                ffmpeg.execute()
        except FFmpegFileNotFound as exception:
            print("An FFmpegFileNotFound exception has been occurred!")
            print("- Message from ffmpeg:", exception.message)
            print("- Arguments to execute ffmpeg:", exception.arguments)
        except FFmpegInvalidCommand as exception:
            print("An FFmpegInvalidCommand exception has been occurred!")
            print("- Message from ffmpeg:", exception.message)
            print("- Arguments to execute ffmpeg:", exception.arguments)
        except Exception as err:
            print(f'Unexptected {err=}, {type(err)=}')
            raise
        episode += 1
    print('All Files Renamed')
    print('New Names are')
    # verify the result
    res = os.listdir(folder)
    print(res)
except OSError as err:
    print('OS error:', err)
except Exception as err:
    print(f'Unexptected {err=}, {type(err)=}')
    raise


    


    Here is what one of my print statements in the exception says is being executed

    


    - Arguments to execute ffmpeg: ['c:\\FFmpeg\\bin\\ffmpeg.exe', '-y', '-i', 'D:\\ServerTransfer\\Update Server\\Anime\\Sword Art Online (2012)\\S01\\\\[Kosaka] Sword Art Online - 01 - The World of Swords (1080p AV1 10Bit BluRay OPUS) [73066623].mkv', '-codec', 'copy', '-title', 'Sword Art Online (2012).S01E01', 'D:\\ServerTransfer\\Update Server\\Anime\\Sword Art Online (2012)\\S01\\\\Sword Art Online (2012).S01E01.mkv']


    


    I have tried different variations of trying to run ffmpeg via python including using subprocess and shlex libraries. I also tried moviepy, however no one has answered me back on their page.