ROCK5Bのユニークな特徴であるHDMI入力(HDMI input)の設定方法について説明します。
ROCK5BのHDMI入力は、HDMI2.0 4k(2160p 60Hz)キャプチャに対応しています。HDMI入力端子の形状はmicro HDMI(タイプD)です。
目次
動作テスト
ROCK5BのHDMI入力はビデオデバイスとして認識され、/dev/video0が割り当てられます。
HDMI入力の情報はv4l2(Video for linux 2)ツールで取得できます。
HDMI入力のデバイス情報を確認する
$ v4l2-ctl -d /dev/video0 -D
Driver Info:
Driver name : rk_hdmirx
Card type : rk_hdmirx
Bus info : fdee0000.hdmirx-controller
Driver version : 5.10.66
Capabilities : 0x84201000
Video Capture Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04201000
Video Capture Multiplanar
Streaming
Extended Pix Format
HDMI入力の解像度とイメージフォーマットを確認する
$ v4l2-ctl -d /dev/video0 --get-fmt-video
Format Video Capture Multiplanar:
Width/Height : 3840/2160
Pixel Format : 'NV12' (Y/CbCr 4:2:0)
Field : None
Number of planes : 1
Flags : premultiplied-alpha, 0x000000fe
Colorspace : SMPTE 170M
Transfer Function : Default
YCbCr/HSV Encoding: Unknown (0x000000ff)
Quantization : Default
Plane 0 :
Bytes per Line : 3840
Size Image : 12441600
タイミング情報を取得する
$ v4l2-ctl -d /dev/video0 --get-dv-timings
DV timings:
Active width: 3840
Active height: 2160
Total width: 4120
Total height: 2250
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 297000000 Hz (32.04 frames per second)
Horizontal frontporch: 88
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 8
Vertical sync: 10
Vertical backporch: 72
Standards:
Flags:
HDMI入力をキャプチャする
v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=3840,height=2160,pixelformat='NV12' --stream-mmap=4 --stream-skip=3 --stream-count=5 --stream-to=/home/rock/hdmiin4k.yuv --stream-poll
キャプチャしたイメージファイルを再生する
ffplay -f rawvideo -video_size 3840x2160 -pixel_format nv12 /home/rock/hdmiin4k.yuv
オーディオ入力の確認
ROCK5Bには2系統のオーディオ入力があります。ひとつがHDMI入力、もうひとつがイヤホンジャックです。
arecordコマンドでオーディオ入力デバイスを確認できます。
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 2: rockchipes8316 [rockchip-es8316], device 0: fe470000.i2s-ES8316 HiFi es8316.7-0011-0 [fe470000.i2s-ES8316 HiFi es8316.7-0011-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: fddf8000.i2s-dummy_codec hdmiin-dc-0 [fddf8000.i2s-dummy_codec hdmiin-dc-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
上記の通り、カード3にHDMI入力のオーディオ入力が割り当てられています。以下のコマンドでオーディオもキャプチャできます。
# オーディオを5秒、キャプチャする
$ arecord -Dhw:3,0 -d 5 -f cd -r 44100 -c 2 -t wav /tmp/hdmiin_audio.wav
# イヤホン端子から再生する
$ aplay -D plughw:2,0 /tmp/hdmiin_audio.wav
トラブルシューティング
オーディオを録音できない(read error: Input/output error)
典型例な不具合例は、arecordコマンドで「read error: Input/output error」等、ALSAドライバのエラーが発生し、オーディオを録音できないケースです。
HDMI入力にオーディオ信号が入力されているか、ご確認ください。