Login
Immutable PageDiscussionInfoAttachments
hayakawa/mplayer

MMA

mplayer

CUIで操作するメディアプレーヤー。 慣れるまで使いにくいが、大抵の動画や音声を再生でき、多くの機能がある。
また、smplayerなどのフロントエンドもある。

mencoder

mplayerのエンコード版。
mp3にエンコードする場合は、lameをインストールする必要がある。

地デジのエンコード設定例

mencoder -oac mp3lame -ovc x264 -vf yadif=0 input.ts -o output.avi

見れば分かることだが、音声mp3、映像x264、インターレス解除yadifである。

mencoder -oac mp3lame -ovc x264 -vf yadif=0,delogo=1261:88:100:1:80 input.ts -o output.avi 

現在のエンコの設定

nice -20 mencoder -oac mp3lame -ovc x264 -x264encopts scenecut=100 -vf scale=960:540,yadif=0 input.ts -o output.avi

こんな風にしてロゴの除去をすることもできる。しかし、完全にはできず、削除した周辺がぼやけてしまう。 これは、Tokyo MX用に設定した。もう少し、微調整を加えれば、良い結果が出るはず。

動画ファイルから音声を抜き出しmp3にする

mplayer input.mp4 -ao pcm:file=output.wav -volume 100 -vc dummy -vo null
lame -b 128 -resample 44100 -t output.wav output.mp3

エンコ用のスクリプト

   1 #!/usr/bin/python
   2 
   3 import os
   4 import time
   5 from commands import *
   6 
   7 encode = "nice -20 mencoder -oac mp3lame -ovc x264 -x264encopts scenecut=100 -vf scale=960:540,yadif=0 "
   8 
   9 
  10 f = open("log.txt","a+")
  11 g = open("error.txt","a+")
  12 
  13 while 1:
  14     ls = os.listdir(".")
  15     ts = [w[:-3] for w in ls if w.endswith("ts")]
  16     avi = [w[:-4] for w in ls if w.endswith("avi")]
  17     koho = [w for w in ts if not w in avi]
  18     w = koho[0]
  19 
  20     comand = encode + w + ".ts" + " -o " + w + ".avi"
  21     print comand
  22 
  23     f.write(w + "\n")
  24     f.flush()
  25     start = time.time()
  26     out = getoutput(comand)
  27     print out
  28     time.sleep(5)
  29     end = time.time()
  30     if "non-interleaved" in out.split(" "):
  31         g.write(w + ".ts" + "\n")
  32         g.flush()
  33         getoutput("rm " + w + ".avi")
  34         getoutput("touch " + w + ".avi")
  35     elif end - start < 10:
  36         g.write(w + ".ts" + "\n")
  37         g.flush()
  38         getoutput("rm " + w + ".avi")
  39         getoutput("touch " + w + ".avi")
  40     else:
  41         getoutput("rm " + w + ".ts")
  42 
  43 f.close()
  44 g.close()

再生方法

mplayer output.avi

のようにして、動画を再生する。

mplayer -vf yadif=0 output.avi

これで、エンコード時にインターレス解除を行っていなくても、再生時にリアルタイムでインターレス解除を行なってくれる。 そのため、このオプションをつけるとcpu負荷が大きくなるので、エンコード時に行ったほうが良い。

よく使う再生中の操作

→ 10秒送る
← 10秒戻る
o 再生時間の表示
I  再生中のファイル名の表示
f  フルスクリーン
*  音量を上げる
/  音量を下げる
m  ミュート
>  プレイリストの次のファイルを再生
p  一時停止
q  終了

再生時によく使うオプション

-shuffle     ランダム再生
-loop n      n回ループする
-playlist list listにあるファイルを再生する。
-fs          フルスクリーン表示
-rootwin     背景で再生
-novideo     画像を表示せず再生

プレイリストは、相対もしくは絶対位置でファイルを指定したテキストファイルである。例えば、

./sinryakunosusume.mp3
./gesogeso.avi
./ikachankawaii.avi

などのように記述する。

hayakawa/mplayer (last edited 2012-05-16 15:11:41 by hayakawa)