RMVB on linux

在mplayer官網下載適合自己的codecs (目前64bit OS只有realplayer可以用)
解壓縮後把 *.so 放在/usr/local/lib/codecs
然後在codecs.conf 搜尋 ; RealVideo variants
在這個大區段內的 有driver ffmpeg 的小區塊全部都註釋掉

codecs.conf 可以從官網下載放在 ~/.mplayer/

Hardware decode back again!

本來在Linux上是可以硬解的
不過在一段時間沒用硬解後,某天發現竟然不能硬解了

找東找西還是找不到原因,以為是驅動程式的問題就不去理它了
今天發現竟然是下面這個
mplayer-vaapi 搭配vf使用不能硬解
把他去掉馬上就回復可以硬解的狀態(很鳥的原因不知道為什麼以前沒想到)

然後搭配上為了在Linux看HiHD準備的MD-535
使用

tzap -a 0 HiHD + dvbstream -o -a 0 8192|./mplayer - -cache 2048 -va vaapi -vo vaapi

就可以完成一年多以來"在Linux上看HiHD"的目標
可惜AMD還是沒在Linux 驅動程式 加上反交錯的功能

Play-yan acceptable format

之前有研究過Game Boy Advance上的Play-yan 播放格式是如何?
怎麼轉成他可以支援的MP4檔?

那時候用的是mencoder 的lavc +lavf,這兩個codecs在mencoder上
不知道為什麼會因為mencoder 版本不同而有不穩定的現象

所以我就乾脆換成mencoder 的xvid + faac
整個步驟類似之前的lavc + lavf ,不過video ,audio的global headers是靠MP4Box

廢話就不多說了,先給我現在用的profile (我這個方式是走two pass的)

[play1]
vf-pre=scale=-2:160,crop=240:160
ovc=xvid=1
xvidencopts=bitrate=175:turbo=1:max_bframes=0:pass=1
nosound=1
font="Droid Sans Fallback"
utf8=1
[play2]
vf-pre=scale=-2:160,crop=240:160
vf-add=harddup
ovc=xvid=1
xvidencopts=bitrate=175:max_bframes=0:pass=2
oac=faac=1
faacopts=br=128:mpeg=4:object=2 
font="Droid Sans Fallback"
utf8=1
nosound=1

紅色是等比例縮放以高度為準計算寬度多少,之後再crop成play-yan最佳解析度
藍色是xvid的流量,以play-yan最佳解析度來說 流量超過256沒有太大意義
因為這種解析度影片流量23X就已經是最大了,再下去畫質也不會變好
我是推薦175 ,這仔細看的畫才可看的出來小暇疵
綠色是代表使用faac 的lc (aac相容性最高的格式)

把上面給的profile 的內容存到 ~/.mplayer/mencoder.conf 裡

然後執行下面兩個步驟

mencoder -profile play1 1.avi -o /dev/null
mencoder -profile play2 1.avi -o 01.avi

藍色是上面給的profile 名稱
綠色是1st pass 由於不需要輸出檔案,所以就用這個方式
紅色是2nd pass 輸出的檔案,可以注意到輸出的還是avi 需要靠MP4Box mux成mp4

MP4Box -aviraw audio 01.avi
MP4Box -aviraw video 01.avi

上面這兩個步驟是分別把01.avi的video,audio分離,準備mux成mp4
分離出的檔案有時候MP4Box可能認不出來檔案類別
譬如:aac的audio 分離出來的變成01.raw,這時候必須把它改名成01.aac
然後再進行下面步驟

MP4Box  -add 01.m2v:fps=29.976 -add 01.aac 01.mp4

紅色是剛剛分離出來的video
綠色是剛剛分離出來的audio
藍色是影片的FPS,由於MP4Box不能抓影片的FPS是多少 所以要手動給
(可以用影片frames+秒數 手動算,也可以用gnome-mplayer來看)
紅紫色當然就是最終目的mp4

這樣是有點複雜一些,不過這是目前最通用的辦法(各種支援MP4的機器都可以用)
而且這篇提到的軟體都是跨平台的,要用也比較方便

這個需要編譯裡有加 xvid,faac 的mencoder 請透過mediauntu來安裝
(faac由於一些關係,ubuntu裏面的mencoder不會包進來)
MP4Box 則是ubuntu裏面就有了,安裝gpac就可以使用MP4Box

延伸閱讀:http://bbs.wissky.com/t21986-p1-1.html

Catalyst 10.7

Catalyst 10.7 今天釋出了
馬上搭配VLC 1.1.1 試用看看

結果Windows版,稍微有硬解的感覺但是CPU還是負擔重
(會掉格,也會出現硬解畫面錯誤)

Linux 版則是完全沒以硬解(VLC 1.1.1 硬解設定反白不能選)
即便照Wiki 下去重新編譯也是沒辦法硬解
雖然開VLC時 GPU時脈有變高,但完全影片沒硬解的效果

最後還是用回mplayer-vaapi
卻發現之前的libva,libva-dev,xvba-video 沒升級到
不知道是不是這個因素才造成 播放字幕時畫面變白的BUG

升級到最新版的libva,libva-dev,xvba-video後
搭配mplayer-vaapi播放 已經沒有畫面變白的BUG

mplayer-vaapi update

傳出ATi更新他們的XvBA時,注意到了mplayer-vaapi其相關的東西 也跟著更新
據說新版的XvBA對支援UVD2的GPU會比較好,於是順手就更新了mplayer-vaapi看看

可惜試了半天有些許BUG

  • 一出現字幕畫面就會變白
  • 快轉時畫面也會變白

看來要等一段時間才能解決這個問題

mplayer 1.0 rc3

好久沒更新的mplayer,終於又更新了

This release adds support for a ton of new binary codecs and leverages all the stuff added to FFmpeg. Hardware-accelerated video output over VDPAU is now possible, as is audio output through PulseAudio. MPlayer now runs natively on 64bit OS X, the Wii and on OS/2.

增加了很多codec支援,加入vdpau硬解(for nvidia)

只有vdpau硬解沒有把vaapi 放進來,看了不是很高興
所以就自己patch了
mplayer vaapi deb (AMD64)

使用方法

1.首先準備環境:安裝libva1,libva-dev (請挑自己OS的版本),安裝xvba,vdpau
2.安裝mplayer deb
3.執行./mplayer -vo vaapi -va vaapi 影片,就可以播放
(也可以把這行放進nautilus-scripts 方便播放  mplayer -vo vaapi -va vaapi $1)

mplayer stop screensaver

在ubuntu 使用ubuntu 播放影片時
最尷尬的就是播到一半出現保護程式或者顯示器電源關閉

只要在 ~/.mplayer/config 加入

heartbeat-cmd="gnome-screensaver-command -p"

就可以讓gnome 的螢幕保護程式不會打開

如果螢幕保護程式用的是xscreensaver則是

heartbeat-cmd="xscreen‐saver-command -deactivate"

Previous Older Entries