爲nextcloud中的視頻文件配置縮略圖

通過docker安裝配置完成Nextcloud後你會發現所有的視頻文件都沒有縮略圖,這對於管理視頻文件來說非常令人頭疼。經過多日的摸索,筆者瞭解到,nextcloud是可以爲視頻文件產生縮略圖的,只是nextcloud需要使用ffmpeg來產生縮略圖,ffmpeg雖然功能非常強大,但是也存在兩方面的不足:其一是非常佔用空間,debian(dockers image所使用的系統)系統中安裝ffmpeg需要消耗300多M的硬盤空間,而整個nextcloud的docker鏡像也就幾百兆;其二,由於牽涉到對視頻文件的解碼,所以可能比較佔用CPU資源,這一點僅爲作者的個人直覺,並未完全求證。

一、安裝ffmpeg

正如前文所述,nextcloud的視頻文件縮略圖功能依賴於ffmpeg,因此我們首先需要安裝ffmpeg,代碼如下:

docker exec -it --user root nextcloud  sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
docker exec -it --user root nextcloud  apt-get update
docker exec -it --user root nextcloud  apt-get -y  install ffmpeg

上述代碼的第一行是替換容器中的debian系統的軟件源爲中科大的鏡像,這樣可以顯著提高ffmpeg的下載速度,該設置非必須的,只針對國內用戶,當然用戶也可根據自己的需要選擇其他軟件源。

檢查ffmpeg是否安裝成功,可以運行命令:

docker exec -it nextcloud  ffmpeg

如果能看到ffmpeg的版本信息,即表示安裝成功。

二、配置nextcloud,打開視頻文件縮略圖

配置nextcloud需要修改config/config.php文件,需要在文件中插入以下配置片段:

  'enable_previews' => true,
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\Image',
    1 => 'OC\\Preview\\Movie',
    2 => 'OC\\Preview\\TXT',
  ),

由於鏡像中沒有安裝文本編輯器,因此我們可以使用 "docker cp"命令將config.php拷貝至宿主機,編輯後重新拷貝回去,這裏,選擇另一種使用occ命令的方式來添加配置,這種方式不直接改動config.php文件,可以保證文件格式不發生錯誤,因此更加安全,具體命令如下:

docker exec --user www-data nextcloud  php occ config:system:set enable_previews --value="true" --type=boolean
docker exec --user www-data nextcloud  php occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Movie"
docker exec --user www-data nextcloud  php occ config:system:set enabledPreviewProviders 1 --value="OC\\Preview\\HEIC"
docker exec --user www-data nextcloud  php occ config:system:set enabledPreviewProviders 2 --value="OC\\Preview\\MarkDown"

完成上述配置後重啓容器,檢查效果即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章