使用ffmpeg,mencoder 把wmv 轉成flv

最近組織的線上觀看要改成使用flash 來放。不過原本因為跟中華電信合作,使用他們的串流伺服器,所以原始檔是..wmv(wmv 7)。而原始檔是動態用程式去組合起來的(vb6+不知名元件)一堆東西,所以要改成輸出raw data 再來轉就不太可能。

把wmv 轉成flv 可以選用 ffmpeg or mencoder,不過這兩套都有點問題,簡單來說,mencoder 對於flv的支援不太好,ffmpeg對於wmv的支援不太好。 如果直接使用這兩個程式把wmv -> flv的話,就會產生奇怪的問題(因為wmv 7是封閉格式嗎?)。

以這次的例子來說,我轉某些檔案(有些wmv會有些不會..@@)會有播放到某個畫面停滯的問題(兩套皆然,我還用過很多套轉檔程式,都會有這個問題),使用mencoder的話,某些檔案的時間軸會不對,就算修復了meta資料也還是一樣,主要的現象是無法正常跳到你點選的時間點。

突然想到,那就把wmv->avi(或是其他中介格式)-> flv看看。唔,結果某個年代久遠的wmv格式還是會卡死在某一格。所以就變成現在這種尷尬局面。不過測試到現在應該是可行的,如果有人有類似的問題,可以試試看這種詭異的作法。

1.wmv->avi (使用mencoder)

mencoder wmv\xxx.wmv -o avi\xxx.avi -ovc lavc -oac lavc

2. avi->flv (使用ffmpeg)

ffmpeg -i xxx.avi -ab 56 -ar 22050 -qscale 6 -b 500 -r 15 -s 320×240 flv\xxx.flv

這樣時間軸就可以正常拉動,有些有問題的檔案也不會卡死在某一格,不過要注意的是,這邊參數都沒有最佳化,得到的品質/檔案大小 不見得符合你的需求喔 !!!

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s