ログイン
編集不可のページディスカッション情報添付ファイル
"hayakawa/mplayer"の差分

MMA
6と7のリビジョン間の差分
2011-02-06 19:21:28時点のリビジョン6
サイズ: 2624
編集者: hayakawa
コメント:
2012-05-16 15:11:41時点のリビジョン7
サイズ: 3940
編集者: hayakawa
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 13: 行 13:
{{{#!formant text {{{#!format text
行 15: 行 15:
}}}
現在のエンコの設定
{{{#!format text
nice -20 mencoder -oac mp3lame -ovc x264 -x264encopts scenecut=100 -vf scale=960:540,yadif=0 input.ts -o output.avi
行 24: 行 28:

== エンコ用のスクリプト ==
{{{#!highlight python
#!/usr/bin/python

import os
import time
from commands import *

encode = "nice -20 mencoder -oac mp3lame -ovc x264 -x264encopts scenecut=100 -vf scale=960:540,yadif=0 "


f = open("log.txt","a+")
g = open("error.txt","a+")

while 1:
    ls = os.listdir(".")
    ts = [w[:-3] for w in ls if w.endswith("ts")]
    avi = [w[:-4] for w in ls if w.endswith("avi")]
    koho = [w for w in ts if not w in avi]
    w = koho[0]

    comand = encode + w + ".ts" + " -o " + w + ".avi"
    print comand

    f.write(w + "\n")
    f.flush()
    start = time.time()
    out = getoutput(comand)
    print out
    time.sleep(5)
    end = time.time()
    if "non-interleaved" in out.split(" "):
        g.write(w + ".ts" + "\n")
        g.flush()
        getoutput("rm " + w + ".avi")
        getoutput("touch " + w + ".avi")
    elif end - start < 10:
        g.write(w + ".ts" + "\n")
        g.flush()
        getoutput("rm " + w + ".avi")
        getoutput("touch " + w + ".avi")
    else:
        getoutput("rm " + w + ".ts")

f.close()
g.close()
}}}

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 (最終更新日時 2012-05-16 15:11:41 更新者 hayakawa)