在 Ubuntu 上安裝 VIMP

VIMP 是一套簡略的免費YouTube like 平台,很適合拿來作系統的教育訓練,一方面可以不用擔心整個錄影檔很容易被複製走,二方面提供這類的服務可以有一個統一的平台、唯一的更新地點,再則也能節省觀看時頻寬。

 

當然上傳影片除了教育訓練外,也可以上傳公司的活動、宣傳片等等,VIMP除了吃影片格式的檔案,同時也吃單純的語音紀錄及一些 Office 文件,可當作一個簡易的 CMS (Content Management System),不過我只用到它影音串流的部分。

 

安裝前先去下載

  1. Ubuntu 12.04 64位元 LTS Server (http://www.ubuntu.com/download/server),為啥不抓最新的呢? 因為這台Server 只求穩定就好,這個版本還能活上好幾年,考量到未來的維護,不需要追到最新的版本。
  2. 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 Fresh install screen

 

上傳測試影片

VIMP Video upload screen
VIMP Video upload screen

 

 

上傳後告知預備開始轉檔

vimp uploaded video is ready for convert
vimp uploaded video is ready for convert

 

 

 

 

 

 

後記:

 

  • 先前常卡在上傳後的 Video 的轉檔,可能發生的問題有解碼器沒有裝好、及內建的轉檔 Script 有問題無法執行,可以使用以下指令來執行轉檔。
cd /var/www/showvid/data
php symfony framework:transcode

 

apt-get install mplayer mencoder flvtool2 ffmpeg
  • 由於這套壓解碼的軟體同一時間只能轉一個檔,所以檔案上傳後需要等較久的時間才能轉檔完成,無法像 YouTube 一樣邊轉檔邊上傳,不過免費的產品就不要苛求太多。
  • 底層裝好了之後也要用 admin 帳號登入後,記得去變更一下參數喔,尤其是最大的上傳檔案大小,Default值只有 100M,OS level 裝設定到 1024M,Application 直接擋掉也沒轍。

參考資料:

http://pricklytech.wordpress.com/2010/12/10/ubuntu-server-10-4-lucid-installing-vimp-community-edition/

http://www.vimp.com/en/documentation-faq-article/items/how-to-install-the-transcoding-tools-on-ubuntu.htmlff

 

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),也記得要處理一下喔。

發表迴響