Ignore:
Timestamp:
Apr 9, 2013, 2:12:43 PM (7 years ago)
Author:
kent1@…
Message:

Hop on récupère les infos des vidéos aussi (clap)

A tester et débugguer le cas échéant

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/getID3/trunk/inc/recuperer_id3.php

    r62814 r71837  
    66 * Auteurs :
    77 * kent1 (http://www.kent1.info - kent1@arscenic.info), BoOz
    8  * 2008-2012 - Distribué sous licence GNU/GPL
     8 * 2008-2013 - Distribué sous licence GNU/GPL
    99 *
    1010 */
     
    1919 *
    2020 * @param string $fichier
     21 *              Le chemin vers le fichier à analyser
    2122 * @param string $info
    22  * @param string $mime
    23  * @return array Le contenu complet des tags id3 et des données audio
     23 *              Une info spécifique à retourner sinon, on retourne le tableau complet
     24 * @return array $infos
     25 *              Le contenu complet des tags id3 et des données audio ou seulement l'info demandée
    2426 */
    25 function inc_recuperer_id3_dist($fichier,$info=null,$mime=null){
     27function inc_recuperer_id3_dist($fichier,$info=null){
    2628        include_spip('getid3/getid3');
    2729        $getID3 = new getID3;
     
    4446                            $dest = sous_repertoire(_DIR_VAR, 'cache-getid3');
    4547                                        $dest = $dest.$tmp_file;
    46                                         if ($ok = ecrire_fichier($dest, $file_info['id3v2']['APIC'][$cle]['data'])) {
     48                                        if ($ok = ecrire_fichier($dest, $file_info['id3v2']['APIC'][$cle]['data']))
    4749                                                $id3['cover'.$cle] = $dest;
    48                                         }
    4950                                }
    5051                        }
     
    5253                if(isset($file_info['flac']['APIC'])){
    5354                        if (isset($file_info['flac']['APIC']['data']) && isset($file_info['flac']['APIC']['image_mime'])) {
    54                                 spip_log($file_info['flac']['APIC']['image_mime'],'getid3');
    5555                    $extension = strtolower($file_info['flac']['APIC']['extension']);
    5656                    if($extension == 'jpeg')
     
    6464                        }
    6565                }
     66               
     67                /**
     68                 * On passe tous les comments en info
     69                 */
    6670                if(isset($file_info['comments_html'])){
    6771                        foreach($file_info['comments_html'] as $cle=>$val){
     
    6973                        }
    7074                }
     75                if(isset($file_info['tags_html'])){
     76                        foreach($file_info['tags_html'] as $cle=>$val){
     77                                $id3[$cle] = array_pop($val);
     78                        }
     79                }
     80                /**
     81                 * Les pistes vidéos
     82                 */
     83                if(isset($file_info['video'])){
     84                        $id3['hasvideo'] = 'oui';
     85                        $id3['largeur'] = isset($file_info['video']['resolution_x']) ?$file_info['video']['resolution_x'] : false;
     86                        $id3['hauteur'] = isset($file_info['video']['resolution_y']) ?$file_info['video']['resolution_y'] : false;
     87                        $id3['framerate'] = isset($file_info['video']['frame_rate']) ?$file_info['video']['frame_rate'] : false;
     88                }
     89               
     90                /**
     91                 * Les pistes audio
     92                 */
     93                if(isset($file_info['audio'])){
     94                        $id3['hasaudio'] = 'oui';
     95                        $id3['format'] = $file_info['audio']['dataformat'];
     96                        $id3['audiosamplerate'] = $file_info['audio']['sample_rate'] ;
     97                        $id3['bits'] = $file_info['audio']['bits_per_sample'];
     98                        $id3['audiocodec'] = ($file_info['audio']['encoder']) ? $file_info['audio']['encoder'] : $file_info['audio']['codec'];
     99                        $id3['bitrate_mode'] = $file_info['audio']['bitrate_mode'];
     100                        $id3['audiochannels'] = $file_info['audio']['channels'];
     101                        $id3['channel_mode'] = $file_info['audio']['channelmode'];
     102                }
     103               
    71104                /**
    72105                 * Cas des flac et ogg (certainement)
    73106                 */
    74                 if(isset($id3['date']) && !isset($id3['year'])){
     107                if(isset($id3['date']) && !isset($id3['year']))
    75108                        $id3['year'] = $id3['date'];
    76                 }
    77                 $id3['format'] = $file_info['audio']['dataformat'];
    78                 $id3['lossless'] = $file_info['audio']['lossless'];
    79                 $id3['audiosamplerate'] = $file_info['audio']['sample_rate'] ;
    80                 $id3['bits'] = $file_info['audio']['bits_per_sample'];
    81                 if(is_array($file_info['tags']['id3v2']['track'])){
     109               
     110                if(is_array($file_info['tags']['id3v2']['track']))
    82111                        $id3['track'] = array_pop($file_info['tags']['id3v2']['track']);
    83                 }
    84                 $id3['codec'] = ($file_info['audio']['encoder']) ? $file_info['audio']['encoder'] : $file_info['audio']['codec'];
    85                 if(is_array($file_info['tags']['id3v2']['totaltracks'])){
     112               
     113                if(is_array($file_info['tags']['id3v2']['totaltracks']))
    86114                        $id3['totaltracks'] = array_pop($file_info['tags']['id3v2']['totaltracks']);
    87                 }
    88                 $id3['bitrate'] = $file_info['audio']['bitrate'];
    89                 $id3['bitrate_mode'] = $file_info['audio']['bitrate_mode'];
    90                 $id3['duree_secondes'] = $file_info['playtime_seconds'];
    91                 $id3['duree'] = $file_info['playtime_string'];
    92                 $id3['channels'] = $file_info['audio']['channels'];
    93                 $id3['channel_mode'] = $file_info['audio']['channelmode'];
     115               
     116                $id3['bitrate'] = isset($file_info['bitrate']) ? floor($file_info['bitrate']) : floor($file_info['audio']['bitrate']);
     117                $id3['duree_secondes'] = $file_info['playtime_string'];
     118                $id3['duree'] = $file_info['playtime_seconds'];
    94119                $id3['mime'] = $file_info['mime_type'];
    95120        }
    96         if(!$info){
     121
     122        if(!$info)
    97123                return $id3;
    98         }
    99         else{
    100                 return $id3[$info];
    101         }
     124
     125        return $id3[$info];
    102126}
    103127?>
Note: See TracChangeset for help on using the changeset viewer.