最近,想到html第5代新語言加入了audio跟video的二個好用的多媒體tag…不用對不起自己
目前能正確支援html5的應該除了IE以外的都可以了…所以,此方法,對使用IE的觀賞者就沒用了…
主要步驟:
- Ogg轉換利器-FFmpeg2theora,download,how to install-binary
- OSTUBE的修改與convert flv to ogg的指令
尋著官網上的做法,最後安裝好之後,你就可以直接使用ffmpeg2theora了,他的指令與ffmpeg相似,不過,主要我們只是用來做轉成theora-ogg而已,不像我們會拿著ffmpeg來做多種媒體的轉換,所以,ffmpeg2theora的參數不多…大概我們比較常用以下的:
撰寫方式就是:/usr/local/bin/ffmpeg2theora -o ogg-path/ogg-file-name.ogg --sync source-path/source-file-name
- -o:設定output的位置跟名稱
- -v:video畫質的LEVEL,從0~10
- -a:audio音質的LEVEL,從0~10
- --sync:同步,就是上面v跟a與來源檔相同,不用設定LEVEL(建議,這是不失真的轉換)
不過,注意,如果你影片來源的codec是vp6f的,請不要使用--sync,因為會只轉1、2秒而已- --optimize:算是叫優化啦,因為,用--sync在h264/acc的編碼下,有一些檔會變成畫面是一張一張在跑,但聲音是正常的;但如果換用--optimize就不會有這個問題…不過…我覺得,flv轉ogg…只要是來源是h264的,ogg檔都會變很肥
第二步:
先到ostube-path/template/defaults/content底下,把mediadetails.tpl多複製一個出來,複製出來的改名為mediadetails_ogg.tpl就這樣…最後只要到ostube-path/media底下新建立一個ogg的資料匣
再來,以下要開始修改
- ostube-path/.htaccess
找到
RewriteRule ^(video|audio|document|photo)/([0-9]+)(/[^/]+)?/?(.*)$ mediadetails.php?mid=$2&$4 [L,QSA,NC]
改成
RewriteRule ^(ogg|video|audio|document|photo)/([0-9]+)(/[^/]+)?/?(.*)$ mediadetails.php?mid=$2&$4&g=$1 [L,QSA,NC]
因為我有開rewrite-rule,所以還是想用他的tag來做rewrite,$1就是放ogg|video|audio|document|photo的…- ostube-path/mediadetails.php
到最底下,找到
$main -> EndScript($smarty -> fetch("content/mediadetails.tpl"), $media_type . "s");
改成
if (!isset($_GET['g']) || $_GET['g']!="ogg"){
$main -> EndScript($smarty -> fetch("content/mediadetails.tpl"), $media_type . "s");
}else{
$main -> EndScript($smarty -> fetch("content/mediadetails_ogg.tpl"), $media_type . "s");
}
主要是想改成二個網頁,一個就是原本的flv,另一個就是把flash-plugin拿掉,改成html5的video- ostube-path/template/defaults/content/mediadetails.tpl
找到
<h2 class="icon">{$TITLE}</h2>
{$PLAYER}
改成
<h2 class="icon">{$TITLE}</h2><br>[<a href="/feuOSB/ogg/{$ID}/{$DESCRIPTION}">Theora-ogg-Version</a>]<br />
{$PLAYER}- ostube-path/template/defaults/content/mediadetails_ogg.tpl
找到
<h2 class="icon">{$TITLE}</h2>
改成
<h2 class="icon">{$TITLE}</h2><br>[<a href="{$ABSOLUTE_LINK}">Flv-Version</a>]<br />
<video src="/feuOSB/media/ogg/{$ID}.ogg" controls="controls" autobuffer="autobuffer" autoplay="autoplay" width="640" height="360">
your browser does not support the HTLM5-video tag
</video>
然後,就把轉好的ogg放進去…當然,目前的做法是你用ostube上傳後,再用指令去做flv to ogg的動作
當然,你可以寫一個shell指令來做排程,只是每一次排程還得先找哪一些轉過了…只轉還沒轉的…這麻煩呀
所以,最好的方式,是先把目前現有的先轉換,然後把flv 轉 ogg的動作也放入ostube中…這就是我下次的目標…
沒有留言:
張貼留言