Предварительный просмотр видео в NextCloud

Задача:
---------------------------------------------------------------Настроит предварительный просмотр видео файлов в Nextcloud
Вот что имеем при открытии директории содержащей видео файлы

Приложение Preview Generator позволяет администраторам предварительно создавать превьюшки, иначе говоря миниатюрные изображения, дающие понять что содержит файл. Preview Generator может заранее генерировать файлы предварительного просмотра. Это означает, что можно более оптимально использовать ресурсы сервера, предварительно создав preview файлы. Например ночью во время простоя системы, когда нагрузка на ваш сервер фактически отсутствует.

Приложение не заменяет создание предварительного просмотра по запросу, поэтому, если предварительный просмотр запрашивается до того, как он был предварительно создан, он все равно будет отображаться.
И так, имеем следующую операционную систему с установленным веб-сервером и NextCloud
root@cloud:/ # uname -a FreeBSD cloud 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC amd64 root@cloud:/ # mysql --version mysql Ver 15.1 Distrib 10.3.27-MariaDB, for FreeBSD12.1 (amd64) using readline 5.1 root@cloud:/ # nginx -v nginx version: nginx/1.18.0 root@cloud:/ # sudo -u www php /usr/local/www/nextcloud/occ -V The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php Cloud 20.0.1 root@cloud:/ # php -v PHP 7.3.24 (cli) (built: Nov 3 2020 01:13:16) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.24, Copyright (c) 1999-2018, by Zend Technologies root@cloud:/ # php -m [PHP Modules] apcu bcmath bz2 Core ctype curl date dom exif fileinfo filter ftp gd gmp hash iconv imagick imap intl json libxml mbstring memcached mysqlnd openssl pcre PDO pdo_mysql pdo_sqlite Phar posix redis Reflection session SimpleXML SPL sqlite3 standard tokenizer xml xmlreader xmlwriter Zend OPcache zip zlib [Zend Modules] Zend OPcache root@cloud:/ #
Проверяем в консоли, установлено ли приложение Preview Generator
root@cloud:/ # sudo -u www php /usr/local/www/nextcloud/occ preview:generate The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php Command "preview:generate" is not defined. Did you mean one of these? migrations:generate migrations:generate-from-schema notification:generate preview:repair root@cloud:/ #
Как видим, поддержка команды отсутствует. Об установке приложения из консоли я рассказывал в статье “Установка приложение Nextcloud из консоли сервера на примере keeweb“.
Установим приложение через веб-интерфейс. По завершению установки, включаем.

Проверяем появилась ли поддержка команды в консоли:
root@cloud:/ # sudo -u www php /usr/local/www/nextcloud/occ preview The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php Command "preview" is not defined. Did you mean one of these? preview:delete_old preview:generate-all preview:pre-generate preview:repair root@cloud:/ #
Проверяем установлен ли пакет ffmpeg
root@cloud:/ # pkg info | grep ffmpeg root@cloud:/ #
Устанавливаем
root@cloud:/ # pkg install ffmpeg Updating FreeBSD repository catalogue... Fetching meta.txz: 100% 916 B 0.9kB/s 00:01 Fetching packagesite.txz: 100% 6 MiB 6.7MB/s 00:01 Processing entries: 0% Newer FreeBSD version for package gpart: To ignore this error set IGNORE_OSVERSION=yes - package: 1201000 - running kernel: 1200086 Ignore the mismatch and continue? [y/N]: y Processing entries: 100% FreeBSD repository update completed. 31971 packages processed. All repositories are up to date. New version of pkg detected; it needs to be installed first. The following 1 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: pkg: 1.15.6 -> 1.15.10 Number of packages to be upgraded: 1 7 MiB to be downloaded. Proceed with this action? [y/N]: y [1/1] Fetching pkg-1.15.10.txz: 100% 7 MiB 6.9MB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Upgrading pkg from 1.15.6 to 1.15.10... [1/1] Extracting pkg-1.15.10: 100% Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 18 package(s) will be affected (of 0 checked): New packages to be INSTALLED: aom: 2.0.0_1 argp-standalone: 1.3_4 dav1d: 0.7.1 ffmpeg: 4.3.1_3,1 libass: 0.14.0 libogg: 1.3.4,4 libtheora: 1.1.1_7 libudev-devd: 0.4.2_1 libv4l: 1.18.0 libva: 2.9.0 libvdpau: 1.4 libvorbis: 1.3.7_2,3 libvpx: 1.9.0 libx264: 0.160.3011 opencv-core: 3.4.1_36 opus: 1.3.1 x265: 3.4 xvid: 1.3.7,1 Number of packages to be installed: 18 The process will require 149 MiB more space. 27 MiB to be downloaded. Proceed with this action? [y/N]: y [1/18] Fetching ffmpeg-4.3.1_3,1.txz: 100% 15 MiB 16.1MB/s 00:01 [2/18] Fetching libudev-devd-0.4.2_1.txz: 100% 15 KiB 14.9kB/s 00:01 [3/18] Fetching libvpx-1.9.0.txz: 100% 1 MiB 1.4MB/s 00:01 [4/18] Fetching xvid-1.3.7,1.txz: 100% 280 KiB 286.6kB/s 00:01 [5/18] Fetching x265-3.4.txz: 100% 2 MiB 2.0MB/s 00:01 [6/18] Fetching libx264-0.160.3011.txz: 100% 678 KiB 694.3kB/s 00:01 [7/18] Fetching libvdpau-1.4.txz: 100% 56 KiB 57.3kB/s 00:01 [8/18] Fetching libva-2.9.0.txz: 100% 150 KiB 154.0kB/s 00:01 [9/18] Fetching libv4l-1.18.0.txz: 100% 364 KiB 372.3kB/s 00:01 [10/18] Fetching argp-standalone-1.3_4.txz: 100% 34 KiB 34.7kB/s 00:01 [11/18] Fetching libtheora-1.1.1_7.txz: 100% 169 KiB 173.5kB/s 00:01 [12/18] Fetching libvorbis-1.3.7_2,3.txz: 100% 342 KiB 350.1kB/s 00:01 [13/18] Fetching libogg-1.3.4,4.txz: 100% 192 KiB 196.7kB/s 00:01 [14/18] Fetching libass-0.14.0.txz: 100% 136 KiB 138.9kB/s 00:01 [15/18] Fetching dav1d-0.7.1.txz: 100% 377 KiB 386.3kB/s 00:01 [16/18] Fetching aom-2.0.0_1.txz: 100% 3 MiB 3.1MB/s 00:01 [17/18] Fetching opencv-core-3.4.1_36.txz: 100% 2 MiB 2.2MB/s 00:01 [18/18] Fetching opus-1.3.1.txz: 100% 328 KiB 335.8kB/s 00:01 Checking integrity... done (0 conflicting) [1/18] Installing libogg-1.3.4,4... [1/18] Extracting libogg-1.3.4,4: 100% [2/18] Installing libudev-devd-0.4.2_1... [2/18] Extracting libudev-devd-0.4.2_1: 100% [3/18] Installing argp-standalone-1.3_4... [3/18] Extracting argp-standalone-1.3_4: 100% [4/18] Installing libvorbis-1.3.7_2,3... [4/18] Extracting libvorbis-1.3.7_2,3: 100% [5/18] Installing libvpx-1.9.0... [5/18] Extracting libvpx-1.9.0: 100% [6/18] Installing xvid-1.3.7,1... [6/18] Extracting xvid-1.3.7,1: 100% [7/18] Installing x265-3.4... [7/18] Extracting x265-3.4: 100% [8/18] Installing libx264-0.160.3011... [8/18] Extracting libx264-0.160.3011: 100% [9/18] Installing libvdpau-1.4... [9/18] Extracting libvdpau-1.4: 100% [10/18] Installing libva-2.9.0... [10/18] Extracting libva-2.9.0: 100% [11/18] Installing libv4l-1.18.0... [11/18] Extracting libv4l-1.18.0: 100% [12/18] Installing libtheora-1.1.1_7... [12/18] Extracting libtheora-1.1.1_7: 100% [13/18] Installing libass-0.14.0... [13/18] Extracting libass-0.14.0: 100% [14/18] Installing dav1d-0.7.1... [14/18] Extracting dav1d-0.7.1: 100% [15/18] Installing aom-2.0.0_1... [15/18] Extracting aom-2.0.0_1: 100% [16/18] Installing opencv-core-3.4.1_36... [16/18] Extracting opencv-core-3.4.1_36: 100% [17/18] Installing opus-1.3.1... [17/18] Extracting opus-1.3.1: 100% [18/18] Installing ffmpeg-4.3.1_3,1... [18/18] Extracting ffmpeg-4.3.1_3,1: 100% ===== Message from argp-standalone-1.3_4: -- ===> NOTICE: The argp-standalone port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port ===== Message from opencv-core-3.4.1_36: -- ===> NOTICE: The opencv-core port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port root@cloud:/ #
Правим конфиг nextcloud.
root@cloud:/usr/local/www/nextcloud # ee config/config.php
Используемые по умолчанию параметры в конфиге вы не найдете
'enable_previews' => true,.. 'enabledPreviewProviders' => [ 'OC\Preview\PNG', 'OC\Preview\JPEG', 'OC\Preview\GIF', 'OC\Preview\HEIC', 'OC\Preview\BMP', 'OC\Preview\XBitmap', 'OC\Preview\MP3', 'OC\Preview\TXT', 'OC\Preview\MarkDown', 'OC\Preview\OpenDocument', 'OC\Preview\Krita', ],
Вот часть моего конфига
'updater.release.channel' => 'stable', 'maintenance' => false, 'loglevel' => 0, 'theme' => '', 'enable_previews' => true,.. 'enabledPreviewProviders' => [ 'OC\Preview\PNG', 'OC\Preview\JPEG', 'OC\Preview\GIF', 'OC\Preview\HEIC', 'OC\Preview\BMP', 'OC\Preview\XBitmap', 'OC\Preview\MP3', 'OC\Preview\TXT', 'OC\Preview\MarkDown', 'OC\Preview\OpenDocument', 'OC\Preview\Krita', 'OC\Preview\PDF', 'OC\Preview\Movie', ], 'twofactor_enforced' => 'true',
Перезагружаем конфигурацию nginx
nginx -s reload
или полностью службу
service nginx restart
Проверяем работу

Запускаем генерацию картинок предварительного просмотра
root@cloud:/ # sudo -u www php /usr/local/www/nextcloud/occ preview:generate-all -vvv 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190712_105024.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190713_165611.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190717_140407.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190717_140434.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190717_155956.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190721_182102.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190802_211838.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190810_130339.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190810_130347.jpg 2020-11-16T21:49:49+00:00 Generating previews for /user/files/SofortUpload/Camera/IMG_20190810_130525.jpg
Чтобы сэкономить ресурсы, настроим CRON для генерации превьюшек на 5 часов ночи
root@cloud:/usr/local/www/nextcloud # crontab -u www -e
Если возникнут трудности, читаем как пользоваться текстовым редактором vi
PATH=/usr/local/bin */15 * * * * php -f /usr/local/www/nextcloud/cron.php 0 5 * * * php /usr/local/www/nextcloud/occ preview:pre-generate
Проверяем изменения
root@cloud:/usr/local/www/nextcloud # crontab -u www -l PATH=/usr/local/bin */15 * * * * php -f /usr/local/www/nextcloud/cron.php 0 5 * * * php /usr/local/www/nextcloud/occ preview:pre-generate root@cloud:/usr/local/www/nextcloud #
Здравствуйте.
Подскажите, пожалуйста, как настроить редактор документов таким образом, чтобы при открытии файла на редактировании средствами редактора OnlyOffice Docs, открывался в новой вкладке, а не той же и список файлов.