nextcloud 视频缩略图不显示解决办法,安装ffmpeg

一、首先在禁用函数里删除 exec、system 、proc_open、shell_exec(非必须)4个函数

proc_open函数:原因在“管理设置-日志”里查看,提示lib/private/Preview/Movie.php预览视频使用

shell_exec函数(非必须):原因在“管理设置-日志”里查看,提示apps/serverinfo/lib/OperatingSystems/DefaultOs.php查看系统信息所用

二、防跨站目录访问限制open_basedir需要开启例外目录,或者直接关闭

1、宝塔:程序根目录下.user.ini内修改,程序如在子目录则在子目录修改

默认开启open_basedir,网站根目录下将出现一个.user.ini文件,修改或新增如下:

 open_basedir=/www/wwwroot/888.com/:/tmp/:/proc/:/usr/local/bin/

代表该网站拥有操作/www/wwwroot/888.com//tmp/、/usr/local/bin/、/proc/这4个目录的文件操作权限,此外的目录将不允许操作。

必须/usr/local/bin/,不能用/usr/local/bin/ffmpeg/

必须/proc/,不能用/proc/cpuinfo/

如果程序不在子目录,open_basedir=/www/wwwroot/:/tmp/:/proc/

/proc/cpuinfo/表示后台系统,如不需要可以不添加/proc/

 2、APPnodo加例外目录:

方法1:/home/888.com/data/appdata_****/preview/【有时没效果】
方法2:/usr/local/bin【FFmpeg所在目录/usr/local/bin/ffmpeg的上层,可能还需要其他的】

参考https://github.com/nextcloud/previewgenerator/issues/206
        http://www.884358.com/open_basedir/

三、插件安装

安装ffmpeg 两种方式

方法1:

先安装yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure && make && make install

cd到主目录,然后安装ffmpeg 

wget http://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar -xvf ffmpeg-4.4.tar.gz
cd /root/ffmpeg-4.4/
./configure && make && make install

yasm是ffmpeg的环境

如果提示需要gcc,安装即可:yum install gcc 

方法2(可能不成功):

sudo yum install ffmpeg
sudo service nginx restart

安装过程有点漫长,耐心等待

添加配置
在你Nextcloud安装目录下的config/config.php文件中插入以下代码

'enable_previews' => true,
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\TXT',
1 => 'OC\\Preview\\MarkDown',
2 => 'OC\\Preview\\OpenDocument',
3 => 'OC\\Preview\\PDF',
4 => 'OC\\Preview\\MSOffice2003',
5 => 'OC\\Preview\\MSOfficeDoc',
6 => 'OC\\Preview\\PDF',
7 => 'OC\\Preview\\Image',
8 => 'OC\\Preview\\Photoshop',
9 => 'OC\\Preview\\TIFF',
10 => 'OC\\Preview\\SVG',
11 => 'OC\\Preview\\Font',
12 => 'OC\\Preview\\MP3',
13 => 'OC\\Preview\\Movie',
14 => 'OC\\Preview\\MKV',
15 => 'OC\\Preview\\MP4',
16 => 'OC\\Preview\\AVI',
),

重启php、nginx,好了。 

=========================以下是自动生成缩略图命令==========================

在Nextcloud应用程序商店中搜索并安装 Preview Generator
生成预览图
第一次生成命令(只运行一次,没异常的情况下不需要再运行,注意修改自己的网站目录)

sudo -u www php /var/www/nextcloud/occ preview:generate-all -vvv

添加Cron

crontab -u www -e
*/10 * * * * php /var/www/nextcloud/occ preview:pre-generate -vvv

或者 我使用的下面这种

#扫描所有图片并生成缩略图

sudo -u www php /www/wwwroot/nextcloud/occ preview:generate-all -vvv

#扫描最新文件并生成缩略图

sudo -u www php /www/wwwroot/nextcloud/occ preview:generate -vvv

#设置定时任务,在指定时间生成缩略图

crontab -e -u www
0 3 * * * php -f /www/wwwroot/nextcloud/occ preview:pre-generate -vvv

结束 

参考:https://www.cuiyonglv.cn/index.php/archives/1116.html 
https://blog.csdn.net/sayyy/article/details/124337834

Debian安装FFmpeg(支持https)_百口可乐__的博客-CSDN博客_debian安装ffmpeg1.安装openssl下载地址tar -zxvf openssl-fips-2.0.2.tar.gzcd openssl-fips-2.0.2./configsudo makesudo make install2.安装yasm下载地址tar -xzvf yasm-1.3.0.tar.gzcd yasm-1.3.0/./configuremakemake install3.安装FFmpeg下载地址tar -xjvf ffmpeg-2.5.11.tar.bz2cd ffmphttps://blog.csdn.net/m0_60352504/article/details/122275680

### 配置 Nextcloud 实现网页在线播放视频 为了使 Nextcloud 支持网页端直接播放视频,需确保几个关键设置和组件已正确部署。 #### 1. 安装 FFmpeg 插件 FFmpeg 是处理多媒体文件的重要工具,在 Nextcloud 中用于生成缩略图以及支持多种格式的媒体预览。对于快速安装 Nextcloud 的用户来说,推荐采用 snap 方式安装并启用 FFmpeg 功能[^2]: ```bash sudo snap install nextcloud sudo snap set nextcloud ffmpeg.enable=true ``` #### 2. 修改配置文件 编辑位于 `/var/snap/nextcloud/current/nextcloud/config/config.php` 文件中的相关参数来增强视频预览功能: ```php 'preview_max_x' => 1024, 'preview_max_y' => 768, 'mimetype_icon.mimetypes.video/mp4' => 'video-preview', 'mimetype_icon.mimetypes.video/webm' => 'video-preview', ``` 这些修改允许更大尺寸的视频封面图片显示,并指定特定类型的视频文件应被识别为可预览的内容。 #### 3. 启用 HTML5 Video Player 应用程序 前往 Nextcloud 管理后台的应用市场查找名为 "HTML5 Video Player" 或者相似名称的应用,并激活它。这一步骤能够显著改善浏览器内的视频观看体验。 #### 4. 调整 Nginx 设置以优化流媒体传输效率 如果遇到 iframe 嵌入问题,则可能是由于 Web 服务器的安全策略所致。调整 Nginx 的安全头信息有助于解决此问题[^1]: ```nginx add_header X-Frame-Options SAMEORIGIN; add_header Content-Security-Policy "frame-ancestors 'self'"; ``` 以上更改使得页面仅能在同一域名下的框架内加载资源,从而提高安全性的同时也兼容了部分嵌套展示的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值