From a656aa007246d8b50e7413dc60e294b5a513e64d Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Thu, 24 Jan 2019 18:03:03 +0400 Subject: [PATCH 1/6] audio subdeffrom video --- .../Controller/Admin/SubdefsController.php | 11 +++++++++- .../Phrasea/Filesystem/FilesystemService.php | 2 ++ lib/Alchemy/Phrasea/Media/Subdef/Audio.php | 20 ++++++++++++++++++- lib/classes/databox/subdef.php | 6 +++++- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index 6b938cb569..a0adaba9ac 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -145,6 +145,7 @@ class SubdefsController extends Controller $options[Audio::OPTION_AUDIOBITRATE] = $config["audio"]["definitions"][$preset][Audio::OPTION_AUDIOBITRATE]; $options[Audio::OPTION_AUDIOSAMPLERATE] = $config["audio"]["definitions"][$preset][Audio::OPTION_AUDIOSAMPLERATE]; $options[Audio::OPTION_ACODEC] = $config["audio"]["definitions"][$preset][Audio::OPTION_ACODEC]; + $options[Audio::OPTION_AUDIOCHANNEL] = $config["audio"]["definitions"][$preset][Audio::OPTION_AUDIOCHANNEL]; foreach ($config["audio"]["definitions"][$preset][Subdef::OPTION_DEVICE] as $devices) { $options[Subdef::OPTION_DEVICE][] = $devices; } @@ -211,7 +212,7 @@ class SubdefsController extends Controller { $mapping = [ Type::TYPE_IMAGE => [Subdef::TYPE_IMAGE, Subdef::TYPE_PDF], - Type::TYPE_VIDEO => [Subdef::TYPE_IMAGE, Subdef::TYPE_VIDEO, Subdef::TYPE_ANIMATION], + Type::TYPE_VIDEO => [Subdef::TYPE_IMAGE, Subdef::TYPE_VIDEO, Subdef::TYPE_ANIMATION, Subdef::TYPE_AUDIO], Type::TYPE_AUDIO => [Subdef::TYPE_IMAGE, Subdef::TYPE_AUDIO], Type::TYPE_DOCUMENT => [Subdef::TYPE_IMAGE, Subdef::TYPE_FLEXPAPER, Subdef::TYPE_PDF], Type::TYPE_FLASH => [Subdef::TYPE_IMAGE] @@ -543,11 +544,19 @@ class SubdefsController extends Controller Audio::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], + "Wave Mono 256 kbit/s" => [ + Audio::OPTION_AUDIOBITRATE => "256", + Audio::OPTION_AUDIOSAMPLERATE => "16000", + Audio::OPTION_ACODEC => "pcm_s16le", + Audio::OPTION_AUDIOCHANNEL => "mono", + Subdef::OPTION_DEVICE => ["all"] + ], ], "form" => [ Audio::OPTION_AUDIOBITRATE => "slide", Audio::OPTION_AUDIOSAMPLERATE => "select", Audio::OPTION_ACODEC => "select", + Audio::OPTION_AUDIOCHANNEL => "select", Subdef::OPTION_DEVICE => "checkbox", ], ], diff --git a/lib/Alchemy/Phrasea/Filesystem/FilesystemService.php b/lib/Alchemy/Phrasea/Filesystem/FilesystemService.php index fe2ac305c9..8da30984f0 100644 --- a/lib/Alchemy/Phrasea/Filesystem/FilesystemService.php +++ b/lib/Alchemy/Phrasea/Filesystem/FilesystemService.php @@ -201,6 +201,8 @@ class FilesystemService return 'ogg'; case 'libmp3lame': return 'mp3'; + case 'pcm_s16le': + return 'wav'; } return null; diff --git a/lib/Alchemy/Phrasea/Media/Subdef/Audio.php b/lib/Alchemy/Phrasea/Media/Subdef/Audio.php index ac50940dc1..2551669dd1 100644 --- a/lib/Alchemy/Phrasea/Media/Subdef/Audio.php +++ b/lib/Alchemy/Phrasea/Media/Subdef/Audio.php @@ -19,6 +19,7 @@ class Audio extends Provider const OPTION_THREADS = 'threads'; const OPTION_ACODEC = 'acodec'; const OPTION_AUDIOSAMPLERATE = 'audiosamplerate'; + const OPTION_AUDIOCHANNEL = 'audiochannel'; public function __construct(TranslatorInterface $translator) { @@ -29,9 +30,12 @@ class Audio extends Provider 47250, 48000, 50000, 50400, 88200, 96000 ]; + $audioChannel = ['mono', 'stereo']; + $this->registerOption(new OptionType\Range($this->translator->trans('Audio Birate'), self::OPTION_AUDIOBITRATE, 32, 320, 128, 32)); $this->registerOption(new OptionType\Enum($this->translator->trans('AudioSamplerate'), self::OPTION_AUDIOSAMPLERATE, $AVaudiosamplerate)); - $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libmp3lame', 'flac'], 'libmp3lame')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libmp3lame', 'flac', 'pcm_s16le'], 'libmp3lame')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio channel'), self::OPTION_AUDIOCHANNEL, $audioChannel)); } public function getType() @@ -53,7 +57,21 @@ class Audio extends Provider $this->spec->setAudioCodec($this->getOption(self::OPTION_ACODEC)->getValue()); $this->spec->setAudioSampleRate($this->getOption(self::OPTION_AUDIOSAMPLERATE)->getValue()); $this->spec->setAudioKiloBitrate($this->getOption(self::OPTION_AUDIOBITRATE)->getValue()); + $this->spec->setAudioChannels($this->getChannelNumber($this->getOption(self::OPTION_AUDIOCHANNEL)->getValue())); return $this->spec; } + + private function getChannelNumber($audioChannel) + { + switch($audioChannel) + { + case 'mono': + return 1; + case 'stereo': + return 2; + default: + return null; + } + } } diff --git a/lib/classes/databox/subdef.php b/lib/classes/databox/subdef.php index 0dcab4ccc1..f1a269d731 100644 --- a/lib/classes/databox/subdef.php +++ b/lib/classes/databox/subdef.php @@ -44,7 +44,7 @@ class databox_subdef SubdefType::TYPE_DOCUMENT => [SubdefSpecs::TYPE_IMAGE, SubdefSpecs::TYPE_FLEXPAPER, SubdefSpecs::TYPE_PDF], SubdefType::TYPE_FLASH => [SubdefSpecs::TYPE_IMAGE], SubdefType::TYPE_IMAGE => [SubdefSpecs::TYPE_IMAGE, SubdefSpecs::TYPE_PDF], - SubdefType::TYPE_VIDEO => [SubdefSpecs::TYPE_IMAGE, SubdefSpecs::TYPE_VIDEO, SubdefSpecs::TYPE_ANIMATION], + SubdefType::TYPE_VIDEO => [SubdefSpecs::TYPE_IMAGE, SubdefSpecs::TYPE_VIDEO, SubdefSpecs::TYPE_ANIMATION, SubdefSpecs::TYPE_AUDIO], SubdefType::TYPE_UNKNOWN => [SubdefSpecs::TYPE_IMAGE], ]; const CLASS_THUMBNAIL = 'thumbnail'; @@ -156,6 +156,10 @@ class databox_subdef if ($sd->audiosamplerate) { $audio->setOptionValue(Audio::OPTION_AUDIOSAMPLERATE, (int) $sd->audiosamplerate); } + if ($sd->audiochannel) { + $audio->setOptionValue(Audio::OPTION_AUDIOCHANNEL, (string) $sd->audiochannel); + } + return $audio; } /** From 30649b0db541ad2ee6d4facaacbc6787ac15926e Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Fri, 25 Jan 2019 16:32:10 +0400 Subject: [PATCH 2/6] update lib media-alchemyst to 0.5.2 --- composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 80ccaa0827..be28149a9e 100644 --- a/composer.lock +++ b/composer.lock @@ -4334,16 +4334,16 @@ }, { "name": "media-alchemyst/media-alchemyst", - "version": "0.5.1", + "version": "0.5.2", "source": { "type": "git", "url": "https://github.com/alchemy-fr/Media-Alchemyst.git", - "reference": "b82bb891640cb1ce5d5523235047c34c64194514" + "reference": "5d2fe6dd95215804202ecf0466fd9cfaeedd0140" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/alchemy-fr/Media-Alchemyst/zipball/b82bb891640cb1ce5d5523235047c34c64194514", - "reference": "b82bb891640cb1ce5d5523235047c34c64194514", + "url": "https://api.github.com/repos/alchemy-fr/Media-Alchemyst/zipball/5d2fe6dd95215804202ecf0466fd9cfaeedd0140", + "reference": "5d2fe6dd95215804202ecf0466fd9cfaeedd0140", "shasum": "" }, "require": { @@ -4404,7 +4404,7 @@ "video", "video processing" ], - "time": "2016-03-16T13:11:52+00:00" + "time": "2019-01-25T12:09:11+00:00" }, { "name": "monolog/monolog", From 605e6b031ae0a49af19b32ca2c31bedb480603e0 Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Tue, 29 Jan 2019 16:54:18 +0400 Subject: [PATCH 3/6] fix presets audio name --- .../Controller/Admin/SubdefsController.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index a0adaba9ac..e30aa03946 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -526,31 +526,38 @@ class SubdefsController extends Controller ], Subdef::TYPE_AUDIO => [ "definitions" => [ - "Low AAC 96 kbit/s" => [ + "Low MP3 96 kbit/s" => [ Audio::OPTION_AUDIOBITRATE => "100", Audio::OPTION_AUDIOSAMPLERATE => "8000", Audio::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "Normal AAC 128 kbit/s" => [ + "Normal MP3 128 kbit/s" => [ Audio::OPTION_AUDIOBITRATE => "180", Audio::OPTION_AUDIOSAMPLERATE => "44100", Audio::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "High AAC 320 kbit/s" => [ + "High MP3 320 kbit/s" => [ Audio::OPTION_AUDIOBITRATE => "230", Audio::OPTION_AUDIOSAMPLERATE => "50000", Audio::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "Wave Mono 256 kbit/s" => [ + "Wave Mono 16 kHz" => [ Audio::OPTION_AUDIOBITRATE => "256", Audio::OPTION_AUDIOSAMPLERATE => "16000", Audio::OPTION_ACODEC => "pcm_s16le", Audio::OPTION_AUDIOCHANNEL => "mono", Subdef::OPTION_DEVICE => ["all"] ], + "Wave Mono 8 kHz" => [ + Audio::OPTION_AUDIOBITRATE => "128", + Audio::OPTION_AUDIOSAMPLERATE => "8000", + Audio::OPTION_ACODEC => "pcm_s16le", + Audio::OPTION_AUDIOCHANNEL => "mono", + Subdef::OPTION_DEVICE => ["all"] + ], ], "form" => [ Audio::OPTION_AUDIOBITRATE => "slide", From 0010340d879c391400ccb925fdb238ecd82d3e4c Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 1 Feb 2019 17:01:21 +0100 Subject: [PATCH 4/6] Update Authors In 4.1 PHRAS-2397 --- AUTHORS | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/AUTHORS b/AUTHORS index d749eb8fcf..759fbbde75 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,28 +1,40 @@ ** Phraseanet is written and maintained by the Phraseanet Developer Team ** - Benoît Burnichon - Jean-Yves Gaulier - Andrey Kalinovsky - Nicolas Legoff - Romain Neutron + - Jean-Yves Gaulier + - Milos M + - Mike NG + - Xavier Rousset + - Aina Sitraka + - Filip Vilic + ** Proudly Powered by Alchemy ** - Nicolas Amendola - Nathanaël Attar - Aurélie Bachelet - Anthony Cabot - Moctar Diouf - Jennifer Guérin - Nicolas Honoré - Nicolas Maillat - Guillaume Maubert - Jonathan Schneider + - Aurélie Bachelet + - Laetitia Bianchi + - Anthony Cabot + - Moctar Diouf + - Jennifer Guérin + - Félix Noir + - Nicolas Maillat + - Guillaume Maubert + ** They gave some love to Phraseanet ** - Ysoline Gresille + - Nicolas Amendola + - Nathanaël Attar + - Florian Blouet + - Benoît Burnichon + - Thibaud Fabre + - Ysoline Gresille + - Nicolas Honoré + - Andrey Kalinovsky + - Nicolas Legoff + - Romain Neutron + - Jonathan Schneider + Phraseanet c/o Alchemy 30 Place Saint Georges 75009 Paris - France From 3d13616e7810edb660dc6dfbaab1c4bce767536d Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 1 Feb 2019 17:37:22 +0100 Subject: [PATCH 5/6] Update Contributors PHRAS_2397 Update Contributors in Master --- CONTRIBUTORS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4c9772eaed..794f49dee1 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,3 +1,7 @@ +#version 4.0 + - Krzysztof Szulski Security + - Ideepix Docker Deploiement + #version 3.7 - Pieter Demonie (Dutch localization) From 1fb82d730cc9badfc9e63875b2596dd4cf2e9639 Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Mon, 11 Feb 2019 11:07:48 +0400 Subject: [PATCH 6/6] change database template to use pdf in default document preview --- lib/conf.d/data_templates/DublinCore.xml | 2 +- lib/conf.d/data_templates/en-simple.xml | 2 +- lib/conf.d/data_templates/fr-simple.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/conf.d/data_templates/DublinCore.xml b/lib/conf.d/data_templates/DublinCore.xml index aada9b2258..e50bf58612 100644 --- a/lib/conf.d/data_templates/DublinCore.xml +++ b/lib/conf.d/data_templates/DublinCore.xml @@ -148,7 +148,7 @@ {{datapathnoweb}}{{basename}}/subdefs - flexpaper + pdf no screen diff --git a/lib/conf.d/data_templates/en-simple.xml b/lib/conf.d/data_templates/en-simple.xml index e42b18a490..d4a00c347b 100644 --- a/lib/conf.d/data_templates/en-simple.xml +++ b/lib/conf.d/data_templates/en-simple.xml @@ -148,7 +148,7 @@ {{datapathnoweb}}{{basename}}/subdefs - flexpaper + pdf no screen diff --git a/lib/conf.d/data_templates/fr-simple.xml b/lib/conf.d/data_templates/fr-simple.xml index 6af9a072f3..3ada8adaa6 100644 --- a/lib/conf.d/data_templates/fr-simple.xml +++ b/lib/conf.d/data_templates/fr-simple.xml @@ -148,7 +148,7 @@ {{datapathnoweb}}{{basename}}/subdefs - flexpaper + pdf no screen