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でもって、RaspberryPi上で
ffmpeg -i test.ts http://127.0.0.1:8090/feed1.ffm
omxplayer -p -o hdmi http://192.168.x.x:18090/test.flv
一応スムーズに再生されていますね。CPU使用率も低い。
でも、ビットレート低いせいかTSより荒いですね...
ビットレートこれ以上上げるとffserverがエラーになるんですよねぇ~
オプションの指定の仕方が悪いのか...
まぁ、見られるレベルなのでこれでいっかw
←こちらは704x480の動画です。こんな感じでかってに拡大され、
オーバーレイっぽく表示されます。
↓その時のCPU使用率はこんな感じ。
1440x1040にしてもまだCPU使用率変わらず。
1920x1072でもスムーズに再生されています。
おもいきって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 件のコメント:
コメントを投稿