Changeset 43806 in spip-zone


Ignore:
Timestamp:
Jan 23, 2011, 12:49:45 AM (10 years ago)
Author:
kent1@…
Message:

Pouvoir passer par spipmotion.sh pour gérer l'encodage via ffmpeg2theora pour n'utiliser qu'un wrapper et éviter de passer via les commandes directement

File:
1 edited

Legend:

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

    r43796 r43806  
    1717ou arguments doit inclure le fichier source et le fichier de sortie et éventuellement :
    1818* la taille de la video ex : --size 320x240
    19 * le bitrate de la video ex : --bitrate 448kbs
     19* le bitrate de la video ex : --bitrate 448
    2020* le nombre d'image par seconde ex : --fps 15
    21 * le bitrate audio ex : --audiobitrate 64kbs
    22 * la fréquence d'echantillonnage sonnore ex : --bitrate 22050
     21* le bitrate audio ex : --audiobitrate 64
     22* la fréquence d'echantillonnage sonore ex : --audiofreq 22050
    2323* le chemin vers l'executable ffmpeg (--p). /usr/local/bin/ffmpeg est la valeur par défaut.
    2424
     
    7474                --pass) pass="-pass ${2}"
    7575                shift;;
    76                 --size) size="-s ${2}"
    77                 shift;;
    78                 --bitrate) bitrate="-vb ${2}.k"
     76                --size) size="${2}"
     77                shift;;
     78                --bitrate)
     79                        bitrate_ffmpeg="-vb ${2}.k"
     80                        bitrate_ffmpeg2theora="-V ${2}"
    7981                shift;;
    8082                --acodec) acodec="-acodec ${2}"
     
    8486                --params_supp) params_sup=" ${2}"
    8587                shift;;
    86                 --audiobitrate) audiobitrate_quality="-ab ${2}.k"
    87                 shift;;
    88                 --audioquality) audiobitrate_quality="-aq ${2}"
    89                 shift;;
    90                 --audiofreq) audiofreq="-ar ${2}"
    91                 shift;;
    92                 --fps) fps="-r ${2}"
    93                 shift;;
    94                 --ac) ac="-ac ${2}"
     88                --audiobitrate)
     89                        audiobitrate_quality_ffmpeg="-ab ${2}.k"
     90                        audiobitrate_quality_ffmpeg2theora="--audiobitrate ${2}"
     91                shift;;
     92                --audioquality)
     93                        audiobitrate_quality_ffmpeg="-aq ${2}"
     94                        audiobitrate_quality_ffmpeg2theora="--audioquality ${2}"
     95                shift;;
     96                --videoquality) videoquality="${2}"
     97                shift;;
     98                --audiofreq)
     99                        audiofreq_ffmpeg="-ar ${2}"
     100                        audiofreq_ffmpeg2theora="-H ${2}"
     101                shift;;
     102                --fps)
     103                        fps_ffmpeg="-r ${2}"
     104                        fps_ffmpeg2theora="-F ${2}"
     105                shift;;
     106                --ac)
     107                        ac_ffmpeg="-ac ${2}"
     108                        ac_ffmpeg2theora="-c ${2}"
    95109                shift;;
    96110                --p) chemin="${2}"
     
    98112                --fpre) fpre="-fpre ${2}"
    99113                shift;;
     114                --two-pass) deux_passes="--two-pass"
     115                shifft;;
    100116                --info) info="${2}"
    101117                shift;;
    102118                --log) log="${2}"
     119                shift;;
     120                --encodeur) encodeur="${2}"
    103121                shift;;
    104122        esac
     
    107125
    108126case "$chemin" in
    109   "") chemin=$(which ffmpeg)
     127        "")
     128        if [ "$encodeur" == "ffmpeg2theora" ]; then
     129                chemin=$(which ffmpeg2theora)
     130        else
     131                chemin=$(which ffmpeg)
     132        fi
    110133esac
    111134
     
    114137fi
    115138       
    116 function spipmotion_encodage (){
     139function spipmotion_encodage_ffmpeg (){
    117140
    118141        ########## TRAITEMENT DES ARGUMENTS ###############
     
    129152       
    130153        case "$size" in
    131           "") size="-s 320x240"
    132         esac
    133        
    134         case "$bitrate" in
    135           "") bitrate="-vb 448k"
    136         esac
    137        
    138         case "$fps" in
    139           "") fps="-r 15"
     154          "") size="320x240"
     155        esac
     156       
     157        case "$bitrate_ffmpeg" in
     158          "") bitrate_ffmpeg="-vb 448k"
     159        esac
     160       
     161        case "$fps_ffmpeg" in
     162          "") fps_ffmpeg="15"
    140163        esac
    141164       
     
    183206        On encode un son
    184207        "
    185                 echo "nice -19 $chemin -i $entree $acodec $audiobitrate_quality $audiofreq $ac -y $sortie 2> $log >> $log"
    186                 nice -19 "$chemin" -i $entree $acodec $audiobitrate_quality $audiofreq $ac -y $sortie 2> $log >> $log ;;
     208                echo "nice -19 $chemin -i $entree $acodec $audiobitrate_quality_ffmpeg $audiofreq_ffmpeg $ac_ffmpeg -y $sortie 2> $log >> $log" >> $log
     209                nice -19 "$chemin" -i $entree $acodec $audiobitrate_quality_ffmpeg $audiofreq_ffmpeg $ac_ffmpeg -y $sortie 2> $log >> $log ;;
    187210          *".flv"|*".mp4"|*".ogv"|*".mov"|*".m4v"|*".webm" )
    188211                echo "SPIPmotion v$VERSION
     
    190213        On encode une video
    191214        "
    192                 echo "nice -19 $chemin -i $entree $acodec $audiobitrate_quality $ac $audiofreq $pass $fps $size $vcodec $bitrate $params_sup $fpre -y $sortie 2> $log >> $log"
    193                 nice -19 $chemin -i $entree $acodec $audiobitrate_quality $ac $audiofreq $pass $fps $size $vcodec $bitrate $params_sup $fpre -y $sortie  2> $log >> $log ;;
    194         esac
     215                echo "nice -19 $chemin -i $entree $acodec $audiobitrate_quality_ffmpeg $ac_ffmpeg $audiofreq_ffmpeg $pass $fps_ffmpeg -s $size $vcodec $bitrate_ffmpeg $params_sup $fpre -y $sortie 2> $log >> $log" >> $log
     216                nice -19 $chemin -i $entree $acodec $audiobitrate_quality_ffmpeg $ac_ffmpeg $audiofreq_ffmpeg $pass $fps_ffmpeg -s $size $vcodec $bitrate_ffmpeg $params_sup $fpre -y $sortie  2> $log >> $log ;;
     217        esac
     218}
     219
     220function spipmotion_encodage_ffmpeg2theora ()
     221{
     222        echo "SPIPmotion v$VERSION
     223       
     224        On encode une video via ffmpeg2theora
     225        "
     226        echo "$chemin $entree -v $videoquality $bitrate_ffmpeg2theora --soft-target $audiobitrate_quality_ffmpeg2theora $audiofreq_ffmpeg2theora $ac_ffmpeg2theora --max_size $size $fps_ffmpeg2theora $deux_passes --optimize --nice 9 -o $sortie 2> $log >> $log" >> $log
     227        $chemin $entree -v $videoquality $bitrate_ffmpeg2theora --soft-target $audiobitrate_quality_ffmpeg2theora $audiofreq_ffmpeg2theora $ac_ffmpeg2theora --max_size $size $fps_ffmpeg2theora $deux_passes --optimize --nice 9 -o $sortie 2> $log >> $log   
    195228}
    196229
    197230function ffmpeg_infos ()
    198231{
    199         [ -z "$info" ] && return 1
    200 
    201         if [ "$info" == "-version" ];then
    202                 ffmpeg $info 2>> $log >> $log
    203         else
    204                 ffmpeg $info 2>> /dev/null >> $log
    205         fi
     232        [ -z "$info" ] && return 1
     233
     234        if [ "$info" == "-version" ];then
     235                ffmpeg $info 2>> $log >> $log
     236        else
     237                ffmpeg $info 2>> /dev/null >> $log
     238        fi
    206239}
    207240
    208241if [ ! -z "$info" ];then
    209242        ffmpeg_infos
     243elif [ "$encodeur" == "ffmpeg2theora" ];then
     244        spipmotion_encodage_ffmpeg2theora
    210245else
    211         spipmotion_encodage
     246        spipmotion_encodage_ffmpeg
    212247fi
    213248
Note: See TracChangeset for help on using the changeset viewer.