Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / medias
559 validations de retard le dépôt en amont.
video.php 1,44 Kio
<?php
/**
 * GetID3
 * Gestion des métadonnées de fichiers sonores et vidéos directement dans SPIP
 *
 * Auteurs :
 * kent1 (http://www.kent1.info - kent1@arscenic.info), BoOz
 * 2008-2016 - Distribué sous licence GNU/GPL
 *
 * @package SPIP\GetID3\Metadatas
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Fonction de récupération des métadonnées sur les fichiers vidéo
 * appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)
 *
 * @param string $file
 *    Le chemin du fichier à analyser
 * @return array $metas
 *    Le tableau comprenant les différentes metas à mettre en base
 */
function metadata_video($file) {
	$meta = array();

	include_spip('lib/getid3/getid3');
	$getID3 = new getID3;
	$getID3->setOption(array('tempdir' => _DIR_TMP));

	// Scan file - should parse correctly if file is not corrupted
	$file_info = $getID3->analyze($file);

	/**
	 * Les pistes vidéos
	 */
	if (isset($file_info['video'])) {
		$id3['hasvideo'] = 'oui';
		if (isset($file_info['video']['resolution_x'])) {
			$meta['largeur'] = $file_info['video']['resolution_x'];
		}
		if (isset($file_info['video']['resolution_y'])) {
			$meta['hauteur'] = $file_info['video']['resolution_y'];
		}
		if (isset($file_info['video']['frame_rate'])) {
			$meta['framerate'] = $file_info['video']['frame_rate'];
		}
	}
	if (isset($file_info['playtime_seconds'])) {
		$meta['duree'] = round($file_info['playtime_seconds'], 0);
	}

	return $meta;
}