rkmppenc 0.00

この前記事にしたように、ROCK 5B (RK3588 SOC)のhwエンコーダ・デコーダを試すことのできるエンコーダを作ってみた

その後、いろいろフィードバックをいただいたり、いろいろ調べてコードを修正した結果、明らかに問題のあったところは、ひととおりなおすことができた。まあ、まだいろいろ問題はあるかもだけど、一区切りということで、rkmppenc 0.00として公開。

手元で試しているのはROCK 5Bだけど、ROCK 5B以外の、その他のOrange Pi、Nano Pi、Radxa ROCKシリーズ等のRockchip系SoCでもたぶん動くはず。

rock_5b_hdmiin_20230425.jpg

NVEnc 7.24

English change log and binaries>>

[NVEncC]
- NVEnc 7.22で--sub-sourceが正常に動作しなくなっていたのを修正。
ご指摘いただいた問題 (指摘1, 指摘2) の修正。



※NVEnc 6.00から導入方法が変更されていますのでご注意ください。
※Aviutl向けには、Aviutl_NVEnc_7.xx.zip をダウンロードしてください。
ダウンロード>>

NVEncの導入
NVEncCオプション一覧>


NVEnc 7.23

English change log and binaries>>




NVEnc 7.23



NVEnc 7.22で、--sar/--darを使用した状態でH.264をrawで出力すると、異常終了する場合があったのを修正。



NVEnc 7.22



[NVEncC]
- hwデコードとhwインタレ解除にhwリサイズを組み合わせた際の、53x.xxドライバのバグを回避。
hwデコードとhwインタレ解除にhwリサイズを組み合わせると、縮小リサイズ時に異常な出力がなされる。hwデコードとhwインタレ解除使用時には、hwリサイズを使用せず、CUDAによるresizeを使用するよう変更した。

- libavdeviceに対応。

- timestampが0で始まらない音声を--audio-sourceで読み込むと、映像と正しく同期が取れない問題を修正。

- --audio-source/--sub-sourceでファイルのフォーマット等を指定できるように。

- 色空間情報の記載のないy4mファイルの色がおかしくなるのを回避。

- NVENCで並列5ストリームエンコードできるようになったのでメッセージを変更。

- --vpp-resizeにbicubicを追加。



※NVEnc 6.00から導入方法が変更されていますのでご注意ください。
※Aviutl向けには、Aviutl_NVEnc_7.xx.zip をダウンロードしてください。
ダウンロード>>

NVEncの導入
NVEncCオプション一覧>


QSVEnc 7.37

English version of changelog>>

[QSVEncC]
- oneVPL API v2.9に対応。

- エンコード品質をチューニングするオプションを追加。(--tune)

問題はまだドライバが対応していないようなこと。最新の4255ドライバはoneVPL 2.8までの対応のようだ。実際に試すのは、今後のドライバの更新待ちになりそう。



※Aviutl向けには、Aviutl_QSVEnc_7.xx.zip をダウンロードしてください。
QSVEnc ダウンロード>>

QSVEncの導入

QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>


ROCK 5BのHDMI Inを使って4Kキャプチャしよう

Rock 5BにはHDMI Inがついて来る。4K60 YUV420まではキャプチャできるようで、スペック上はなかなか優秀だ。

ということで、これを活用してみる。

いろいろ試行錯誤した結果、素のffmpegやobsではうまくキャプチャできなかったが、独自にv4l2のmulti planar APIに対応させたffmpeg改造版rkmppencを組み合わせることで、4K60 YUV420でキャプチャ & hwエンコードできるようになった。

rkmppenc_v4l2_hdmiin_rock5b_20230410_4k.jpg

ROCK 5B (RK3588) でhwエンコード ( rkmppenc )

Rock 5BのRK3588 SoCはhwデコーダ・エンコーダを内蔵していて、下記のコーデックに対応している。

hwエンコード
H.264/HEVC

hwデコード
H.264/HEVC/AV1/MPEG1/MPEG2

このデコーダ・エンコーダを試すため、rkmppenc というアプリを作成した。

rkmppenc_0_00_1080p_encode.jpg

H.264からH.264への1080pのエンコードで、400fps以上出しながら、CPU使用率は70%台(Linuxで8コアCPUなのでmaxは800%)と非常に低く抑えられている。

まあ、Bフレームとかはないので、画質はいまいちだけど、とりあえずこの速度でエンコードできるのはかなり高速なエンコーダが積まれているということだと思う。

Radxa ROCK 5Bのキャッシュ・メモリ帯域

今度はいつもの自作のメモリやキャッシュ速度をはかるプログラムで、Rock 5Bのメモリ・キャッシュの速度を確認してみる。

Radxa ROCK 5Bでベンチマーク

前回はRadxa ROCK 5Bのセットアップ方法を紹介したので、今回はそのベンチマークをして、性能をチェックしてみた。

ROCK 5BのCPUのRK3588は、Cortex-A76を4コアとCortex-A55を4コア搭載しているので、SBCとしては比較的高性能かも?

Radxa ROCK 5Bで遊ぼう

ちょっと前に、シングルボードコンピュータ(SBC)であるところのRadxa ROCK 5Bをゲットしてみた。

外見はこんな感じ。まあ、かなりちっちゃいし、ファンレスになっている。水色のアクリルケースもわりと好きかも。

IMG_20230328_0631.jpg



rigaya




QR