Changeset 30244 in spip-zone


Ignore:
Timestamp:
Jul 26, 2009, 8:55:45 PM (10 years ago)
Author:
kent1@…
Message:

On mets à jour le script d'encodage pour tester l'encodage multiple (plus uniquement en flv)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipmotion/script_bash/spipmotion.sh

    r30229 r30244  
    11#!/bin/bash
    2 ## spipmotion : A shell program to convert videos in flv format (flash video)
    3 ## Version 0.1
     2## SPIPmotion : A shell program to convert multimedia files
     3## Version 0.2
     4##
    45## Dependancies :
    56##   * ffmpeg with libmp3lame support
    67## Credits prealables : aozeo - http://www.aozeo.com/blog/40-linux-convertir-videos-flv-ffmpeg-telephone-portable
    78
    8 version="0.1"
     9VERSION="0.2"
    910
    1011################ LOCALISATION #####################
    1112messageaide="
    12 spipmotion $version
     13SPIPmotion v$VERSION
    1314
    1415Utilisation : ./spipmotion arguments
    15 ou arguments doit inclure la vidéo source et la vidéo de sortie au format flv et éventuellement :
     16ou arguments doit inclure le fichier source et le fichier de sortie et éventuellement :
    1617* la taille de la video ex : --size 320x240
    1718* le bitrate de la video ex : --bitrate 448kbs
     
    2223
    2324
    24 Exemple :
    25 ./spipmotion.sh --e video-entree.avi --s video-sortie.flv --size 320x240 --bitrate 448kbs --fps 15 --audiobitrate 64kbs --audiofreq 22050 --p /usr/local/bin/ffmpeg
     25Exemples :
     26./spipmotion.sh --e fichier-entree.avi --s fichier-sortie.flv --size 320x240 --bitrate 448 --fps 15 --audiobitrate 64kbs --audiofreq 22050 --p /usr/local/bin/ffmpeg
     27./spipmotion.sh --e fichier-entree.wav --s fichier-sortie.mp3 --audiobitrate 64 --audiofreq 22050
    2628
    2729#####################################################
    2830##  Ce programme recquiert une version de ffmpeg   ##
    2931##        compilée avec le support libmp3lame        ##
    30 ## Voir http://kent1.sklunk.net/spip.php?article71 ##
     32## Voir http://technique.arscenic.org/compilation-de-logiciel/article/compiler-ffmpeg1 ##
    3133#####################################################
    3234"
    33                 formatsortie="spipmotion : le fichier de sortie doit se terminer par flv"
    34                 mauvaisarg="spipmotion : argument ${1} non reconnu
     35                formatsortie="SPIPmotion : le fichier de sortie doit se terminer par une extension reconnue : flv flac ogg ogv oga mp3 mp4"
     36                mauvaisarg="SPIPmotion : argument ${1} non reconnu
    3537Pour visualiser le manuel de spipmotion, faîtes : \"./spipmotion --help\""
    36                 pasvideoentree="spipmotion : aucune vidéo source n'a été spécifiée
     38                pasfichierentree="SPIPmotion : aucun fichier source n'a été spécifié
    3739Pour visualiser le manuel de spipmotion, faîtes : \"./spipmotion --help\""
    38                 pasvideosortie="spipmotion : aucune vidéo de sortie n'a été spécifiée
     40                pasfichiersortie="SPIPmotion : aucun fichier de sortie n'a été spécifié
    3941Pour visualiser le manuel de spipmotion, faîtes : \"./spipmotion --help\""
    4042                assemblage="Conversion en .flv"
     
    4547                oui="oui"
    4648                non="non"
    47                 succes="Succès ! La vidéo a bien été convertie en flv !"
     49                succes="Succès ! Le fichier a bien été converti !"
    4850
    4951#################################################
     
    5355while test -n "${1}"; do
    5456        case "${1}" in
    55                 --help) echo "$messageaide";
     57                --help|-h) echo "$messageaide";
     58                exit 0;;
     59                --version|-v) echo "SPIPmotion v. "${VERSION}"";
    5660                exit 0;;
    5761                --e) entree="${2}"
     
    5963                --s) sortie="${2}"
    6064                        case "$sortie" in
    61                         *".flv");;
     65                        *".mp3"|*".flac"|*".flv"|*".mp4"|*".ogg"*|".oga"|*".ogv");;
    6266                        *) echo "$formatsortie";
    6367                        exit 1;;
     
    6872                --bitrate) bitrate="${2}"
    6973                shift;;
    70                 --audiobitrate) audiobitrate="${2}"
     74                --acodec) acodec="${2}"
    7175                shift;;
    72                 --audiofreq) audiofreq="${2}"
     76                --audiobitrate) audiobitrate="-ab ${2}.kb"
     77                shift;;
     78                --audiofreq) audiofreq="-ar ${2}"
    7379                shift;;
    7480                --fps) fps="${2}"
     
    8490
    8591case "$entree" in
    86   "") echo "$pasvideoentree"; exit 1;;
     92  "") echo "$pasfichierentree"; exit 1;;
    8793esac
    8894
     
    9197esac
    9298
     99case "$chemin" in
     100  "") chemin="/usr/local/bin/ffmpeg"
     101esac
     102
     103########### Arguments pour audio
     104case "$audiobitrate" in
     105  "")
     106  case "$sortie" in
     107        *".mp3") audiobitrate="-ab 128.kb" ;;
     108        *".flv") audiobitrate="-ab 64.kb" ;;
     109        *".ogg"|*".oga"|*".ogv") audiobitrate="-aq 50" ;;
     110  esac
     111esac
     112
     113case "$audiofreq" in
     114  "")
     115  case "$sortie" in
     116        *".flv") audiofreq="-ar 22050" ;;
     117  esac
     118esac
     119
     120case "$acodec" in
     121        "")
     122        case "$sortie" in
     123                *".mp3"|*".flv") acodec="-acodec libmp3lame" ;;
     124                *".flac") acodec="-acodec flac" ;;
     125                *".ogg"|*".oga"|*".ogv") acodec="-acodec vorbis" ;;
     126        esac
     127esac
     128
     129########### Arguments spécifiques aux videos
     130
    93131case "$size" in
    94132  "") size="320x240"
     
    96134
    97135case "$bitrate" in
    98   "") bitrate="448"
    99 esac
    100 
    101 case "$audiobitrate" in
    102   "") audiobitrate="64"
    103 esac
    104 
    105 case "$audiofreq" in
    106   "") audiofreq="22050"
     136  "") bitrate="-b 448.kb"
    107137esac
    108138
     
    111141esac
    112142
    113 case "$chemin" in
    114   "") chemin="/usr/local/bin/ffmpeg"
     143case "$vcodec" in
     144        "")
     145        case "$sortie" in
     146                *".flv") vcodec="-vcodec flv" ;;
     147                *".ogg"|*".ogv") vcodec="-vcodec theora" ;;
     148        esac
    115149esac
    116 
    117150########### SI LA SORTIE EXISTE DÉJÀ #############
    118151
     
    139172############# ON UTILISE FFMPEG ################
    140173
    141 echo "ah$chemin"
    142 nice "$chemin" -i $entree -acodec libmp3lame -f flv -s $size -b $bitrate.kb -ab $audiobitrate -ar $audiofreq -r $fps -y $sortie
     174echo "$chemin"
     175
     176case "$sortie" in
     177  *".mp3"|*".flac"|*".ogg"|*".oga" )
     178  echo "On est dans un son"
     179  nice -19 "$chemin" -i $entree $acodec $audiobitrate $audiofreq -y $sortie ;;
     180  *".flv"|*".mp4"|*".ogv" )
     181  echo "on est dans une video"
     182  nice -19 "$chemin" -i $entree $acodec $vcodec -s $size $bitrate $audiobitrate $audiofreq -r $fps -y $sortie ;;
     183esac
    143184
    144185echo "$succes"
Note: See TracChangeset for help on using the changeset viewer.