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

Print Friendly, PDF & Email

Задача:

Настроит предварительный просмотр видео файлов в 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 #
Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *