Changeset 61812 in spip-zone


Ignore:
Timestamp:
May 29, 2012, 12:09:57 PM (7 years ago)
Author:
kent1@…
Message:

On améliore la gestion des ipod/iphone pas de la dernière génération en tout cas

Location:
_plugins_/spipmotion
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipmotion/formulaires/spipmotion_encodage_video.html

    r51401 r61812  
    44                        [(#SAISIE{input,width_#ENV{valeur},
    55                                label=<:spipmotion:width_video:>,
    6                                 defaut=480,
     6                                defaut=640,
    77                                size=4})]
    88               
    99                        [(#SAISIE{input,height_#ENV{valeur},
    1010                                label=<:spipmotion:height_video:>,
    11                                 defaut=320,
     11                                defaut=480,
    1212                                size=4})]
    1313               
    1414                        [(#SAISIE{input,bitrate_#ENV{valeur},
    1515                                label=<:spipmotion:bitrate:>,
    16                                 defaut=418,
     16                                defaut=600,
    1717                                size=4})]
    1818               
     
    2020                                label=<:spipmotion:framerate:>,
    2121                                explication=<:spipmotion:explication_framerate:>,
     22                                defaut=25,
    2223                                size=4})]
    2324               
     
    105106                        <BOUCLE_mp4(CONDITION){si #ENV{valeur}|in_array{#ARRAY|push{mov}|push{mp4}|push{m4v}}|oui}>
    106107                                #SET{acodecs_possibles,#ARRAY|push{libfaac}|push{libmp3lame}}
    107                                 #SET{vcodecs_possibles,#ARRAY|push{libx264}|push{libxvid}|push{mpeg4}}
     108                                #SET{vcodecs_possibles,#ARRAY|push{libx264}|push{mpeg4}}
    108109                                #SET{formats_possibles,#ARRAY|push{ipod}|push{psp}|push{mp4}|push{m4v}}
    109110                                #SET{presets_qualite,#ARRAY|push{medium}|push{placebo}|push{ultrafast}|push{superfast}|push{faster}|push{fast}|push{slow}|push{slower}|push{veryslow}}
     
    131132                                        [(#SAISIE{selection_valeur,format_#ENV{valeur},
    132133                                                label=<:spipmotion:label_format_final:>,
    133                                                 defaut=ipod,
    134                                                 cacher_option_intro=oui,
    135134                                                datas=#GET{formats_possibles}})]
    136135                                ]
  • _plugins_/spipmotion/inc/encodage.php

    r58233 r61812  
    66 * Auteurs :
    77 * Quentin Drouet (kent1)
    8  * 2008-2011 - Distribué sous licence GNU/GPL
     8 * 2008-2012 - Distribué sous licence GNU/GPL
    99 *
    1010 */
     
    113113        $fichier_temp = "$dossier$query.$extension_attente";
    114114        $fichier_log = "$dossier$query.log";
    115         spip_log("le nom temporaire durant l'encodage est $fichier_temp","spipmotion");
    116115       
    117116        /**
     
    249248                                && ($source['audiochannels'] < 2)
    250249                                && ($encodeur != 'ffmpeg2theora')){
    251                         spip_log('on passe en deux canaux','spipmotion');
    252250                        $audiochannels = 2;
    253251                }else{
    254                         spip_log($source['audiochannels'].' canaux','spipmotion');
    255252                        $audiochannels = $source['audiochannels'];
    256253                }
     
    311308         */
    312309        if(in_array($source['extension'],lire_config('spipmotion/fichiers_videos_encodage',array()))){
    313                 /**
    314                  * Calcul de la hauteur en fonction de la largeur souhaitée
    315                  * et de la taille de la video originale
    316                  */
     310                $format = lire_config("spipmotion/format_$extension_attente");
     311               
    317312                $width = $source['largeur'];
    318313                $height = $source['hauteur'];
    319314                $width_finale = lire_config("spipmotion/width_$extension_attente",480);
    320 
     315               
     316                /**
     317                 * Les ipod/iphones 3Gs et inférieur ne supportent pas de résolutions > à 640x480
     318                 */
     319                if($format == 'ipod' && ($width_finale > 640))
     320                        $width_finale = 640;
     321
     322                /**
     323                 * On n'agrandit jamais la taille
     324                 * si la taille demandée est supérieure à la taille originale
     325                 */
    321326                if($width < $width_finale){
    322327                        $width_finale = $width;
     
    324329                }
    325330                else{
     331                        /**
     332                         * Calcul de la hauteur en fonction de la largeur souhaitée
     333                         * et de la taille de la video originale
     334                         */
    326335                        $height_finale = intval(round($source['hauteur']/($source['largeur']/$width_finale)));
    327336                }
     
    384393                if($vcodec == '--vcodec libx264'){
    385394                        $preset_quality = lire_config("spipmotion/vpreset_$extension_attente",'slow');
    386                         if(in_array('--enable-pthreads',@unserialize($spipmotion_compiler['configuration']))){
    387                                 $infos_sup_normal .= "-threads 0";
    388                         }
    389                         /**
    390                          * Encodage pour Ipod
    391                          * http://rob.opendot.cl/index.php/useful-stuff/ipod-video-guide/
    392                          */
    393                         if(lire_config("spipmotion/format_$extension_attente",'ipod') == 'ipod'){
    394                                 $infos_sup_normal .= ' -vpre ipod640';
     395                        $configuration = array();
     396                        if(is_array($spipmotion_compiler['configuration'])){
     397                                $configuration = $spipmotion_compiler['configuration'];
     398                        }
     399                        if(in_array('--enable-pthreads',$configuration)){
     400                                $infos_sup_normal .= " -threads 0 ";
     401                        }
     402                        /**
     403                         * Encodage pour Ipod/Iphone (<= 3G)
     404                         */
     405                        if($format == 'ipod'){
     406                                if(version_compare($ffmpeg_version,'0.7.10','<')){
     407                                        $infos_sup_normal .= ' -vpre baseline -vpre ipod640';
     408                                }else{
     409                                        $infos_sup_normal .= ' -profile baseline -vpre ipod640';       
     410                                }
    395411                        }
    396412                        /**
     
    398414                         * http://rob.opendot.cl/index.php/useful-stuff/psp-video-guide/
    399415                         */
    400                         if(lire_config("spipmotion/format_$extension_attente",'ipod') == 'psp'){
     416                        else if($format == 'psp'){
    401417                                $infos_sup_normal .= ' -vpre main';
    402418                                $infos_sup_normal .= ' -level 21';
     
    404420                        }
    405421                        $infos_sup_normal .= " -aspect $width_finale:$height_finale";
    406                         $infos_sup_normal .= ' -f '.lire_config("spipmotion/format_$extension_attente",'ipod');
     422                        if($format)
     423                                $infos_sup_normal .= ' -f '.$format;
    407424                }
    408425
     
    417434                 */
    418435                $passes = lire_config("spipmotion/passes_$extension_attente",'1');
    419                 spip_log("on est en $passes passe(s)","spipmotion");
    420436                $pass_log_file = $dossier.$query.'-pass';
    421437               
     
    427443                        spip_log($encodage,'spipmotion');
    428444                        $lancement_encodage = exec($encodage,$retour,$retour_int);
    429                         spip_log($retour_int,'spipmotion');
    430445                }else{
    431446                        if(($passes == "2") && ((($vcodec == '--vcodec libx264') && ($preset_quality != 'hq')) OR ($vcodec == '--vcodec flv') OR ($vcodec == '--vcodec libtheora') OR ($extension_attente == 'webm'))){
    432                                 spip_log('on encode en 2 passes','spipmotion');
    433447                                spip_log('Premiere passe','spipmotion');
    434448                                if ($ffmpeg_version < '0.7'){
     
    442456                                $infos_sup_normal_1 = "--params_supp \"-an $preset_1 -passlogfile $pass_log_file $infos_sup_normal $rotation\"";
    443457                                $encodage_1 = $spipmotion_sh." --force true --pass 1 $video_size --e $chemin $vcodec $fps $bitrate $infos_sup_normal_1 --s $fichier_temp --p ".lire_config("spipmotion/chemin","/usr/local/bin/ffmpeg")." --log $fichier_log";
     458                                spip_log($encodage_1,'spipmotion');
    444459                                $lancement_encodage_1 = exec($encodage_1,$retour_1,$retour_int_1);
    445460                                /**
     
    463478                                        spip_log($encodage,'spipmotion');
    464479                                        $lancement_encodage = exec($encodage,$retour,$retour_int);
    465                                         spip_log($retour_int,'spipmotion');
    466480                                }else{
    467481                                        $retour_int = 1;
     
    484498                                spip_log($encodage,'spipmotion');
    485499                                $lancement_encodage = exec($encodage,$retour,$retour_int);
    486                                 spip_log($retour_int,'spipmotion');
    487500                        }
    488501                }
     
    503516                 */
    504517                $mode = 'document';
    505 
     518                spip_log('Ajout du document en base','spipmotion');
    506519                $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
    507520                $x = $ajouter_documents($fichier_temp, $fichier_final, $type_doc, $id_objet, $mode, '', $actif,'','','');
    508 
     521                spip_log('le nouveau document est le '.$x,'spipmotion');
    509522                if(intval($x) > 1){
    510523                        supprimer_fichier($fichier_temp);
     
    515528                         * - On ajoute la date de fin d'encodage
    516529                         */
     530                       
    517531                        $infos_encodage['fin_encodage'] = time();
     532                        spip_log('Insertion du temps final d encodage : '.$infos_encodage['fin_encodage'],'spipmotion');
    518533                        sql_updateq("spip_spipmotion_attentes",array('encode'=>'oui','infos' => serialize($infos_encodage)),"id_spipmotion_attente=".intval($doc_attente));
    519534
  • _plugins_/spipmotion/plugin.xml

    r58232 r61812  
    1818        <lien>http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/spipmotion/</lien>
    1919       
    20         <version>0.9.9</version>
     20        <version>0.9.10</version>
    2121        <version_base>0.8.2</version_base>
    2222        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.