lorsque vous joignez des vidéos (par exemple .flv) à un message - est-il possible d'interroger ses dimensions? le problème est - j'ai des vidéos en format 4: 3 et 16: 9 et j'ai besoin d'obtenir cette information.
des idées?
merci
php-flvinfo et php-mp4info sont des classes php permettant de lire flv et métadonnées mp4. vous pouvez le lire à la volée, ou il peut être possible d'effectuer une sauvegarde pour obtenir cette information quelque part dans la base de données.
C’est ainsi que je récupère des métadonnées vidéo (ou n’importe quelle image).
// assuming you have an attachment ID
$meta = wp_get_attachment_metadata( $attachment->ID );
// See what meta data is available
print_r( $meta );
// always check for the property's existence before trying to display it
if ( ! empty( $meta['width'] ) )
echo $meta['width'];
Vous pouvez utiliser n'importe quelle méta renvoyée avec print. J'espère que ça aide quelqu'un.
Vous auriez besoin d'un plugin pour faire cela. Il faudrait analyser la vidéo et enregistrer les méta-informations.
Je vous recommande de jeter un œil à cette bibliothèque pour commencer: http://code.google.com/p/flv4php/
En ce qui concerne l’implémentation en tant que plugin WordPress, vous devez écrire une fonction et la lier au filtre wp_generate_attachment_metadata. Le code ressemblera en gros à quelque chose comme ceci:
function my_attachment_metadata($meta, $attachment_id) {
$attachment = get_post( $attachment_id );
$mime = get_post_mime_type( $attachment );
$file = get_attached_file( $attachment_id );
// use the $mime value to determine if you need to scan the file (video/x-flv)
// use the $file for scanning for any meta data
// store the meta data in $meta['whatever'] for each piece of info
return $meta;
}
add_filter('wp_generate_attachment_metadata','my_attachment_metadata',10,2);
Toutes les métadonnées que vous ajoutez à $ meta et que vous y renvoyez seront stockées avec la publication en pièce jointe. Vous pourrez ensuite le récupérer ultérieurement, sans avoir à réparer le fichier ni quoi que ce soit, avec wp_get_attachment_metadata ($ attachment_id).
Je n'utilise pas de vidéos pour tester. Ma rapide suggestion serait d’essayer wp_get_attachment_metadata()
.