使用MediaMosa建立视频网站

之前嚐試過 clipbuckets 覺得自己建置一個 youtube 網站挺有趣後, 
​現在又想試試 MediaMosa. 關於 MediaMosa 的介紹呢, 請參考另一篇介紹文. 
​ 現在嚐試完,覺得 MediaMosa 比 Clipbucket 更好用。
​我特別放個 demo 給大家看看。http://www.chaoman.com/mediamosasite/

簡單來說, MediaMosa 就是一個開放程式的視訊轉換服務平台. 那麼就來試試安裝吧。


​安裝的環境如下:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

1. 先到 www.mediamosa.org 下載最新版的程式,
​我們的例子是 3.2.1. ​這個 package 連 Drupal 都整合在一起了,所以解壓之後直接放到 /var/www 下就可以了。

wget http://www.mediamosa.org/sites/default/files/mediamosa-3.2.1.tgz
tar -xvf mediamosa-3.2.1.tgz
cp mediamosa-mediamosa-0017c80/ -r -d /var/www/
cd /var/www/
mv mediamosa-mediamosa-0017c80/ mediamosa (這樣在 http://localhost/mediamosa/ 就可以顯示了)

2. 如果你安裝的 Ubuntu Server 有選 LAMP Server, 那上面的步驟完成後,
​打開 Browser 打入 http://server/mediamosa 就可以看到下面的畫面了。

MediaMosa Installation 1

3. 現在只有英文,就選 English (built-in),但就出現以下的問題。

  • PHP gd extensions Disabled
  • File system Error
  • cURL Not found
  • Settings file The settings file does not exist.
我們一個個來解決。首先是
​  1) gd PHP extension & 3) cURL
sudo apt-get install php5-gd php5-curl php-pear
裝完後記得 Apache 要先啟動一下。
sudo /etc/init.d/apache2 restart

再回去 Browser 重刷一下 php gd extensions 和 cURL 就裝好了。

2) File System & 4) Settings file

cd /var/www/mediamosa/sites/default/
mkdir files
cp default.settings.php settings.php

再來就給予讀寫權

chmod 777 files/
chmod 777 settings.php

再回去 Browser 重刷一下, 就可以進行到資料庫的步驟了。


​4. 資料褲的部份我就跳過了,如果在設定 LAMP server 時,就會安裝 MySQL. 記得 create database mediamosa 就可以了。

5. 問題來了,又缺以下的元件。FFMPEG 是轉檔必備的東西,幸好在 ubuntu 上安裝很容易。

  • Program FFmpeg: FFmpeg is not installed or inaccessable for PHP.
  • Program LUA 5.1: LUA is not installed.
  • LUA extension Lpeg: Lpeg extension is not installed.
一個個來裝吧,首先是 FFMPEG, lua5.1 和 lua lpeg2 library
sudo apt-get install ffmpeg
sudo apt-get install lua5.1
sudo apt-get install liblua5.1-lpeg2
再來就是更改 php.ini 檔, 把最大上傳 size 設到 100 M 和把 post 指令的最大值也改成 100 M. 請依據影片的大小變更.
sudo nano /etc/php5/apache2/php.ini
找這2個改成最大 100MB
1). upload_max_filesize:100M
2). post_max_size: 100M
存檔 ctrl + x 後, 再重新啟動 Apache.
sudo /etc/init.d/apache2 restart
重新再刷安裝網頁後, 所有的問題都解決了.

​6. 最後填上站名, 管理者名稱密碼. 國家和時區. 在選 metadata libraries 時, 我就直接選預設
 
 

​7. 在 MediaMosa SAN/NAS Mount point * 時,由於我們只是在測試, 所有沒有掛載網路儲存空間, 我就先建這個目錄來帶過.
sudo mkdir /srv/mediamosa
sudo chmod 777 /srv/mediamosa

​8. 再來就是有趣的功能, Mediamosa 可以支援多台伺服器來成為叢集,
​也是我想達成的,但現在先設一台來測, 晚點再回過頭來研究 multi server 的設定, 選 single server 後繼續. 
​但是要更改一下 apache 的設定來放 single server 的設定.
sudo nano /etc/apache2/site-available/default
打開後, 按 ctrl + v 一直到最下面</VirtualHost>之後貼上以下的設定
 # MediaMosa tickets
    Alias /mediamosa/ticket /srv/mediamosa/links
    <Directory /srv/mediamosa/links>
      Options FollowSymLinks
      Order deny,allow
      Allow from All
    </Directory>

    # Media
    Alias /mediamosa/media /srv/mediamosa/media
    <Directory /srv/mediamosa/media>
      Options FollowSymLinks
      AllowOverride All
      Order deny,allow
      Allow from All
    </Directory>

    <IfModule mod_php5.c>
        php_admin_value post_max_size 2008M
        php_admin_value upload_max_filesize 2000M
        php_admin_value memory_limit 128M
    </IfModule>

ctrl+x 按Y存檔後,最後重新啟動 Apache
  
sudo /etc/init.d/apache2 restart

9. 再來問要不要遷移或昇級資料庫. 按繼續進到下一步.
10. 最後是要放一個 cron job.

 
crontab -e

貼上這個. (看畫面上怎麼顯就貼什麼, 我的是以下)

* * * * * /usr/bin/wget -O - -q -t 1 --header="Host: localhost" http://localhost/mediamosa/cron.php?cron_key=mWSVq4Hs-zBzhCUZZFkkahq5g6G_RvSAO8TO_ajl9Qk

到此為止基本安裝就完成了, 等一下來看看還有欠缺什麼套件.

——————————————————————————-

11. 接下來就是登入後看到的錯誤,有幾個紅色的我們先來解決,
​第一個是 Apache mod rewrite

sudo a2enmod rewrite
sudo /etc/init.d/apache2 restart

但是這樣還沒辨法完成解決問題,問題還在存在,要去修改 Apache 的 conf 檔。

sudo nano /etc/apache2/sites-available/default

找這塊把 AllowOverride None 改成 All

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None All
Order allow,deny
allow from all
</Directory>

ctrl + x + y 儲存後,再重開一次 Apache.

sudo /etc/init.d/apache2 restart


​12. 再來就去把 Clean URLs 的選項勾取就可以了. 這樣一來所有的紅色警告都沒有了。
​再來就來看黄色的額外附加功能。

Yamdi Not installed
Yamdi is not installed, but is optional. You can find more information how to install Yamdi here
MP4Box Not installed
MP4Box is not installed, but is optional. You can find more information how to install MP4Box here
Lav2yuv Not installed
Lav2yuv is not installed, but is optional. You can find more information how to install lav2yuv here
Database innodb optimize innodb_buffer_pool_size = 8 MB. Should be bigger than 32 MB.

Yamdi 和 Lav2yuv (mjpegtools) 還有 mp4box (gpac) 可以很簡單的就裝好了。以下就是安裝指令。

sudo apt-get install yamdi mjpegtools gpac

接下來是最後一項, 就是

Database innodb optimize innodb_buffer_pool_size = 8 MB. Should be bigger than 32 MB.

要修改這個, 必須要更改 my.cnf 檔.

sudo nano /etc/mysql/my.cnf

最後加入下面 innodb_buffer_pool_size = 32M, ctrl + x 儲存後, 重新啟動 MySQL.

sudo /etc/init.d/mysql restart

註: 有時候去重刷頁面的時候設定值還是不會變更. 應該是暫存的原因. 把 browser 關掉再重來或先把 cache 清掉後就好了.

最後跟大家分享全部都安裝好的畫面.


註1:

之後在轉檔測時,發現有許多的ffmpeg的library不存在而導致許多影片格式無法支援。 例如以下:

Unknown encoder ‘libx264′
Unknown encoder ‘libmp3lame’
Unknown encoder ‘libfaac’

這個問題以前在安裝 clipbucket 時就碰到過,那回顧到之前那篇文章就可以找到補充 ffmpeg 所需的 library 所要的指令.

//sudo apt-get install liblame0 libfaad2 libfaac-dev libxvidcore-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev checkinstall
sudo apt-get install libxvidcore-dev libmp3lame-dev libfaac-dev libfaac-dev libx264-dev
sudo apt-get install ffmpeg libavcodec-extra-53
Clone the github repository: https://github.com/FFmpeg/FFmpeg
# patching ffmpeg. See patch file under you MediaMosa installation: site/all/modules/mediamosa/patch
cd ffmpeg/
./configure --enable-nonfree --enable-libx264 --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libfaac --enable-libvorbis --enable-libtheora --enable-libgsm --enable-libxvid  --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-x11grab --enable-libvpx --enable-pic --enable-libxavs
make
make install
cd ..
Clone the github repository: https://github.com/www-madcap-nl/ffmpeg
cd ffmpeg/
./configure --enable-nonfree --enable-libx264 --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libfaac --enable-libvorbis --enable-libtheora --enable-libgsm --enable-libxvid  --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-x11grab --enable-libvpx --enable-pic --enable-libxavs
make
make install
cd ..
考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化与经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本与能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参与调度等方面的有效性,为低碳能源系统的设计与运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模与优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发与仿真验证。
【顶级EI复现】【最新EI论文】低温环境下考虑电池寿命的微电网优化调度(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI复现】【最新EI论文】低温环境下考虑电池寿命的微电网优化调度(Matlab代码实现)》的技术文档,重点围绕在低温环境下,结合电池寿命衰减因素对微电网系统进行优化调度的研究。该研究通过建立数学模型,综合考虑风光储、柴油、燃气等多种能源形式以及电网交互关系,利用Matlab编程实现优化算法(如内点法、多目标粒子群算法等),完成对微电网运行成本、能源效率与电池使用寿命之间的多目标协同优化。文中强调了实际寒潮场景下的V2G调度数据应用,并提供了完整的仿真代码与数据集支持,具有较强的工程复现价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、储能系统优化等相关领域的工程技术人员;尤其适合希望复现高水平EI论文成果的用户; 使用场景及目标:①用于低温环境下微电网能量管理系统的建模与仿真;②支撑考虑电池老化机制的储能优化调度研究;③服务于学术论文复现、课题项目开发及智能电网优化算法验证; 阅读建议:建议结合提供的网盘资源(包括YALMIP工具包、完整代码与数据集)进行实践操作,重点关注目标函数构建、约束条件设置及多目标优化求解过程,建议在Matlab环境中调试代码以深入理解算法实现细节与系统响应特性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值