source: spip-zone/_plugins_/spipmotion/trunk/base/spipmotion.php @ 67940

Last change on this file since 67940 was 67940, checked in by kent1@…, 7 years ago

On ajoute un champs en base : aspect_ratio qui est le ratio d'affichage de la vidéo, des fois les vidéos annoncent une largeur et hauteur dont le ratio est différent du ratio souhaité à l'affichage (encodage pour les TV apparemment).

On prend compte de ce ratio dans l'encodage

On récupère une vignette de la vidéo qui correspond à ce ratio également

Version 1.2.1

File size: 4.4 KB
Line 
1<?php
2/**
3 * SPIPmotion
4 * Gestion de l'encodage et des métadonnées de vidéos directement dans spip
5 *
6 * Auteurs :
7 * kent1 (http://www.kent1.info - kent1@arscenic.info)
8 * 2008-2012 - Distribué sous licence GNU/GPL
9 *
10 */
11
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14function spipmotion_declarer_tables_principales($tables_principales){
15        $tables_principales['spip_documents']['field']['duree'] = "VARCHAR(255) DEFAULT '' NOT NULL";
16        $tables_principales['spip_documents']['field']['bitrate'] = "INTEGER";
17        $tables_principales['spip_documents']['field']['hasvideo'] = "VARCHAR(3) DEFAULT '' NOT NULL";
18        $tables_principales['spip_documents']['field']['hasaudio'] = "VARCHAR(3) DEFAULT '' NOT NULL";
19        $tables_principales['spip_documents']['field']['framecount'] = "INTEGER";
20        $tables_principales['spip_documents']['field']['framerate'] = "FLOAT";
21        $tables_principales['spip_documents']['field']['rotation'] = "INTEGER";
22        $tables_principales['spip_documents']['field']['aspect_ratio'] = "VARCHAR(255) DEFAULT '' NOT NULL";
23        $tables_principales['spip_documents']['field']['pixelformat'] = "VARCHAR(255) DEFAULT '' NOT NULL";
24        $tables_principales['spip_documents']['field']['videobitrate'] = "INTEGER";
25        $tables_principales['spip_documents']['field']['videocodec'] = "VARCHAR(255) DEFAULT '' NOT NULL";
26        $tables_principales['spip_documents']['field']['videocodecid'] = "VARCHAR(255) DEFAULT '' NOT NULL";
27        $tables_principales['spip_documents']['field']['audiobitrate'] = "INTEGER";
28        $tables_principales['spip_documents']['field']['audiobitratemode'] = "text DEFAULT '' NOT NULL";
29        $tables_principales['spip_documents']['field']['audiosamplerate'] = "INTEGER";
30        $tables_principales['spip_documents']['field']['audiocodec'] = "VARCHAR(255) DEFAULT '' NOT NULL";
31        $tables_principales['spip_documents']['field']['audiocodecid'] = "VARCHAR(255) DEFAULT '' NOT NULL";
32        $tables_principales['spip_documents']['field']['audiochannels'] = "INTEGER";
33        $tables_principales['spip_documents']['field']['encodeur'] = "text DEFAULT '' NOT NULL";
34        $tables_principales['spip_documents']['field']['metadatas'] = "LONGTEXT DEFAULT '' NOT NULL";
35
36        return $tables_principales;
37}
38
39// Declarer dans la table des tables pour sauvegarde
40function spipmotion_declarer_tables_interfaces($interfaces){
41        $interfaces['table_des_tables']['spipmotion_metas'] = 'spipmotion_metas';
42        return $interfaces;
43}
44
45/**
46 *
47 */
48function spipmotion_declarer_tables_auxiliaires($tables_auxiliaires){   
49        $spip_spipmotion_metas = array(
50                "nom" => "VARCHAR (255) NOT NULL",
51                "valeur" => "text DEFAULT ''",
52                "impt"  => "VARCHAR(3) DEFAULT 'oui' NOT NULL",
53                "maj"   => "TIMESTAMP");
54
55        $spip_spipmotion_metas_key = array(
56                "PRIMARY KEY"   => "nom");
57
58        $tables_auxiliaires['spip_spipmotion_metas'] = array(
59                'field' => &$spip_spipmotion_metas, 
60                'key' => &$spip_spipmotion_metas_key
61        );
62        return $tables_auxiliaires;
63}
64
65/**
66 * Insertion dans le pipeline declarer_tables_objets_sql (SPIP)
67 * On ajoute nos champs dans les champs editables de la table spip_documents
68 */
69function spipmotion_declarer_tables_objets_sql($tables){
70        $tables['spip_documents']['champs_editables'][] = 'duree';
71        $tables['spip_documents']['champs_editables'][] = 'bitrate';
72        $tables['spip_documents']['champs_editables'][] = 'hasvideo';
73        $tables['spip_documents']['champs_editables'][] = 'hasaudio';
74        $tables['spip_documents']['champs_editables'][] = 'framecount';
75        $tables['spip_documents']['champs_editables'][] = 'framerate';
76        $tables['spip_documents']['champs_editables'][] = 'pixelformat';
77        $tables['spip_documents']['champs_editables'][] = 'aspect_ratio';
78        $tables['spip_documents']['champs_editables'][] = 'bitrate_mode';
79        $tables['spip_documents']['champs_editables'][] = 'videobitrate';
80        $tables['spip_documents']['champs_editables'][] = 'videocodec';
81        $tables['spip_documents']['champs_editables'][] = 'videocodecid';
82        $tables['spip_documents']['champs_editables'][] = 'audiobitrate';
83        $tables['spip_documents']['champs_editables'][] = 'audiobitratemode';
84        $tables['spip_documents']['champs_editables'][] = 'audiosamplerate';
85        $tables['spip_documents']['champs_editables'][] = 'audiocodec';
86        $tables['spip_documents']['champs_editables'][] = 'audiocodecid';
87        $tables['spip_documents']['champs_editables'][] = 'audiochannels';
88        $tables['spip_documents']['champs_editables'][] = 'rotation';
89        $tables['spip_documents']['champs_editables'][] = 'encodeur';
90        $tables['spip_documents']['champs_editables'][] = 'metadatas';
91       
92        return $tables;
93}
94?>
Note: See TracBrowser for help on using the repository browser.