星期四, 5月 24, 2007

mplayer/mencoder 的 profile

Mplayer 原本是在 Linux 環境下發展的一個功能強悍的媒體播放程式,除了播放之外,附屬的 Mencoder 也可以用來做媒體壓縮處理,是個相當強悍,幾乎所以格式都通吃的媒體播放與壓縮軟體。在許多人的努力之下,Mplayer 目前除了 Linux 以外,連 Windows 以及 MacOS 上,都有了可用的官方版本了。
Mplayer/Mencoder 自從 1.0pre8 版本以後,支援所謂的 preset profile。所謂的 profile 是允許使用者把一些特殊設定結合起來,在呼叫 mplayer/mencoder 的時候,使用 "-profile profile_name" 的方式來使用這些設定,而不需要每次都在命令列下給一堆參數。這個功能對 mplayer 來說,用途比較沒有那麼明顯,但對於 mencoder 而言,則是一個很有用的功能。

以下是我自己的設定檔中,幾個比較有趣的 profile:

[wii]
profile-desc="Wii Video standard format"
oac=pcm=yes
ovc=lavc=yes
lavcopts=vcodec=mjpeg
sws=9
font=c:/windows/fonts/arialuni.ttf

[flv]
profile-desc="Flash Video"
of=lavf=yes
lavfopts=i_certify_that_my_video_stream_does_not_use_b_frames=yes
oac=mp3lame=yes
lameopts=abr=yes:br=64
srate=22050
ovc=lavc=yes
lavcopts=vcodec=flv:keyint=50:vbitrate=300:mbd=2:mv0=yes:trell=yes:v4mv=yes:cbp=yes:last_pred=3

[flv-ntsc]
profile-desc="Flash Video in 29.97fps"
profile=flv
ofps=29.97
vf=scale=320:240
sws=9

[flv-pal]
profile-desc="Flash Video in 25fps"
profile=flv
ofps=25
vf=scale=320:240
sws=9

其中 "wii" profile 是用來把影像檔轉換成符合 Wii Video 的格式用的,而 "flv" 則是把檔案轉換成 Flash video 用的。簡單的使用方式如下:
  • 轉換檔案成 Wii Video:
    mencoder -profile wii -o output.avi source.whatever
  • 轉換檔案成 Flash Video (frame rate 為 29.97fps)
    mencoder -profile flv-ntsc -o output.flv source.whatever

不過使用 flv profile 產生的檔案,還必須使用 yamdi 或 flvtools 等工具來插入 metadata,才能夠在播放器上進行快轉等等。

沒有留言: