跳轉到內容

MPlayer

0% developed
來自華夏公益教科書

MPlayer 是一個跨平臺的多媒體播放器。它支援多種檔案格式,可以播放 CD、VCD 和 DVD。MPlayer 還包含 Mencoder,這是一個強大的影片轉換程式。MPlayer 和 Mencoder 都可以在命令列(shell)中使用。MPlayer 只有一個官方圖形介面(GMplayer),但是有一些第三方圖形介面可以訪問 Mencoder 的一些功能。

安裝 MPlayer

[編輯 | 編輯原始碼]

MPlayer 有三個組成部分:MPlayer 本身、GMplayer(圖形介面)和 Mencoder(影片轉換工具)。如果你沒有將它們打包在一起,你可能需要單獨安裝每個部分。

你可能還需要一些外部編解碼器,用於 MPlayer 不原生支援的影片檔案格式。

MPlayer 包可以透過你的 Linux 發行版軟體管理器(RPM、DEB 等)獲取,也可以從 MPlayer 網站http://www.mplayerhq.hu/獲取,該網站還包含適用於其他作業系統(Windows、Apple、Amiga)的版本,以及你可能需要的額外編解碼器。

MPlayer 在 Windows 中的功能與 Linux 非常相似。

啟動 MPlayer & 播放檔案

[編輯 | 編輯原始碼]

最簡單的情況下,你可以從命令列啟動 MPlayer;執行檔案後跟你想觀看的影片檔案

mplayer <filename> 

如果你發現你的 MPlayer 執行檔案不在你的路徑中,你可能需要指定其位置

/usr/bin/mplayer <path to file>

或者

C:\> "C:\Program Files\mplayer\mplayer.exe" <path to file>

作為一個例子。

GUI

當你啟動 GMplayer 時,會開啟兩個視窗

  • 一個觀看視窗 - 這是播放影片/DVD 的地方。
  • 一個控制視窗 - 這是你可以在 MPlayer 中使用最常用命令的地方。

要播放檔案,在觀看視窗中右鍵單擊,點選“開啟”,然後點選“播放檔案”。然後應該會開啟一個檔案選擇對話方塊。重要的是要注意,對話方塊底部檔案格式過濾器預設設定為“影片檔案”。這意味著,如果你想播放音訊(聲音)檔案,它不會在對話方塊中顯示。要檢視音訊檔案,點選檔案格式過濾器框左側的下拉箭頭,並選擇“所有檔案”。選擇一個檔案,然後點選“確定”。檔案應該立即開始播放。

Windows 命令列(無 GUI)

最簡單的方法是從 MPlayer 主站點獲取基本的 MPlayer 包和編解碼器(名稱中沒有 GUI)。將所有必需檔案解壓縮到你選擇的目錄中。從那裡,右鍵單擊要觀看的影片,選擇“開啟方式”,然後選擇其他。瀏覽你建立的新的 mplayer 目錄,並選中“始終使用此程式”,使其可以透過雙擊工作。

如果你遇到問題,只需透過 Windows CMD 啟動 mplayer,以獲得有關問題的良好反饋。將檔案拖放到 Windows 命令列中會列印檔名,以避免必須鍵入名稱/目錄。這適用於 mplayer 的所有功能。

(調整內容位置並從這裡繼續清理 - kokushibyou)。

這顯示了一個正常啟動的檔案;有一些錯誤(沒有字幕字型,如果需要,很容易解決)以及你可能感興趣的其他有趣反饋。

 (move this to the bottom soon)
 C:\Documents and Settings\DL.UNIVERSE>G:\mplayer\mplayer.exe "N:\testfile.rmvb"
 MPlayer dev-CVS-050626-17:02-3.4.2 (C) 2000-2005 MPlayer Team
 CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, Stepping: 1)
 Detected cache-line size is 64 bytes
 CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
 Compiled with runtime CPU detection - WARNING - this is not optimal!
 To get best performance, recompile MPlayer with --disable-runtime-cpudetection.
 
 Cannot load font: C:\mplayer\font-arial-iso-8859-1\font-arial-14-iso-8859-1\font.desc
 Playing N:\testfile.rmvb.
 REAL file format detected. 
 Stream description: Audio Stream
 Stream mimetype: audio/x-pn-realaudio
 Stream description: Video Stream
 Stream mimetype: video/x-pn-realvideo
 Stream mimetype: logical-fileinfo
 VIDEO:  [RV40]  640x368  24bpp  23.000 fps    0.0 kbps ( 0.0 kbyte/s)
 Clip info:
 name: testfile.rmvb
 Opening audio decoder: [realaud] RealAudio decoder
 opening win32 dll 'cook3260.dll'
 Audio codec: [24] 64 kbps Stereo Music - RA8
 Audio bitrate: 64.083 kbit/s (8010 bps)
 AUDIO: 44100 Hz, 2 ch, s16le, 64.1 kbit/4.54% (ratio: 8010->176400)
 Selected audio codec: [racookwin] afm:realaud (Win32 RealAudio COOK) 
 <vo_directx><ERROR>Your card doesn't support overlay
 Opening video decoder: [realvid] RealVideo decoder
 opening win32 dll 'drv43260.dll'
 Selected video codec: [rv40win] vfm:realvid (Win32 RealPlayer 9 RV40 decoder)
 Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
 AO: [dsound] 44100Hz 2ch s16le (2 bps)
 Building audio filter chain for 44100Hz/2ch/s16le -> 44100Hz/2ch/s16le...
 Starting playback...
 VDec: vo config request - 640 x 368 (preferred csp: Planar I420)
 Could not find matching colorspace - retrying with -vf scale...
 Opening video filter: [scale]
 VDec: using Planar I420 as output csp (no 0)
 Movie-Aspect is 1.74:1 - prescaling to correct movie aspect.
 SwScaler: using unscaled Planar YV12 -> BGR 16-bit special converter
 VO: [directx] 640x368 => 640x368 BGR 16-bit
 New_Face failed. Maybe the font path is wrong.
 Please supply the text font file (~/.mplayer/subfont.ttf).
 subtitle font: load_sub_face failed.

(並且電影在自己的視窗中啟動,而 cmd 視窗在後臺)。

播放 CD、DVD 和 VCD

[編輯 | 編輯原始碼]

GMplayer 的選單允許訪問你的 CD/DVD 驅動器,以播放大多數磁碟上的影片檔案。在命令提示符下,你只需引用 DVD:// 裝置,或者如果你在硬碟上有一個磁碟映象,你可以使用 BIN:// 或 ISO:// 裝置。一個 Win32 例子是 mplayer -dvd-device e: dvd://1(對於標題 1)。

如果磁碟無法播放,那麼系統可能沒有 CDDA 提取器,比如cdparanoia,或者 MPlayer 沒有用正確的選項從原始碼編譯。CDDA 提取器僅在編譯時需要。

編解碼器

[編輯 | 編輯原始碼]

在大多數情況下,mplayer 會自動識別影片的格式和它執行的環境。然後它會盡力顯示影片。如果你執行的是圖形介面(XWindow、MS Windows),你可能希望啟動 MPlayer 的 GUI。這也可以從命令列或從桌面的“執行檔案”選項或透過其菜單系統啟動。在以上所有情況下,命令都是;gmplayer。

如果你在嘗試確定為什麼影片/聲音無法工作時遇到問題,請嘗試以下幾個方法

  • 嘗試僅使用命令列執行 mplayer - 你的提示符通常會輸出有關錯誤的良好資訊。
  • 確保你從http://www.mplayerhq.hu獲取了完整的編解碼器包;或者任何其他不在那裡的編解碼器包(你在他們的網站上已經可以獲得幾乎所有你需要的編解碼器)。

觀看時

[編輯 | 編輯原始碼]

MPlayer 的鍵盤快捷鍵包括

  • q = 退出
  • r = 字幕位置 -
  • t = 字幕位置 +y
  • T = 啟用/停用置頂模式
  • y = 字幕延遲重置為 0
  • o/O = 切換螢幕顯示(啟用、停用、時間流逝、時間流逝/剩餘時間)
  • p = 播放/暫停
  • [ = 速度 -10%
  • ] = 速度 +10%
  • { = 速度 x 1/2
  • } = 速度 x 2
  • a = 字幕對齊
  • d = 切換丟幀(開、硬、關)
  • f = 切換全屏
  • j = 切換字幕(關、語言 1、語言 2 等)
  • l = 將檔案載入到播放列表(僅限 GUI)
  • z = 字幕延遲 -
  • x = 字幕延遲 +
  • c = 皮膚瀏覽器
  • v = 啟用/停用字幕
  • b = 切換字幕(關、語言 1、語言 2 等)
  • m = 靜音開/關
  • / = 音量減小,
  • 0 = 播放
  • . = 幀前進
  • 1 = 對比度 -
  • 2 = 對比度 +
  • 3 = 亮度 -
  • 4 = 亮度 +
  • 5 = 色調 -(綠色)
  • 6 = 色調 +(紅色)
  • 7 = 顏色 -
  • 8 = 顏色 +
  • / = 音量 -
  • * = 音量 +
  • - = 音訊-影片延遲 -
  • + = 音訊-影片延遲 +
  • 上 = 前進 1 分鐘
  • 下 = 倒退 1 分鐘
  • 左 = 倒帶
  • 右 = 快進
  • Home = 起始
  • End = 結束
  • Pg Up = 前進 10 分鐘
  • Pg Dn = 倒退 10 分鐘
  • # = 切換音訊


OSD 選單

[編輯 | 編輯原始碼]

Mplayer 有一個自由配置的 OSD 選單。不幸的是,它沒有得到很好的記錄(或者更確切地說,根本沒有記錄...)。以下是一個 menu.conf 的示例(放在 GNU/Linux 系統上的 ~/.mplayer 中)

 <keybindings name="default">
    <binding key="UP" cmd="menu up" />
    <binding key="DOWN" cmd="menu down" />
    <binding key="LEFT" cmd="menu left" />
    <binding key="RIGHT" cmd="menu right" />
    <binding key="ENTER" cmd="menu ok" />
    <binding key="ESC" cmd="menu cancel" />
    <binding key="HOME" cmd="menu home" />
    <binding key="END" cmd="menu end" />
    <binding key="PGUP" cmd="menu pageup" />
    <binding key="PGDWN" cmd="menu pagedown" />
    <binding key="JOY_UP" cmd="menu up" />
    <binding key="JOY_DOWN" cmd="menu down" />
    <binding key="JOY_LEFT" cmd="menu left" />
    <binding key="JOY_RIGHT" cmd="menu right" />
    <binding key="JOY_BTN0" cmd="menu ok" />
    <binding key="JOY_BTN1" cmd="menu cancel" />
    <binding key="AR_VUP" cmd="menu up" />
    <binding key="AR_VDOWN" cmd="menu down" />
    <binding key="AR_PREV" cmd="menu left" />
    <binding key="AR_NEXT" cmd="menu right" />
    <binding key="AR_PLAY" cmd="menu ok" />
    <binding key="AR_MENU" cmd="menu cancel" />
    <binding key="AR_PREV_HOLD" cmd="menu home" />
    <binding key="AR_NEXT_HOLD" cmd="menu end" />
    <binding key="MOUSE_BTN3" cmd="menu up" />
    <binding key="MOUSE_BTN4" cmd="menu up" />
    <binding key="MOUSE_BTN0" cmd="menu click" />
    <binding key="MOUSE_BTN2" cmd="menu cancel" />
 </keybindings>
 <keybindings name="list" parent="default">
    <binding key="AR_PREV" cmd="menu pageup" />
    <binding key="AR_NEXT" cmd="menu pagedown" />
 </keybindings>
 <keybindings name="filesel" parent="list">
    <binding key="BS" cmd="menu left" />
 </keybindings>
 <keybindings name="chapsel" parent="list" />
 <keybindings name="cmdlist" parent="list">
    <binding key="AR_PREV" cmd="menu left" />
    <binding key="AR_NEXT" cmd="menu right" />
 </keybindings>
 <keybindings name="txt" parent="list" />
 <keybindings name="pt" parent="list" />
 <keybindings name="pref" parent="list">
    <binding key="AR_PREV" cmd="menu left" />
    <binding key="AR_NEXT" cmd="menu right" />
    <binding key="AR_PREV_HOLD" cmd="menu left" />
    <binding key="AR_NEXT_HOLD" cmd="menu right" />
 </keybindings>
 <filesel name="open_file"/>
 <filesel name="open_list" file-action="loadlist '%p'" auto-close="yes"
         title="Open a playlist: %p"
         filter="/etc/mplayer/extensions_filter"
         actions="d:run 'mp_loader \'%p\' d',c:run 'mp_loader \'%p\' c'" />
 <chapsel name="select_chapter" />
 <pt name="jump_to"/>
 <console name="console0" height="80" vspace="0">Welcome to MPlayer</console>
 <txt name="man" file="manpage.txt"/>
 <pref name="general_pref" title="General">
      <e property="osdlevel" name="OSD level"/>
      <e property="speed" name="Speed"/>
      <e property="loop" name="Loop"/>
 </pref>
 <pref name="demuxer_pref" title="Demuxer">
 </pref>
 <pref name="osd_sub_pref" title="Subtitles">
      <e property="sub" name="Subtitles"/>
      <e property="sub_visibility" name="Visibility"/>
      <e property="sub_forced_only" name="Forced sub only"/>
      <e property="sub_alignment" name="Alignment"/>   
      <e property="sub_pos" name="Position"/>
      <e property="sub_delay" name="Delay"/>
      <e property="sub_scale" name="Scale"/>
 </pref>
 <pref name="audio_pref" title="Audio">
      <e property="volume" name="Volume"/>
      <e property="balance" name="Balance"/>
      <e property="mute" name="Mute"/>
      <e property="audio_delay" name="Delay"/>
 </pref>
 <pref name="colors_pref" title="Colors">
      <e property="gamma" name="Gamma"/>
      <e property="brightness" name="Brightness"/>
      <e property="contrast" name="Contrast"/>
      <e property="saturation" name="Saturation"/>
      <e property="hue" name="Hue"/>
 </pref>
 <pref name="video_pref" title="Video">
      <e property="fullscreen" name="Fullscreen"/>
      <e property="panscan" name="Panscan"/>
      <menu menu="colors_pref" name="Colors ..."/>
      <e property="ontop" name="Always on top"/>
      <e property="rootwin" name="Root window"/>
      <e property="framedropping" name="Frame dropping"/>
      <e property="vsync" name="VSync"/>
 </pref>
 <cmdlist name="pref_main" title="Preferences" ptr="<>" >
    <e name="General ..." ok="set_menu general_pref"/>
    <e name="Audio ..." ok="set_menu audio_pref"/>
    <e name="Video ..." ok="set_menu video_pref"/>
    <e name="Subtitles ..." ok="set_menu osd_sub_pref"/>
    <e name="Back" ok="menu cancel"/>
 </cmdlist>
 <pref name="properties" title="Stream Properties">
      <e txt="${filename}" name="Name"/>
      <e txt="${video_format}" name="Video Codec"/>
      <e txt="${video_bitrate}" name="Video Bitrate"/>
      <e txt="${width} x ${height}" name="Resolution"/>
      <e txt="${audio_codec}" name="Audio Codec"/>
      <e txt="${audio_bitrate}" name="Audio Bitrate"/>
      <e txt="${samplerate}, ${channels}" name="Audio Samples"/>
      <e txt="${metadata/Title}" name="Title"/>
      <e txt="${metadata/Artist}" name="Artist"/>
      <e txt="${metadata/Album}" name="Album"/>
      <e txt="${metadata/Year}" name="Year"/>
      <e txt="${metadata/Comment}" name="Comment"/>
      <e txt="${metadata/Track}" name="Track"/>
      <e txt="${metadata/Genre}" name="Genre"/>
      <e txt="${metadata/Software}" name="Software"/>
 </pref>
 <cmdlist name="main" title="Menu" ptr="<>" >
      <e name="Pause" ok="pause"/>
      <e name="Chapter ..." ok="set_menu select_chapter"
                            left="seek_chapter -1" right="seek_chapter +1"/>
      <e name="Prev/Next ..." ok="set_menu jump_to"
                            left="pt_step -1" right="pt_step 1"/>
      <e name="Open ..." ok="set_menu open_file"/>
      <e name="Open playlist ..." ok="set_menu open_list"/>
      <e name="Help" ok="set_menu man"/>
      <e name="Pref" ok="set_menu pref_main"/>
      <e name="Properties" ok="set_menu properties"/>
      <e name="Console" ok="set_menu console0"/>
      <e name="Quit" ok="quit"/>
 </cmdlist>

要啟用它,你必須在與“menu.conf”相同的目錄下的“input.conf”檔案中包含類似以下的鍵繫結

m menu main

“m”可以是任何鍵(或滑鼠按鈕(例如 MOUSE_BTN2))。然後用 -menu 開關啟動 mplayer(或者你可以在“config”檔案中新增 menu=yes)。

首選項

[編輯 | 編輯原始碼]

Mencoder

[edit | edit source]

MEncoder 是一個命令列影片解碼、編碼和過濾工具,大多數 MPlayer 包中都包含它。它是 MPlayer 的一個近親,可以使用不同的編解碼器將 MPlayer 識別的所有格式轉換為各種壓縮和未壓縮格式。

功能

[edit | edit source]

由於它構建於與 MPlayer 相同的程式碼,因此它可以讀取 MPlayer 可讀取的每個源,解碼 MPlayer 可解碼的所有媒體,並支援 MPlayer 可使用的所有過濾器。MPlayer 也可以用來在執行 MEncoder 之前檢視大多數過濾器(或整個過濾器管道)的輸出。如果系統無法即時處理此操作,可以使用 -nosound 停用音訊,以允許順利檢視影片過濾結果。

也可以將音訊和/或影片未經修改地複製到輸出檔案中,以避免由於重新編碼而造成的質量損失,例如,只修改音訊或影片,或者只是將音訊/影片資料未經修改地放入不同的容器格式中。

由於它使用與 MPlayer 相同的程式碼,因此它還具有相同數量的大量可高度配置的影片和音訊過濾器來轉換影片和音訊流:過濾器包括裁剪、縮放、垂直翻轉、水平映象、擴充套件以建立黑邊、旋轉、亮度/對比度、更改影片的縱橫比、顏色空間轉換、色調/飽和度、特定顏色的伽馬校正、用於減少由 MPEG 壓縮引起的壓縮偽影可見度的過濾器(去塊、去振鈴)、自動亮度/對比度增強(自動校準)、銳化/模糊、降噪過濾器、幾種不同的隔行掃描方法以及反轉電影院。

幀速率轉換和慢動作

[edit | edit source]

此外,還可以使用 -ofps 或 -speed 選項來更改幀速率,此外還可以使用 framestep 過濾器來跳過幀。降低幀速率可以用來建立快速運動的“速度”效果,這種效果有時會在電影中看到。

使用 tfields 過濾器,可以在不復制或變形幀的情況下將隔行掃描素材的幀速率加倍,從隔行掃描影片一幀中的兩個場建立兩個不同的幀。這允許在逐行掃描顯示器上播放,同時保留隔行掃描影片的完整解析度和幀速率,這與任何隔行掃描方法都不一樣。它還使素材更適合幀速率轉換,以及使用以標準影片/電視幀速率拍攝的素材建立慢動作場景,例如使用廉價的消費級攝像機。如果過濾器獲取了關於頂部/底部場順序的錯誤資訊,則生成的輸出影片將出現抖動運動,因為建立的兩個幀將以錯誤的順序顯示。

常見任務

[edit | edit source]

從一系列靜態影像建立動畫

[edit | edit source]

要將目錄中的所有 png 影像組合在一起以建立 avi 電影,請執行以下操作

mencoder mf://*.png -mf w=400:h=400 -ovc lavc -lavcopts vcodec=xvid -of avi -o output.avi

將影片拆分為一系列靜態影像

[edit | edit source]

要將輸入電影拆分為具有特定質量的子目錄“dirname”,請執行以下操作。

mplayer input.avi -vo jpeg:outdir=dirname:quality=80

合併多個影片

[edit | edit source]

要將兩個或多個影片檔案合併為一個檔案,請執行以下操作

mencoder -oac copy -ovc copy -idx -o whole.avi part1.avi part2.avi ...

這隻有在檔案中包含的影片具有相同解析度並使用相同編解碼器時才有效。當然,這適用於 MPlayer 可以播放的任何檔案格式,而不僅僅是 AVI 檔案。如果你的檔案不是 AVI 檔案,則必須指定輸出格式 -of。否則,合併的 mpeg 電影將駐留在 AVI 容器中。這是因為 AVI 是預設的輸出格式。(要檢視可用的輸出格式,請鍵入 mencoder -of help。)

將 DVD 轉換為原始影片

[edit | edit source]

mplayer 可以製作相當準確的“原始流”DVD 複製,例如(將 DVD 軌道 1 儲存到檔案 dvdout.mpg)

mplayer -dumpstream dvdnav://1 -nocache -dvd-device d: -dumpfile dvdout.mpg

如果你是 Windows 使用者,你可能需要將上面的“mplayer”替換為類似“C:\Program Files (x86)\MPlayer for WindowsUI\mplayer\mplayer.exe”的內容才能使它工作。(在這個例子中,是從 Mulder 的 Mplayer for Windows 安裝執行的)。你的路徑可能不同。

如果你是 Mac 使用者,並且下載了像 mplayerx 這樣的東西並將其安裝到你的應用程式資料夾中,那麼上面的“mplayer”可能看起來像“/Applications/MPlayerX.app/Contents/Resources/binaries/m32/mplayer”之類的東西。或者,如果你透過 macports 安裝了 mplayer,那麼是 /opt/local/bin/mplayer

Mencoder 也可以從 dvd 複製原始影片流

mencoder dvdnav://2 -nocache -oac copy -ovc copy -of mpeg -o dvdout.mpg

雖然 mencoder 似乎存在一個錯誤,它有時會在標題結尾處省略大約 20 分鐘。

另一個選擇可能是 dvd://2 而不是 dvdnav://2 -nocache,雖然據說 dvdnav -nocache 與更多 DVD 相容。

請注意,mpeg 是一種真正的“原始”複製,這意味著它的索引可能被搞亂了,如果它來自一個在中途重置 MPEG TS 時間戳的 DVD(很多 DVD 都是這樣,通常在 1 小時左右的時間)。你可以對檔案執行 mencoder -idx 來修復它們。如果它們壞了,那麼絕對定址/EDL 的定址行為可能會很奇怪。

將 DVD 複製到高質量壓縮 AVI

[edit | edit source]

要執行 DVD 上第二個標題的雙遍編碼到 MPEG-4 AVI,同時複製音訊軌道,請按以下順序執行這兩個命令

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac copy -o output.avi

第一遍建立一些臨時檔案(名稱以.log結尾)大小為幾兆位元組。不要在兩次遍之間刪除這些臨時檔案。在第二遍中,使用來自臨時檔案的位元率資料建立輸出檔案。生成的檔案將比單遍編碼產生的檔案具有更好的影像質量,因為額外的步驟允許在需要的時候有更高的位元率,在不需要的時候有更低的位元率,從而保持穩定的質量水平,而不是保持穩定的位元率,同時仍然保持所需的平均位元率。

對於字幕,請使用 -slang(例如,要讓影片中包含英文字幕,請使用 -slang en)或 -sid(例如 -sid 0)開關。當使用多種語言時,字幕可能會出現在所有對話中,包括主要語言。−forcedsubsonly 可能會(取決於 DVD 的製作方式)只對非主要語言的對話進行字幕。例如,在一個包含英語和德語對話的電影中,主要語言是英語,使用 -forcedsubsonly 可能會阻止英語對話和德語對話的字幕。例如,在一個包含英語和德語對話的電影中,主要語言是英語,使用 -forcedsubsonly 可能會阻止英語對話和德語對話的字幕。

對於更改音訊(例如在加拿大,影片通常以法語和英語提供),請指定 -alang-switch(例如 -alang en

你可能還想對較新的 DVD 使用 dvdnav:// -nocache

分割影片/影片子部分

[edit | edit source]

你可以使用 -ss 和 -endpos 引數來指定起點和終點,但它只能從最近的關鍵幀開始。因此,根據關鍵幀在影片中的放置頻率,實際的開始時間可能會延遲多達 10 秒(mp4)或 0.5 秒(MPEG-2 [DVD] 每個關鍵幀至少出現 15 幀,或 0.5 秒)。停止時間將相對於調整後的開始時間。

示例:注意 -endpos 開關中的 mb 字尾

mencoder -ovc copy -oac copy -ss 0 -endpos 700mb -o movie_part1.avi movie.avi

假設你想要分割 video_input.avi,這樣你就可以跳過“大約”前 3.2 秒,並獲取接下來的 2 秒影片(直到“大約”第 5.2 秒)

mencoder -ss 3.2 -endpos 2 -oac copy -ovc copy video_input.avi -o video_output.avi

一般來說

mencoder -ovc copy -oac copy -ss hh:mm:ss -endpos hh:mm:ss video_input.avi -o video_output.avi

這會將 video_input.avi 的一部分複製到 video_output.avi。部分從 -ss time 開始,到 -endpos time 結束。這些時間也可以使用 mb 字尾表示兆位元組。

如果你的音訊/影片編解碼器支援精確定位(例如,像 MJPEGhuffyuv 這樣的全幀編解碼器,用於音訊的 PCM 等),mencoder 能夠將音訊/影片容器無損地切割成片段。

你也可以先使用“keyint”設定為 1 重新編碼你的流,這將使每一幀都成為關鍵幀,從而使它隨後支援精確定位。

如果你的流支援精確定位,那麼以下命令可以用於將影片無損地切割成 1 分鐘的片段

mencoder -ss 0 -endpos 59.999 -oac copy -ovc copy video_input.avi -o video_output-001.avi
mencoder -ss 60 -endpos 59.999 -oac copy -ovc copy video_input.avi -o video_output-002.avi
mencoder -ss 120 - endpos 59.999 ...

還要注意,-hr-edl-seek 選項可能有助於它在某些流中更加準確,請參見 http://betterlogic.com/roger/2011/06/mplayer-hr-edl-seek

將 FLV 轉換為 AVI

[編輯 | 編輯原始碼]

您可以使用 mencoder 將來自 YouTube 和 Google Video 等網站的 FLV 檔案轉換為 AVI。

mencoder input.flv -ovc lavc -oac mp3lame -o output.avi


使用過濾器

[編輯 | 編輯原始碼]
增加或減少伽馬、對比度、亮度、飽和度
[編輯 | 編輯原始碼]
mencoder -oac copy -ovc lavc input.flv -vf eq2=gamma:contrast:brightness:saturation -o output.avi

其中伽馬 0.1 - 10(預設 1.0)、對比度 -2 - 2(預設 1.0)、亮度 -1 - 1(預設 0.0)、飽和度 0 - 3(預設 1.0)。

華夏公益教科書