在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)

警告,本文中Docker容器(Air Video HD)的來源非出自官方

image來源 https://hub.docker.com/r/dmaxwell/airvideohd/



====================3/12更新====================

後來在這裡找到登入container方法
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)

ls -al看了一下目錄權限,額外mount的movies(截圖前已改權限)與myVideo皆無權限
使用chmod指令給予權限後,就可以解決 access deined的問題!

該套件是吃other的權限,所以權限建議給755就好了※注意!該動作會變更該共用資料夾的權限
chmod -R 755 movies
chmod -R 755 myVideo

在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)

試播了幾片,雖NAS的CPU不是很給力,在點擊播放後,依轉檔需求可能要等30秒 ~ 2分鐘,
但在開始串流後,就可以很順暢的撥放。

但又有新問了惹QQ,中文字串全都變成了????,無法正常顯示,還在google中

自己習慣把字幕都轉成UTF-8格式,在windows版本的環境下是可正常顯式。

========================================




大家好,跟大家分享也有些目前未解的問題跟大家請教一下

我的環境是DS1515+ (DSM 6.0.2-8451 Update 9)

NAS安裝Docker(套件)與Air Video HD容器(映象檔)這一段不太有難度

↓001, 先安裝Docker↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)


↓002, 第一次啟動有提示↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)


↓003, 搜尋airvideohd,右鍵安裝它 (image非官方提供,請斟酌使用)↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓004, 等得下載,703MB↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓005, 下載時,先建好這些資料夾↓
/config 放設定檔用的 (For the Air Video HD configuration file and logs.)
/conversionPath 轉檔時臨時目錄 (Used to store temporary files generated by the transcoder.)
/videos 放影片檔的地方 (Default path for share1 in the configuration file.)
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)


↓006, 點擊下載好的映象檔,再佈署它↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓007, 在進階設定中,設定【儲存空間】↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓008, 在進階設定中,設定【連接埠設定】,個人是用45633↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓009, 設定檔總覽,沒問題就套用後完成佈署↓
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)



↓010, 容器中,已有剛建立好的AirVideoHD,點擊開關紐啟用它,也可以先用client端的app試著連看看。正常後先關閉,進行細部設定
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)


↓011, 修改server.properties↓
路徑:/docker/airvideohd/config/server.properties
(可以用套件的【文字編輯器】來編輯它,或telnet後用vi)
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)
各設定都有註解說明



↓server.properties 設定檔↓
這裡有原始的設定檔 https://github.com/dmaxwell351/docker-containers/blob/master/airvideohd/server.properties

#
# Application settings
#
# If settings are edited while server is running you can force reload by visiting
# http://localhost:45601/reloadSettings
#
# (port 45601 is internal port that only responds from localhost)
#

# enable/disable external access
externalAccess = true

# enable/disable UPnP/NAT-PMP port mapping
portMapping = true

# enable/disable custom initial port
#useCustomInitialPort = false
useCustomInitialPort = true

# custom initial port value
InitialPort = 45633

# path to the VLC libraries
VLCLibraryPath = /usr/lib/
#VLCLibraryPath = /usr/lib64/

# logs path
logsPath = /config/logs

# conversion folder path
conversionFolderPath = /conversionPath

#
# Sharing settings
#

# first shared folder
sharedFolders1.displayName = videos
sharedFolders1.path = /videos (這裡是007圖中的【掛載路徑】)

# second shared folder
sharedFolders2.displayName = movies
sharedFolders2.path = /movies (這裡有我請教的問題,我後來建的)


# mutliuser mode (true/false)
multiUserMode = true

# single user mode password
# singleUserPassword =

# first user account (can access all folders, no password)
userAccounts1.accessAllFolders = true
# userAccounts1.allowedFolders =
userAccounts1.userName = master (依需求修改)
userAccounts1.password = mobile01 (依需求修改)

# second user account (can access selected folders, has password password)
userAccounts2.accessAllFolders = false
userAccounts2.allowedFolders1 = 1
userAccounts2.userName = Tom (依需求修改)
userAccounts2.password = Cat (依需求修改)


======================問題分隔線======================

以下是我遇到的問題,我對Linux不熟 / Docker都不熟,請大家幫忙看看,謝謝!

PS. 這一篇(https://hub.docker.com/r/dmaxwell/airvideohd/~/dockerfile/)的步驟我都沒作,裡頭有提到
# Configure user nobody to match unRAID's settings
RUN usermod -u 99 nobody && \
usermod -g 100 nobody && \
usermod -d /home nobody && \
chown -R nobody:users /home



我有把一部影片放在
NAS:/docker/airvideohd/videos下,可以透過app正常撥放

但,我把自己放影片的共用資料夾(movies, myVideo)加入設定後,
透過app會變成沒有權限(錯誤訊息如下),請大家指導一下
Could not load folder content, sorry:(
Access to file denied:/movies/





AirVideoHD的【儲存空間設定】有加入我的共用資料夾movies與myVideo
在Synology的Docker上安裝 Air Video HD (權限已解,但字幕亂碼)


這是我server.properties中的設定
# first shared folder
sharedFolders1.displayName = videos
sharedFolders1.path = /videos (可正常撥放)

# second shared folder
sharedFolders2.displayName = movies
sharedFolders2.path = /movies (存取被拒)

# 3th shared folder
sharedFolders3.displayName = myVideo
sharedFolders3.path = /myVideo (存取被拒)
2017-03-10 17:20 發佈

edgar0407 wrote:
警告,本文中Docker...(恕刪)


請教一下, 通常是原 NAS 所附的套件不敷使用, 才會考慮使用 3rd party 套件, 為何不直接用 ds1515+ 內建的 video statino 套件 & ds video app?
FB: Pctine
簡單的來說,是個人使用習慣上的問題。

Air Video (HD)讓我在iDevice的使用上體驗上實在太好了!

優,缺點都是有一台實體機器在負責轉檔與串流,所以在影片、音效及字幕上,相容性都大好,
在Air play上也都沒有問題,另外AVH也能先轉檔後下載到iDevice中離線觀看,
(也可以透過它轉好檔,把影片丟進iTunes)
都是我覺得好用的地方哩。

pc大也玩了不少東西,還請不吝指點一下,謝謝~
有關權限問題不需麻煩去設定,只需要在docker上設定儲存空間,指向原來的DS Video資料夾,同時配合server.properties路徑即可(記得要相互對應),下圖即為我的設定,字幕應可同時解決的。



我是參考下列網址來安裝的
https://jasonloongphotos.com/2017/synology-airvideohd-docker-graphical-install-without-ssh/

裡面有提到 關於 Solution to “Could not load folder content – Access to file denied: /videos/”的解決方式

另外 字幕的問題,可以試著把 Air Video HD APP 裡面的 Settings 的 Always Burn-In Subtitles 關閉 跟 Default Subtitles Encoding 改用 Autodetect,試看看(如果原本就是這樣子設定,就先改到其他項目再改回來)
可參考此討論


不知道大家使用 在 Docker 安裝 Air Video HD 時,有沒有使用過 iphone/ipad(ios設備)用 AirPlay 投到 Apple TV,會無字幕的問題?
(已找到解決方式)
自回解決方式,因為只要 ios設備 使用任何軟體(air video HD,或infuse) 用airplay 投影到 apple tv 都沒字幕,直到把apple tv 設定->輔助使用裡面的 隱藏式字幕和SDH 選項開啟就可以看到字幕了


因為 新版的 DSM 6.2.2 的 DS Video爛的掉渣,速度慢、不支援DTS跟eac3,現在連裝了 MMPeg的外掛也沒用

所以又翻出這篇來裝 Air Video HD Server (不過看起來這個App好像也一年多沒更新了,不知道是否之後也會掛? 因為現在連主機Pin碼都無法取得了)

然後上網找了資料,終於搞定如果開啟 Burn-in Subtitles 的功能,中文字幕就會變成方塊的問題 (因為Burn-in功能是Server把字幕嵌入影片後,再傳Client端。所以如果用這個轉檔的話,等於是影片就會燒入字幕。不用到Client端才載入字幕同步)

題外話:之前有寫信去問群暉資料夾的權限問題,如果不想讓所有User都可以開啟影片資料夾,但又要Docker可以存取怎麼辦,群暉表示因為Docker的存取資料夾使用者是 nobody,但是群暉的系統nobody這個帳號不會顯示在他的操作介面上,所以要手動去加入開啟


為了以後備份之後翻閱,所以在這裡做各解決方案

而為何在 Docker 的 Air Video HD Server為何中文會變方塊字,因為這個容器的製作者沒有把中文字體裝入這個容器跟映像檔內,所以主機根本認不得中文字就變成方塊了

所以呢,下面就是如何手動安裝設定中文字體

第一步,在Docker容器的終端機按新增按鈕,然後輸入 bash


第二步,在命令列輸入 apt-get update (可以用複製後,在這個終端機的框框按右鍵的貼上就能把指令貼上去,用Control-V無用)


第三步,輸入 apt-get update 安裝 locales


第四步,用 vi 去編輯 /etc/locale.gen 這個文件,指令為 vi /etc/locale.gen


第五步,按下 i ,然後把 zh 開頭的前面 # 拿掉,拿掉後按 esc,然後再輸入 :wq 存檔後跳離 vi


第六步,啟動新的locales設定,輸入指令 locale-gen


第七步,接下來就是要安裝字體了,根據網路上查到的可利用指令直接下載安裝字體的字型檔如下


而我是避免麻煩就繁簡都下,以避免有些是使用簡中字型的字幕檔跑不出來,所以我就使用這個指令來安裝
apt-get install fonts-moe-standard-song fonts-moe-standard-kai fonts-cns11643-sung fonts-cns11643-kai fonts-arphic-ukai fonts-arphic-uming fonts-arphic-bkai00mp fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-cwtex-ming fonts-cwtex-kai fonts-cwtex-heib fonts-cwtex-yen fonts-cwtex-fs fonts-cwtex-docs fonts-wqy-microhei fonts-wqy-zenhei xfonts-wqy fonts-hanazono ttf-mscorefonts-installer



安裝完字體後,把這個容器重新啟動就可以了,用Air Video HD開啟 Burn-in Subtitles也能顯示中文字了




參考資料如下:
Docker容器不识别宋体等字体问题
给Docker镜像(Debian)添加中文支持和中文字体
Ubuntu環境下,一些字型套件












edgar0407 wrote:
警告,本文中Docker...(恕刪)



內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?