omxplayerによる動画再生

Raspberry Pi の動画再生支援機能を使えるプレイヤーがあるそうです。
 http://sai-lab.ddns.net/diary/10051.html
を参考に omxplayer を使ってみました。
まずはインストール。ちょっと前まで少し面倒だったようですが
今は
sudo apt-get install omxplayer
のようにインストール出来るようです。
あとは
omxplayer -p -o hdmi ファイル名
とすれば動画再生してくれます。
-pはなくても音出てました。(このオプションあったほうがいいのかはわかりません(´・ω・`)

しかし...うちの環境では動画はtsファイルがほとんどです。
RaspberryPiの再生支援はh264だけ?っぽいので、上記HPの別の記事によると
tsファイル再生はCPUふりきちゃうみたいですね。

あらかじめh264動画を作成するか...リアルタイムに変換か...
どちらもめんどくさいですが、今回はお遊びで疑似?リアルタイム変換してみますか。
とはいえ、動画関係はあんまり知識がないので作ろうにも作れない(>_<)
何かいい物ないかな~と探しているとffmpegについているffserverが使えそうです。

もちろんRaspberryPi上で動作させるには重すぎと思うので別のPCでffserver動かしましょう。
が、別PCはmacbookしかない(;´д`)
しかもffserverってUNIX系でないとffmpegに付いてないっぽいですね。
macbookにUSBメモリ差して、Ubuntuをいれてみましたが、なんか起動が遅い!
イラッとしたので、これはやめて、普通にWindowsPCのVirtualBox上で
ffserverを動作させるようにしました。

VirtualBox、Ubuntu関係は省略...('~')

Ubuntu上で
ffserver

ffmpeg -i test.ts http://127.0.0.1:8090/feed1.ffm
でもって、RaspberryPi上で
omxplayer -p -o hdmi http://192.168.x.x:18090/test.flv

一応スムーズに再生されていますね。CPU使用率も低い。
でも、ビットレート低いせいかTSより荒いですね...
ビットレートこれ以上上げるとffserverがエラーになるんですよねぇ~
オプションの指定の仕方が悪いのか...
まぁ、見られるレベルなのでこれでいっかw

704x480.JPG
←こちらは704x480の動画です。こんな感じでかってに拡大され、
オーバーレイっぽく表示されます。
↓その時のCPU使用率はこんな感じ。
704x480-1.JPG


1440x1040.JPG
1440x1040にしてもまだCPU使用率変わらず。


CIMG0605.JPG
1920x1072でもスムーズに再生されています。


bd.JPGおもいきってBDレベルのファイルをapache配下に設置してRaspberryPiから再生させてみると...
さすがにCPU振り切ってました。
でも、最初の10秒くらいはスムーズで、その後は1秒ごとにつっかかる感じでした。
??CPU使用率さがってるのは再生停止したから)


で、最終的な /etc/ffserver.conf は以下のようになりました。
Port 8090
BindAddress 0.0.0.0
MaxBandwidth 2000

NoDaemon

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 2000M
</Feed>

<Stream test.flv>
Feed feed1.ffm

Format flv

VideoCodec libx264
VideoSize 1920x1072
VideoBitRate 1700

AVOptionVideo g 150
AVOptionVideo qcomp 0.7
AVOptionVideo qmin 15
AVOptionVideo qmax 51
AVOptionVideo qdiff 4
AVOptionVideo subq 6
AVOptionVideo me_range 16
AVOptionVideo i_qfactor 0.714286

AudioCodec libfaac
AudioBitRate 256
AudioChannels 2
AudioSampleRate 48000

AVOptionVideo flags +global_header
AVOptionAudio flags +global_header

</Stream>

<Stream stat.html>
Format status
</Stream>





0 件のコメント:

コメントを投稿