VIMP 是一套簡略的免費YouTube like 平台,很適合拿來作系統的教育訓練,一方面可以不用擔心整個錄影檔很容易被複製走,二方面提供這類的服務可以有一個統一的平台、唯一的更新地點,再則也能節省觀看時頻寬。
當然上傳影片除了教育訓練外,也可以上傳公司的活動、宣傳片等等,VIMP除了吃影片格式的檔案,同時也吃單純的語音紀錄及一些 Office 文件,可當作一個簡易的 CMS (Content Management System),不過我只用到它影音串流的部分。
安裝前先去下載
- Ubuntu 12.04 64位元 LTS Server (http://www.ubuntu.com/download/server),為啥不抓最新的呢? 因為這台Server 只求穩定就好,這個版本還能活上好幾年,考量到未來的維護,不需要追到最新的版本。
- VIMP 最新版本 (http://www.vimp.com/en/vimp-community-edition.html) ,是否要抓最新的 Beta 也請自行考量,下載前請自行註冊帳號;VIMP 有不同的版本及功能,我們只安裝社區版本(Community)是不需要額外付費的。
安裝 Ubuntu Server 就請參考網路上資源,這邊就不再多貼圖,要注意的地方是因為安裝過程中需要上網、之後的 Video 可能會很大,所以資源分配規劃上要先想清楚,Linux 增加空間就沒有像 Windows 那麼容易,Server 版安裝起來是沒有 GUI 介面的喔;安裝時也請記得把 OpenSSH Server 打勾,方便後續直接用 Putty 連入操作。
安裝 vimp 前,有一大堆服務要補,因為OS 版本不同,所以直接參考網路上的安裝手冊不見得都適用,我是安裝到第四次後才成功,做文件的時候已經是第五次了,Orz.
最後我參考的是Reona 大的資料(http://declaim2.zhps.tp.edu.tw/wp/?p=393) 加上一點點Trouble Shooting,如遇到問題也可以參考一下以上的安裝方法喔。
安裝 Ubuntu Server 會要求輸入一個 USER名稱,為方便辨識我都是用 vimp 當作 UserName,同時把需要的檔案都放置在 /home/vimp 底下。
把 Server 先更新到最新的環境,更新軟體清單等等動作
sudo –i apt-get update apt-get upgrade apt-get dist-upgrade
此時因可能會更動到 Kernel 建議先重新開機
reboot
啟用mod_rewrite
sudo –i apt-get install apache2 a2enmod rewrite service apache2 restart
更新 PHP5, MySQL 等,安裝 MySQL 會要輸入密碼,這個要記起來喔
apt-get install php5 apt-get install libapache2-mod-php5 apt-get install php5-cli php5-mysql php5-gd php5-xsl php5-curl apt-get install mysql-server
把視訊轉檔套件先建起來 (這邊我就沒有依照 Reona 大的裝法,而跑回去依照原廠的手冊 http://www.vimp.com/en/documentation-faq-article/items/how-to-install-the-transcoding-tools-on-ubuntu.html)
cd /home/vimp sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list sudo apt-get --quiet update sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring sudo apt-get --quiet update
64位元板請執行這個:
apt-get install w64codecs
給32位元用的,可別弄錯了喔.
apt-get install w32codecs
安裝壓縮/解碼套件
apt-get install mplayer mencoder flvtool2
接下來要安裝 ffmpeg 的套件,這玩意沒有辦法直上需要 compile,所以底下的動作就有點多喔,同樣的這些也是都參考原廠安裝文件 (http://www.vimp.com/en/documentation-faq-article/items/howto-compile-ffmpeg-for-ubuntu-and-debian.html)
其實 fresh Install 應該是沒有安裝過 ffmpeg,不過多執行一次移除動作也無妨
apt-get remove ffmpeg x264 apt-get autoremove
同樣的又來一次更新,花的時間不多就跑一下吧,之後就一口氣安裝相關的開發套件,要準備來compile
apt-get update apt-get upgrade apt-get install make automake g++ bzip2 python unzip patch subversion ruby build-essential git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvdpau-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
安裝 yasm 啥? 這是啥?
cd /home/vimp wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz tar xvzf yasm-1.2.0.tar.gz cd yasm-1.2.0 ./configure make && make install cd ..
安裝 X264 解碼包
git clone git://git.videolan.org/x264.git cd x264 ./configure --enable-shared make && make install cd ..
安裝 libvpx
wget http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2 tar xvjf libvpx-v1.1.0.tar.bz2 cd libvpx-v1.1.0 ./configure make make install cd ..
編輯 /etc/ld.so.conf 把 /usr/lib 及 /usr/local/lib 的路徑加上去
vi /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf,/usr/lib,/usr/local/lib
執行
ldconfig
這才要安裝 ffmpeg,先前都是暖身而已,整個過程會有點久喔
cd /home/vimp wget http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2 tar xvjf ffmpeg-0.8.10.tar.bz2 cd ffmpeg-0.8.10 ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid make make install cd ..
執行
ldconfig
在 Apache2 建立一個虛擬網站,路徑在/var/www底下,網站名稱用 showvid
mkdir -p /var/www/showvid/data mkdir -p /var/www/showvid/logs chown -R www-data:www-data /var/www/showvid
建立virtual host設定
cd /etc/apache2/sites-available vi showvid
貼上以下列內容,其中 ServerName, 及 ServerAlias 請依照環境更改
<VirtualHost *:80> DocumentRoot "/var/www/showvid/data/web" ServerName vimp.local ServerAlias vimp.local <Directory "/var/www/showvid/data/web"> AllowOverride All RewriteEngine On Options -Indexes FollowSymLinks </Directory> ErrorLog /var/www/showvid/logs/error.log CustomLog /var/www/showvid/logs/access.log combined LogLevel error </VirtualHost>
停止原來的default apache2 virtual host
a2dissite default
啟用新的virtual host
a2ensite showvid service apache2 reload
最後一行會出現警告訊息是因為我們還沒有把網站軟體放進去,Apache 會抱怨DocumentRoot 不存在.
變更PHP設定
vi /etc/php5/apache2/php.ini vi /etc/php5/cli/php.ini
這兩個檔案,更改下列設定,如果視訊會超過1G的話底下的值都需要加大,我在正式環境是用了 2048M
upload_max_filesize: 1024M post_max_size: 1024M memory_limit: 512M
重新啟動 Apache2,同樣的還是會出現警告
Service apache2 restart
建立資料庫,先建立一個 showvid 的 mysql User
mysqladmin -p create showvid mysql -u root -p CREATE USER showvid@localhost IDENTIFIED BY '<password>'; GRANT ALL PRIVILEGES ON showvid.* TO showvid; FLUSH PRIVILEGES; exit;
由於檔案要傳進去到 Ubuntu 去,最快的方式就是裝 ftp Server,之後把 VIMP安裝檔案上傳到 /home/vimp 路徑去吧
apt-get install vsftpd
解壓縮 Vimp
cd /var/www/showvid/data tar xvzf /home/vimp /vimp.framework-2.5.11-r20360-community.tar.gz chmod +x symphony chown -R www-data:www-data /var/www/showvid
接下來要複製一個 vimp 的檔案到指定的路徑去,這邊的檔案要依照安裝的 PHP5 的版本來複製喔,同時 20090626 的路徑可能也會因為版本不同而有變化
php5 -v cd /home/vimp tar xfz /var/www/showvid/data/data/loader.tar.gz cd Linux_x86-64 cp ixed.5.3.lin /usr/lib/php5/20090626/
建立 sourceguardian 部分, 貼入以下的文字
vi /etc/php5/conf.d/sourceguardian.ini [sourceguardian] zend_extension=/usr/lib/php5/20090626/ixed.5.3.lin
重新啟動 Apache2
service apache2 restart
這才開始安裝 VIMP,到目前為止才進入主題,想哭吧.
cd /var/www/showvid/data ./symfony framework:init mysql://showvid:<password>@localhost/showvid
複製ffmpeg 及 mplayer 需要的library 檔案到可以找得到的地方去,我是用最懶的方式做,正統的應該用建立 Symbol 或增加 path 路徑的方式。
cp /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib cp /usr/local/lib/libx264.so.129 /usr/lib
另外把 ffmpeg.presets.tar.gz 檔案上傳到 vimp 主機上 (http://www.vimp.com/en/download-configurations.html)
mkdir /usr/share/ffmpeg mv ffmpeg.presets.tar.gz /usr/share/ffmpeg cd /usr/share/ffmpeg tar –zxvf ffmpeg.presets.tar.gz apt-get install mplayer mencoder flvtool2 ffmpeg
最後再重新安裝一下所有解碼的套件,可以把少掉的東西補充一次。
接下來修改一下轉檔的 Script,把原先的兩個變數更換一下,因為直接執行是無法寫入到 log 檔案內,只好用笨方法把路徑指定死。
vi /var/www/showvid/data/scripts/sync_new_uploads.sh PDIR="/var/www/showvid/data/log" LDIR="/var/www/showvid/data/log"
接下來就把這個轉檔的 Script 排程每隔一分鐘去檢查有無上傳檔案,如有就開始轉檔,不過只能一次轉一個檔案喔
crontab –e
加入這一行
*/1 * * * * /var/www/showvid/data/scripts/sync_new_uploads.sh > /dev/null 2>&1
如果還要讓他可以寄信的話,記得把 Sendmail 套件也裝一下
apt-get install sendmail
以上一切順利的話就可以看到底下的畫面,原始的帳密都是admin,要驗證是否成功要先上傳一個影片檔看看喔
- vimp Fresh install screen
上傳測試影片
- VIMP Video upload screen
上傳後告知預備開始轉檔
- vimp uploaded video is ready for convert
後記:
- 先前常卡在上傳後的 Video 的轉檔,可能發生的問題有解碼器沒有裝好、及內建的轉檔 Script 有問題無法執行,可以使用以下指令來執行轉檔。
cd /var/www/showvid/data php symfony framework:transcode
- 以上的指令可以看得到轉檔後的錯誤訊息,如果還有問題可參考一下原廠 (http://www.vimp.com/en/documentation-faq-article/items/problem-executing-command-error-127-209.html)的說明,之後再更新所有的壓縮解壓縮程式
apt-get install mplayer mencoder flvtool2 ffmpeg
- 由於這套壓解碼的軟體同一時間只能轉一個檔,所以檔案上傳後需要等較久的時間才能轉檔完成,無法像 YouTube 一樣邊轉檔邊上傳,不過免費的產品就不要苛求太多。
- 底層裝好了之後也要用 admin 帳號登入後,記得去變更一下參數喔,尤其是最大的上傳檔案大小,Default值只有 100M,OS level 裝設定到 1024M,Application 直接擋掉也沒轍。
參考資料:
2013-01-24 更新,因 VIMP 這個版本有點小 bug,嵌在其他地方的播放畫面中的按鈕只顯示一個小小的白框,在新版中(vimp.framework-2.5.12-r20403-community.tar.gz)已經修正掉這個問題,而更新的程序很簡單,先上傳檔案到重複安裝 VIMP 的程序蓋掉舊有的程式即可:
cd /var/www/showvid/data tar xvzf /home/vimp /vimp.framework-2.5.12-r20403-community.tar.gz
但我有修正轉檔的 Script (/var/www/showvid/data/scripts/sync_new_uploads.sh),也記得要處理一下喔。