私はh264、hevc、その他のフォーマット用のハードウェアデコーダを備えたOrangepi5を持っています。私はarmibian Armbian 23.5.5 Jammy CLIカーネルレガシー5.10.160を使用しています。カスタムをインストールしました。RockChip MPPを使用したffmpegこれにより、これらのデコーダが有効になります。
これらのハードウェアデコーダを使用してループバックデバイスを作成しようとしています/dev/video0
。たとえば、次のコマンドを使用します。
ffmpeg -rtsp_transport tcp -y -c:v h264_rkmpp_decoder -re -i rtsp://admin:passwd@ipcam-front-up:554/stream=0 -c:v rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
効果がある しかし、見てみると、htop
プロセスグループ番号でそれを生成した基本スレッド/プロセスに加えて、12個のプロセス/スレッドがあります。平均CPU使用量の約7%。
何もトランスコーディングしない場合、なぜですか?たとえば、次を使用すると、次のような結果のみが得られます。平均CPU使用率の1%です。
ffmpeg -rtsp_transport tcp -y -c:v h264_rkmpp_decoder -i rtsp://admin:passwd@ipcam-front-up:554/stream=0 -f null -
なぜ-f v4l2
そんなに多くのオーバーヘッドがありますか?それとも私が何か間違っているのでしょうか?他のソフトウェアでストリームを使用できるようにしたいです(スポーツ) ハードウェアデコーダは直接使用できません。