問題:FFMPEG GPU /ハードウェアアクセラレーションがRPIで有効になっていません。 FFPlayは不安定で不安定で、CPU使用率が100%に近いです。
説明:mpeg4ファイルのビデオストリーミングは非常に遅く(ビデオストリームはスライドショーのように再生されます)、95%から97%を消費します。 CPU消費量は画面サイズに応じて増加します。組み込みのWebbrowserなど、RPIの他のツールは同じMPEG4ファイルをシームレスに表示でき、実際にWebbrowserはHD(720p)品質のビデオを非常によく表示でき、約30〜35%のCPUを使用します。
環境:RPI3、FFMPEG。 FFMEGはMMALデコーダが有効にされ、確認された状態にコンパイルされます。ジョナサンから一歩出るとhttps://john.ly/rpi-h264-hw-acceleration/#comment-723「使用された。
理由:RPI 3でFFMEG MMALデコーダを高速化する理由は、PJSIPビデオ通話を使用しているためです。 PJSIPはFFMPEGを使用していますが、これはビデオ通話には遅すぎます(同じ理由でFFMEGも遅いと思います)。
設定とテスト:johnathanのコメントに従ってffmpegを設定するときにh264_mmalとh264_omxを有効にして、それぞれビデオをデコードしてエンコードしました。 rpi3で実行されるプロセスは次のとおりです。
- 1080P解像度のmp4ビデオファイルをダウンロードしてください。
- ffmpegをインストールするには、上記の手順に従ってください。
次のコマンドが実行されました。
1)
ffmpeg -f -i test.mp4 -s 320*240 -c:v h264_omx test_h264_mmal.mp4
2)
ffplay -vcodec h264_mmal test.mp4
3)
ffplay -vcodec h264_mmal test_h264_mmal.mp4
(320*240、640*480など多様な解像度)4) gpu_mem 値を 128 と 256 に設定
ffmpegの構成は次のとおりです。
$ ffmpeg -decoders | grep h264
ffmpeg version git-2017-05-05-3c085c1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --prefix=/usr --enable-mmal --enable-omx --enable-omx-rpi --enable-decoder=h264_mmal --enable-decoder=mpeg2_mmal --enable-encoder=h264_omx --enable-encoder=h264_omx --enable-libx264 --enable-nonfree --enable-gpl --enable-avresample --enable-shared --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libzvbi
libavutil 55. 61.100 / 55. 61.100
libavcodec 57. 94.101 / 57. 94.101
libavformat 57. 72.101 / 57. 72.101
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 88.100 / 6. 88.100
libavresample 3. 6. 0 / 3. 6. 0
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
VFS..D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
V..... h264_mmal h264 (mmal) (codec h264)
V....D h264_vdpau H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) (codec h264)
テスト結果:ffplayを使用すると、CPU使用率が100%に近づいて不安なビデオ画像のスライドショーが見られました。
注:デフォルトのブラウザとChromeを使用してRPI3からHDビデオをストリーミングする場合、CPU使用率は30〜35%です。
他に注意すべき事項がありますか?それとも1週間以上この問題を解決できなかったので、助けてくれてありがとう。