工具与软件:
尊敬的 Expert:
如您所知、AM62A 支持高达240MP/s 的编码器、在汽车 OEM 的新 DRV 项目中、前置摄像头需要8M*30fps、后置摄像头需要2M*30fps。 我认为编码器将是瓶颈、您是否有任何建议使用 AM62A 来支持该功能?
BR、
Biao
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的 Expert:
如您所知、AM62A 支持高达240MP/s 的编码器、在汽车 OEM 的新 DRV 项目中、前置摄像头需要8M*30fps、后置摄像头需要2M*30fps。 我认为编码器将是瓶颈、您是否有任何建议使用 AM62A 来支持该功能?
BR、
Biao
尊敬的 Biao:
我使用以下脚本使用 imx219 RPi 摄像头对此进行了测试:
#!/bin/bash
MULTICASTADDR=224.1.1.1
PORT=5000
MULTICASTADDR1=224.2.2.1
PORT1=5000
HEVC_PROFILE="main"
HEVC_LEVEL="1"
VIDEO_BITRATE=0
TEMP=$(getopt -o 'p:l:b:h' --long 'profile:,level:,bitrate:,input:,output:,help,mc:,port:,mc1:,port1:' -n '$0' -- "$@")
if [ $? -ne 0 ]; then
echo 'Terminating...' >&2
exit 1
fi
eval set -- "$TEMP"
unset TEMP
while true; do
case "$1" in
'-h'|'--help')
echo "$0 - H.265 compress a JPEG file into a one second stream"
echo "Parameters:"
echo " -p main|main-still-picture|main-10 (HEVC Profile)"
echo " -l 1|2|2.1|3|3.1|4|4.1|5|5.1 (HEVC Level)"
echo " -b 0..700000000 (Video Bitrate)"
echo " --mc <multicast ip address>"
echo " --port <port number> (default 5000)"
echo " --mc1 <multicast ip address>"
echo " --port1 <port number> (default 5000)"
echo " -h This help"
exit 0
shift
continue
;;
'-p'|'--profile')
case "$2" in
'main'|'Main'|'0')
HEVC_PROFILE="main"
;;
'main-still-picture'|'1')
HEVC_PROFILE="main-still-picture"
;;
'main-10'|'2')
HEVC_PROFILE="main-10"
;;
*)
HEVC_PROFILE="main"
;;
esac
echo "HEVC Profile: '$HEVC_PROFILE'"
shift 2
continue
;;
'-l'|'--level')
case "$2" in
'1'|'2'|'2.1'|'3'|'3.1'|'4'|'4.1'|'5'|'5.1')
HEVC_LEVEL="$2"
;;
*)
HEVC_LEVEL="1"
;;
esac
echo "HEVC Level: '$HEVC_LEVEL'"
shift 2
continue
;;
'-b'|'--bitrate')
echo "Video Bitrate: '$2'"
VIDEO_BITRATE=$2
shift 2
continue
;;
'mc')
MULTICASTADDR=$2
shift 2
continue
;;
'port')
PORT=$2
shift 2
continue
;;
'mc1')
MULTICASTADDR1=$2
shift 2
continue
;;
'port1')
PORT1=$2
shift 2
continue
;;
'--')
shift
break
;;
*)
echo 'Internal error!' >&2
exit 1
;;
esac
done
media-ctl -V '"imx219 4-0010":0 [fmt:SRGGB10_1X10/1920x1080 field:none]'
gst-launch-1.0 -q v4l2src device=/dev/video3 io-mode=dmabuf-import do-timestamp=true \
! video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb10 \
! tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin \
sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 \
! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 \
! tiovxmultiscaler name=multi target=0 \
multi.src_0 \
! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 \
! mosaic.sink_0 \
multi.src_1 \
! video/x-raw, format=NV12,width=1920, height=1080, framerate=30/1 \
! mosaic.sink_1 \
multi.src_2 \
! video/x-raw, format=NV12,width=1920, height=1080, framerate=30/1 \
! mosaic.sink_2 \
multi.src_3 \
! video/x-raw, format=NV12,width=1920, height=1080, framerate=30/1 \
! mosaic.sink_3 \
multi.src_4 \
! video/x-raw, format=NV12,width=1920, height=1080, framerate=30/1 \
! queue max-size-buffers=1 leaky=0 \
! v4l2h265enc extra-controls="enc,prepend_sps_and_pps_to_idr=1,video_gop_size=5" \
! rtph265pay config-interval=1 pt=96 \
! udpsink host=${MULTICASTADDR1} auto-multicast=true port=${PORT1} \
tiovxmosaic name=mosaic target=2 \
sink_0::startx="<0>" sink_0::starty="<0>" \
sink_1::startx="<1920>" sink_1::starty="<1080>" \
sink_2::startx="<0>" sink_2::starty="<1080>" \
sink_3::startx="<1920>" sink_3::starty="<0>" \
! video/x-raw, format=NV12, width=3840, height=2160, framerate=30/1 \
! queue max-size-buffers=1 leaky=0 \
! v4l2h265enc extra-controls="enc,prepend_sps_and_pps_to_idr=1,video_gop_size=5" \
! rtph265pay config-interval=1 pt=96 \
! udpsink host=${MULTICASTADDR} auto-multicast=true port=${PORT}
此脚本从摄像头接收2MP (全高清)视频、通过 ISP 运行视频、将其传递给多标量、然后使用多标量生成5个具有相同分辨率的流。 其中四个流被传递到 tiovxmosaic 元素,并被组合成一个3840x2160 (8 MP)流。 第五个流用作第二个全高清流。 两个流都传递到编码器中、然后传递到 RTP payloader 和 UDP 接收器。
它以30 fps 全速运行,我认为编码器可以处理8M*30fps 和2M*30fps 流。
但请注意、在使用8MP 传感器运行类似设置时、我遇到了问题、其中我使用 TEE 来复制8M 流、并将第二个流缩小至全高清。 我不确定您是否会遇到与我相同的瓶颈(我不确定瓶颈是什么)。
尊敬的 Biao:
根据参考手册(7.4.1第一个 alinea):
视频加速器是4K 编解码器、同时支持 HEVC 和 H.264/HEVC AVC 视频格式。 输出为高电平
采用单核架构、性能编码和解码能力高达8位4K@60fps。
如果它能够执行4K @ 60FPS、那么它应该能够执行两倍的4K @ 30FPS、而4K @ 30和全高清@ 30fps 应该非常舒适、在裕量范围内。
此致、
Bas Vermeulen