与rkipc通信

rkipc的通信方式

在ipcweb中,程序是通过/var/tmp/rkipc和rkipc进行通信,并且网络和客户端的函数封装在luckfox-pico/project/app/ipcweb/ipcweb-backend/src/socket_client文件夹中,
client.cpp是客户端命令
socket.cpp是网络命令

编写rkipc的通信程序

创建文件夹con_rkipcwe并且把luckfox-pico/project/app/ipcweb/ipcweb-backend/src/socket_client中的文件复制进去, 并且改后缀名为c文件
修改client.c

// #include "api_handler.h"
#include <string.h>
//添加stdlib.h
#include <stdlib.h>
#include "socket.h"

创建main.c

#include <stdio.h>
#include "client.h"
#include "socket.h"int main()
{// printf("hello world!\n");int int_value = 0;rk_isp_get_contrast(0, &int_value);printf("int_value %d \n", int_value);return 0;
}

build.sh

#! /bin/sh../luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc \
-g \
main.c client.c  socket.c \
-o con_rkipc \
-I ./ 

编译和测试

编译

$ ./build.sh

复制到摄像头的/oem/usr/bin目录下

# ./con_rkipc
int_value 50

已经取得int值50

函数解析

luckfox-pico/project/app/rkipc/rkipc/common/socket_server/server.c的static const struct FunMap map[] 定义了 client的函数和server函数对应关系
例如

 {(char *)"rk_isp_get_contrast", &ser_rk_isp_get_contrast},

client的rk_isp_get_contrast函数,对应server的ser_rk_isp_get_contrast

// isp adjustmentint ser_rk_isp_get_contrast(int fd) {int err = 0;int id;int value;if (sock_read(fd, &id, sizeof(id)) == SOCKERR_CLOSED)return -1;//| rk_isp_get_contrast                  | 获取对比度       |err = rk_isp_get_contrast(id, &value);LOG_DEBUG("value is %d\n", value);if (sock_write(fd, &value, sizeof(value)) == SOCKERR_CLOSED)return -1;if (sock_write(fd, &err, sizeof(int)) == SOCKERR_CLOSED)return -1;return 0;
}

在luckfox-pico/project/app/rkipc/rkipc/docs/Rockchip_Developer_Guide_Linux_RKIPC_CN.md中查得rk_isp_get_contrast函数是获取对比度的函数
rkipc获取对比度的值,发送回con_rkipc

static const struct FunMap map[]

static const struct FunMap map[] = {{(char *)"rk_isp_set", &ser_rk_isp_set},{(char *)"rk_video_set", &ser_rk_video_set},{(char *)"rk_audio_set", &ser_rk_audio_set},// isp scenario{(char *)"rk_isp_get_scenario", &ser_rk_isp_get_scenario},{(char *)"rk_isp_set_scenario", &ser_rk_isp_set_scenario},// isp adjustment{(char *)"rk_isp_get_contrast", &ser_rk_isp_get_contrast},{(char *)"rk_isp_set_contrast", &ser_rk_isp_set_contrast},{(char *)"rk_isp_get_brightness", &ser_rk_isp_get_brightness},{(char *)"rk_isp_set_brightness", &ser_rk_isp_set_brightness},{(char *)"rk_isp_get_saturation", &ser_rk_isp_get_saturation},{(char *)"rk_isp_set_saturation", &ser_rk_isp_set_saturation},{(char *)"rk_isp_get_sharpness", &ser_rk_isp_get_sharpness},{(char *)"rk_isp_set_sharpness", &ser_rk_isp_set_sharpness},{(char *)"rk_isp_get_hue", &ser_rk_isp_get_hue},{(char *)"rk_isp_set_hue", &ser_rk_isp_set_hue},// isp exposure{(char *)"rk_isp_get_exposure_mode", &ser_rk_isp_get_exposure_mode},{(char *)"rk_isp_set_exposure_mode", &ser_rk_isp_set_exposure_mode},{(char *)"rk_isp_get_gain_mode", &ser_rk_isp_get_gain_mode},{(char *)"rk_isp_set_gain_mode", &ser_rk_isp_set_gain_mode},{(char *)"rk_isp_get_exposure_time", &ser_rk_isp_get_exposure_time},{(char *)"rk_isp_set_exposure_time", &ser_rk_isp_set_exposure_time},{(char *)"rk_isp_get_exposure_gain", &ser_rk_isp_get_exposure_gain},{(char *)"rk_isp_set_exposure_gain", &ser_rk_isp_set_exposure_gain},{(char *)"rk_isp_get_frame_rate", &ser_rk_isp_get_frame_rate},{(char *)"rk_isp_set_frame_rate", &ser_rk_isp_set_frame_rate},// isp night_to_day{(char *)"rk_isp_get_night_to_day", &ser_rk_isp_get_night_to_day},{(char *)"rk_isp_set_night_to_day", &ser_rk_isp_set_night_to_day},{(char *)"rk_isp_get_fill_light_mode", &ser_rk_isp_get_fill_light_mode},{(char *)"rk_isp_set_fill_light_mode", &ser_rk_isp_set_fill_light_mode},{(char *)"rk_isp_get_light_brightness", &ser_rk_isp_get_light_brightness},{(char *)"rk_isp_set_light_brightness", &ser_rk_isp_set_light_brightness},{(char *)"rk_isp_get_night_to_day_filter_level", &ser_rk_isp_get_night_to_day_filter_level},{(char *)"rk_isp_set_night_to_day_filter_level", &ser_rk_isp_set_night_to_day_filter_level},{(char *)"rk_isp_get_night_to_day_filter_time", &ser_rk_isp_get_night_to_day_filter_time},{(char *)"rk_isp_set_night_to_day_filter_time", &ser_rk_isp_set_night_to_day_filter_time},// isp blc{(char *)"rk_isp_get_hdr", &ser_rk_isp_get_hdr},{(char *)"rk_isp_set_hdr", &ser_rk_isp_set_hdr},{(char *)"rk_isp_get_blc_region", &ser_rk_isp_get_blc_region},{(char *)"rk_isp_set_blc_region", &ser_rk_isp_set_blc_region},{(char *)"rk_isp_get_hlc", &ser_rk_isp_get_hlc},{(char *)"rk_isp_set_hlc", &ser_rk_isp_set_hlc},{(char *)"rk_isp_get_hdr_level", &ser_rk_isp_get_hdr_level},{(char *)"rk_isp_set_hdr_level", &ser_rk_isp_set_hdr_level},{(char *)"rk_isp_get_blc_strength", &ser_rk_isp_get_blc_strength},{(char *)"rk_isp_set_blc_strength", &ser_rk_isp_set_blc_strength},{(char *)"rk_isp_get_hlc_level", &ser_rk_isp_get_hlc_level},{(char *)"rk_isp_set_hlc_level", &ser_rk_isp_set_hlc_level},{(char *)"rk_isp_get_dark_boost_level", &ser_rk_isp_get_dark_boost_level},{(char *)"rk_isp_set_dark_boost_level", &ser_rk_isp_set_dark_boost_level},// isp white_blance{(char *)"rk_isp_get_white_blance_style", &ser_rk_isp_get_white_blance_style},{(char *)"rk_isp_set_white_blance_style", &ser_rk_isp_set_white_blance_style},{(char *)"rk_isp_get_white_blance_red", &ser_rk_isp_get_white_blance_red},{(char *)"rk_isp_set_white_blance_red", &ser_rk_isp_set_white_blance_red},{(char *)"rk_isp_get_white_blance_green", &ser_rk_isp_get_white_blance_green},{(char *)"rk_isp_set_white_blance_green", &ser_rk_isp_set_white_blance_green},{(char *)"rk_isp_get_white_blance_blue", &ser_rk_isp_get_white_blance_blue},{(char *)"rk_isp_set_white_blance_blue", &ser_rk_isp_set_white_blance_blue},// isp enhancement{(char *)"rk_isp_get_noise_reduce_mode", &ser_rk_isp_get_noise_reduce_mode},{(char *)"rk_isp_set_noise_reduce_mode", &ser_rk_isp_set_noise_reduce_mode},{(char *)"rk_isp_get_dehaze", &ser_rk_isp_get_dehaze},{(char *)"rk_isp_set_dehaze", &ser_rk_isp_set_dehaze},{(char *)"rk_isp_get_gray_scale_mode", &ser_rk_isp_get_gray_scale_mode},{(char *)"rk_isp_set_gray_scale_mode", &ser_rk_isp_set_gray_scale_mode},{(char *)"rk_isp_get_distortion_correction", &ser_rk_isp_get_distortion_correction},{(char *)"rk_isp_set_distortion_correction", &ser_rk_isp_set_distortion_correction},{(char *)"rk_isp_get_spatial_denoise_level", &ser_rk_isp_get_spatial_denoise_level},{(char *)"rk_isp_set_spatial_denoise_level", &ser_rk_isp_set_spatial_denoise_level},{(char *)"rk_isp_get_temporal_denoise_level", &ser_rk_isp_get_temporal_denoise_level},{(char *)"rk_isp_set_temporal_denoise_level", &ser_rk_isp_set_temporal_denoise_level},{(char *)"rk_isp_get_dehaze_level", &ser_rk_isp_get_dehaze_level},{(char *)"rk_isp_set_dehaze_level", &ser_rk_isp_set_dehaze_level},{(char *)"rk_isp_get_fec_level", &ser_rk_isp_get_fec_level},{(char *)"rk_isp_set_fec_level", &ser_rk_isp_set_fec_level},{(char *)"rk_isp_get_ldch_level", &ser_rk_isp_get_ldch_level},{(char *)"rk_isp_set_ldch_level", &ser_rk_isp_set_ldch_level},// isp video_adjustment{(char *)"rk_isp_get_power_line_frequency_mode", &ser_rk_isp_get_power_line_frequency_mode},{(char *)"rk_isp_set_power_line_frequency_mode", &ser_rk_isp_set_power_line_frequency_mode},{(char *)"rk_isp_get_image_flip", &ser_rk_isp_get_image_flip},{(char *)"rk_isp_set_image_flip", &ser_rk_isp_set_image_flip},// isp auto focus{(char *)"rk_isp_get_af_mode", &ser_rk_isp_get_af_mode},{(char *)"rk_isp_set_af_mode", &ser_rk_isp_set_af_mode},{(char *)"rk_isp_get_zoom_level", &ser_rk_isp_get_zoom_level},{(char *)"rk_isp_get_focus_level", &ser_rk_isp_get_focus_level},{(char *)"rk_isp_af_zoom_in", &ser_rk_isp_af_zoom_in},{(char *)"rk_isp_af_zoom_out", &ser_rk_isp_af_zoom_out},{(char *)"rk_isp_af_focus_in", &ser_rk_isp_af_focus_in},{(char *)"rk_isp_af_focus_out", &ser_rk_isp_af_focus_out},{(char *)"rk_isp_af_focus_once", &ser_rk_isp_af_focus_once},// audio{(char *)"rk_audio_restart", &ser_rk_audio_restart},{(char *)"rk_audio_get_bit_rate", &ser_rk_audio_get_bit_rate},{(char *)"rk_audio_set_bit_rate", &ser_rk_audio_set_bit_rate},{(char *)"rk_audio_get_sample_rate", &ser_rk_audio_get_sample_rate},{(char *)"rk_audio_set_sample_rate", &ser_rk_audio_set_sample_rate},{(char *)"rk_audio_get_volume", &ser_rk_audio_get_volume},{(char *)"rk_audio_set_volume", &ser_rk_audio_set_volume},{(char *)"rk_audio_get_enable_vqe", &ser_rk_audio_get_enable_vqe},{(char *)"rk_audio_set_enable_vqe", &ser_rk_audio_set_enable_vqe},{(char *)"rk_audio_get_encode_type", &ser_rk_audio_get_encode_type},{(char *)"rk_audio_set_encode_type", &ser_rk_audio_set_encode_type},// video{(char *)"rk_video_restart", &ser_rk_video_restart},{(char *)"rk_video_get_gop", &ser_rk_video_get_gop},{(char *)"rk_video_set_gop", &ser_rk_video_set_gop},{(char *)"rk_video_get_max_rate", &ser_rk_video_get_max_rate},{(char *)"rk_video_set_max_rate", &ser_rk_video_set_max_rate},{(char *)"rk_video_get_RC_mode", &ser_rk_video_get_RC_mode},{(char *)"rk_video_set_RC_mode", &ser_rk_video_set_RC_mode},{(char *)"rk_video_get_output_data_type", &ser_rk_video_get_output_data_type},{(char *)"rk_video_set_output_data_type", &ser_rk_video_set_output_data_type},{(char *)"rk_video_get_rc_quality", &ser_rk_video_get_rc_quality},{(char *)"rk_video_set_rc_quality", &ser_rk_video_set_rc_quality},{(char *)"rk_video_get_smart", &ser_rk_video_get_smart},{(char *)"rk_video_set_smart", &ser_rk_video_set_smart},{(char *)"rk_video_get_gop_mode", &ser_rk_video_get_gop_mode},{(char *)"rk_video_set_gop_mode", &ser_rk_video_set_gop_mode},{(char *)"rk_video_get_stream_type", &ser_rk_video_get_stream_type},{(char *)"rk_video_set_stream_type", &ser_rk_video_set_stream_type},{(char *)"rk_video_get_h264_profile", &ser_rk_video_get_h264_profile},{(char *)"rk_video_set_h264_profile", &ser_rk_video_set_h264_profile},{(char *)"rk_video_get_resolution", &ser_rk_video_get_resolution},{(char *)"rk_video_set_resolution", &ser_rk_video_set_resolution},{(char *)"rk_video_get_frame_rate", &ser_rk_video_get_frame_rate},{(char *)"rk_video_set_frame_rate", &ser_rk_video_set_frame_rate},{(char *)"rk_video_get_frame_rate_in", &ser_rk_video_get_frame_rate_in},{(char *)"rk_video_set_frame_rate_in", &ser_rk_video_set_frame_rate_in},{(char *)"rk_video_get_rotation", &ser_rk_video_get_rotation},{(char *)"rk_video_set_rotation", &ser_rk_video_set_rotation},// jpeg{(char *)"rk_video_get_enable_cycle_snapshot", &ser_rk_video_get_enable_cycle_snapshot},{(char *)"rk_video_set_enable_cycle_snapshot", &ser_rk_video_set_enable_cycle_snapshot},{(char *)"rk_video_get_image_quality", &ser_rk_video_get_image_quality},{(char *)"rk_video_set_image_quality", &ser_rk_video_set_image_quality},{(char *)"rk_video_get_snapshot_interval_ms", &ser_rk_video_get_snapshot_interval_ms},{(char *)"rk_video_set_snapshot_interval_ms", &ser_rk_video_set_snapshot_interval_ms},{(char *)"rk_video_get_jpeg_resolution", &ser_rk_video_get_jpeg_resolution},{(char *)"rk_video_set_jpeg_resolution", &ser_rk_video_set_jpeg_resolution},// osd.common{(char *)"rk_osd_get_is_presistent_text", &ser_rk_osd_get_is_presistent_text},{(char *)"rk_osd_set_is_presistent_text", &ser_rk_osd_set_is_presistent_text},{(char *)"rk_osd_get_font_size", &ser_rk_osd_get_font_size},{(char *)"rk_osd_set_font_size", &ser_rk_osd_set_font_size},{(char *)"rk_osd_get_boundary", &ser_rk_osd_get_boundary},{(char *)"rk_osd_set_boundary", &ser_rk_osd_set_boundary},{(char *)"rk_osd_get_normalized_screen_width", &ser_rk_osd_get_normalized_screen_width},{(char *)"rk_osd_get_normalized_screen_height", &ser_rk_osd_get_normalized_screen_height},{(char *)"rk_osd_get_attribute", &ser_rk_osd_get_attribute},{(char *)"rk_osd_set_attribute", &ser_rk_osd_set_attribute},{(char *)"rk_osd_get_font_color_mode", &ser_rk_osd_get_font_color_mode},{(char *)"rk_osd_set_font_color_mode", &ser_rk_osd_set_font_color_mode},{(char *)"rk_osd_get_font_color", &ser_rk_osd_get_font_color},{(char *)"rk_osd_set_font_color", &ser_rk_osd_set_font_color},{(char *)"rk_osd_get_alignment", &ser_rk_osd_get_alignment},{(char *)"rk_osd_set_alignment", &ser_rk_osd_set_alignment},{(char *)"rk_osd_get_font_path", &ser_rk_osd_get_font_path},{(char *)"rk_osd_set_font_path", &ser_rk_osd_set_font_path},// osd.x{(char *)"rk_osd_get_enabled", &ser_rk_osd_get_enabled},{(char *)"rk_osd_set_enabled", &ser_rk_osd_set_enabled},{(char *)"rk_osd_get_position_x", &ser_rk_osd_get_position_x},{(char *)"rk_osd_set_position_x", &ser_rk_osd_set_position_x},{(char *)"rk_osd_get_position_y", &ser_rk_osd_get_position_y},{(char *)"rk_osd_set_position_y", &ser_rk_osd_set_position_y},{(char *)"rk_osd_get_height", &ser_rk_osd_get_height},{(char *)"rk_osd_set_height", &ser_rk_osd_set_height},{(char *)"rk_osd_get_width", &ser_rk_osd_get_width},{(char *)"rk_osd_set_width", &ser_rk_osd_set_width},{(char *)"rk_osd_get_display_week_enabled", &ser_rk_osd_get_display_week_enabled},{(char *)"rk_osd_set_display_week_enabled", &ser_rk_osd_set_display_week_enabled},{(char *)"rk_osd_get_date_style", &ser_rk_osd_get_date_style},{(char *)"rk_osd_set_date_style", &ser_rk_osd_set_date_style},{(char *)"rk_osd_get_time_style", &ser_rk_osd_get_time_style},{(char *)"rk_osd_set_time_style", &ser_rk_osd_set_time_style},{(char *)"rk_osd_get_type", &ser_rk_osd_get_type},{(char *)"rk_osd_set_type", &ser_rk_osd_set_type},{(char *)"rk_osd_get_display_text", &ser_rk_osd_get_display_text},{(char *)"rk_osd_set_display_text", &ser_rk_osd_set_display_text},{(char *)"rk_osd_get_image_path", &ser_rk_osd_get_image_path},{(char *)"rk_osd_set_image_path", &ser_rk_osd_set_image_path},{(char *)"rk_osd_get_style", &ser_rk_osd_get_style},{(char *)"rk_osd_set_style", &ser_rk_osd_set_style},{(char *)"rk_osd_restart", &ser_rk_osd_restart},// roi.x{(char *)"rk_roi_get_stream_type", &ser_rk_roi_get_stream_type},{(char *)"rk_roi_set_stream_type", &ser_rk_roi_set_stream_type},{(char *)"rk_roi_get_name", &ser_rk_roi_get_name},{(char *)"rk_roi_set_name", &ser_rk_roi_set_name},{(char *)"rk_roi_get_id", &ser_rk_roi_get_id},{(char *)"rk_roi_set_id", &ser_rk_roi_set_id},{(char *)"rk_roi_get_enabled", &ser_rk_roi_get_enabled},{(char *)"rk_roi_set_enabled", &ser_rk_roi_set_enabled},{(char *)"rk_roi_get_position_x", &ser_rk_roi_get_position_x},{(char *)"rk_roi_set_position_x", &ser_rk_roi_set_position_x},{(char *)"rk_roi_get_position_y", &ser_rk_roi_get_position_y},{(char *)"rk_roi_set_position_y", &ser_rk_roi_set_position_y},{(char *)"rk_roi_get_height", &ser_rk_roi_get_height},{(char *)"rk_roi_set_height", &ser_rk_roi_set_height},{(char *)"rk_roi_get_width", &ser_rk_roi_get_width},{(char *)"rk_roi_set_width", &ser_rk_roi_set_width},{(char *)"rk_roi_get_quality_level", &ser_rk_roi_get_quality_level},{(char *)"rk_roi_set_quality_level", &ser_rk_roi_set_quality_level},{(char *)"rk_roi_set_all", &ser_rk_roi_set_all},// region_clip.x{(char *)"rk_region_clip_get_enabled", &ser_rk_region_clip_get_enabled},{(char *)"rk_region_clip_set_enabled", &ser_rk_region_clip_set_enabled},{(char *)"rk_region_clip_get_position_x", &ser_rk_region_clip_get_position_x},{(char *)"rk_region_clip_set_position_x", &ser_rk_region_clip_set_position_x},{(char *)"rk_region_clip_get_position_y", &ser_rk_region_clip_get_position_y},{(char *)"rk_region_clip_set_position_y", &ser_rk_region_clip_set_position_y},{(char *)"rk_region_clip_get_height", &ser_rk_region_clip_get_height},{(char *)"rk_region_clip_set_height", &ser_rk_region_clip_set_height},{(char *)"rk_region_clip_get_width", &ser_rk_region_clip_get_width},{(char *)"rk_region_clip_set_width", &ser_rk_region_clip_set_width},{(char *)"rk_region_clip_set_all", &ser_rk_region_clip_set_all},// network{(char *)"rk_network_ipv4_get", &ser_rk_network_ipv4_get},{(char *)"rk_network_ipv4_set", &ser_rk_network_ipv4_set},{(char *)"rk_network_dns_get", &ser_rk_network_dns_get},{(char *)"rk_network_dns_set", &ser_rk_network_dns_set},{(char *)"rk_network_get_mac", &ser_rk_network_get_mac},{(char *)"rk_network_nicspeed_get", &ser_rk_network_nicspeed_get},{(char *)"rk_network_nicspeed_set", &ser_rk_network_nicspeed_set},{(char *)"rk_network_nicspeed_support_get", &ser_rk_network_nicspeed_support_get},{(char *)"rk_wifi_power_get", &ser_rk_wifi_power_get},{(char *)"rk_wifi_power_set", &ser_rk_wifi_power_set},{(char *)"rk_wifi_scan_wifi", &ser_rk_wifi_scan_wifi},{(char *)"rk_wifi_get_list", &ser_rk_wifi_get_list},{(char *)"rk_wifi_connect_with_ssid", &ser_rk_wifi_connect_with_ssid},{(char *)"rk_wifi_forget_with_ssid", &ser_rk_wifi_forget_with_ssid},// storage{(char *)"rk_storage_record_start", &ser_rk_storage_record_start},{(char *)"rk_storage_record_stop", &ser_rk_storage_record_stop},{(char *)"rk_storage_record_statue_get", &ser_rk_storage_record_statue_get},{(char *)"rk_take_photo", &ser_rk_take_photo},// event{(char *)"rk_event_ri_get_enabled", &ser_rk_event_ri_get_enabled},{(char *)"rk_event_ri_set_enabled", &ser_rk_event_ri_set_enabled},{(char *)"rk_event_ri_get_position_x", &ser_rk_event_ri_get_position_x},{(char *)"rk_event_ri_set_position_x", &ser_rk_event_ri_set_position_x},{(char *)"rk_event_ri_get_position_y", &ser_rk_event_ri_get_position_y},{(char *)"rk_event_ri_set_position_y", &ser_rk_event_ri_set_position_y},{(char *)"rk_event_ri_get_width", &ser_rk_event_ri_get_width},{(char *)"rk_event_ri_set_width", &ser_rk_event_ri_set_width},{(char *)"rk_event_ri_get_height", &ser_rk_event_ri_get_height},{(char *)"rk_event_ri_set_height", &ser_rk_event_ri_set_height},{(char *)"rk_event_ri_get_proportion", &ser_rk_event_ri_get_proportion},{(char *)"rk_event_ri_set_proportion", &ser_rk_event_ri_set_proportion},{(char *)"rk_event_ri_get_sensitivity_level", &ser_rk_event_ri_get_sensitivity_level},{(char *)"rk_event_ri_set_sensitivity_level", &ser_rk_event_ri_set_sensitivity_level},{(char *)"rk_event_ri_get_time_threshold", &ser_rk_event_ri_get_time_threshold},{(char *)"rk_event_ri_set_time_threshold", &ser_rk_event_ri_set_time_threshold},// system{(char *)"rk_system_capability_get_video", &ser_rk_system_capability_get_video},{(char *)"rk_system_capability_get_image_adjustment",&ser_rk_system_capability_get_image_adjustment},{(char *)"rk_system_capability_get_image_blc", &ser_rk_system_capability_get_image_blc},{(char *)"rk_system_capability_get_image_enhancement",&ser_rk_system_capability_get_image_enhancement},{(char *)"rk_system_capability_get_image_exposure",&ser_rk_system_capability_get_image_exposure},{(char *)"rk_system_capability_get_image_night_to_day",&ser_rk_system_capability_get_image_night_to_day},{(char *)"rk_system_capability_get_image_video_adjustment",&ser_rk_system_capability_get_image_video_adjustment},{(char *)"rk_system_capability_get_image_white_blance",&ser_rk_system_capability_get_image_white_blance},{(char *)"rk_system_get_deivce_name", &ser_rk_system_get_deivce_name},{(char *)"rk_system_get_telecontrol_id", &ser_rk_system_get_telecontrol_id},{(char *)"rk_system_get_model", &ser_rk_system_get_model},{(char *)"rk_system_get_serial_number", &ser_rk_system_get_serial_number},{(char *)"rk_system_get_firmware_version", &ser_rk_system_get_firmware_version},{(char *)"rk_system_get_encoder_version", &ser_rk_system_get_encoder_version},{(char *)"rk_system_get_web_version", &ser_rk_system_get_web_version},{(char *)"rk_system_get_plugin_version", &ser_rk_system_get_plugin_version},{(char *)"rk_system_get_channels_number", &ser_rk_system_get_channels_number},{(char *)"rk_system_get_hard_disks_number", &ser_rk_system_get_hard_disks_number},{(char *)"rk_system_get_alarm_inputs_number", &ser_rk_system_get_alarm_inputs_number},{(char *)"rk_system_get_alarm_outputs_number", &ser_rk_system_get_alarm_outputs_number},{(char *)"rk_system_get_firmware_version_info", &ser_rk_system_get_firmware_version_info},{(char *)"rk_system_get_manufacturer", &ser_rk_system_get_manufacturer},{(char *)"rk_system_get_hardware_id", &ser_rk_system_get_hardware_id},{(char *)"rk_system_set_deivce_name", &ser_rk_system_set_deivce_name},{(char *)"rk_system_set_telecontrol_id", &ser_rk_system_set_telecontrol_id},{(char *)"rk_system_reboot", &ser_rk_system_reboot},{(char *)"rk_system_factory_reset", &ser_rk_system_factory_reset},{(char *)"rk_system_export_log", &ser_rk_system_export_log},{(char *)"rk_system_export_db", &ser_rk_system_export_db},{(char *)"rk_system_import_db", &ser_rk_system_import_db},{(char *)"rk_system_upgrade", &ser_rk_system_upgrade},{(char *)"rk_system_get_user_num", &ser_rk_system_get_user_num},{(char *)"rk_system_set_user_num", &ser_rk_system_set_user_num},{(char *)"rk_system_get_user_level", &ser_rk_system_get_user_level},{(char *)"rk_system_set_user_level", &ser_rk_system_set_user_level},{(char *)"rk_system_get_user_name", &ser_rk_system_get_user_name},{(char *)"rk_system_set_user_name", &ser_rk_system_set_user_name},{(char *)"rk_system_get_password", &ser_rk_system_get_password},{(char *)"rk_system_set_password", &ser_rk_system_set_password},{(char *)"rk_system_add_user", &ser_rk_system_add_user},{(char *)"rk_system_del_user", &ser_rk_system_del_user}};

rkipc 函数定义

函数名称功能
rk_system_init系统模块初始化
rk_system_deinit系统模块反初始化
rk_system_reboot重启
rk_system_factory_reset恢复出厂设置
rk_system_export_log导出日志
rk_system_export_db导出配置文件
rk_system_import_db导入配置文件
rk_system_upgrade系统升级
rk_system_get_user_num获取用户数
rk_system_set_user_num设置用户数
rk_system_get_user_level获取用户权限
rk_system_set_user_level设置用户权限
rk_system_get_user_name获取用户名
rk_system_set_user_name设置用户名
rk_system_get_password获取密码(已加密)
rk_system_set_password设置密码(已加密)
rk_system_add_user新增用户
rk_system_del_user删除用户

事件模块

目前仅支持rv1126_ipc_rkmedia

函数名称功能
rk_event_init事件模块初始化
rk_event_deinit事件模块反初始化
rk_event_ri_get_enabled获取区域入侵使能状态
rk_event_ri_set_enabled设置区域入侵使能状态
rk_event_ri_get_position_x获取区域入侵的x坐标
rk_event_ri_set_position_x设置区域入侵的x坐标
rk_event_ri_get_position_y获取区域入侵的y坐标
rk_event_ri_set_position_y设置区域入侵的x坐标
rk_event_ri_get_width获取区域入侵的宽度
rk_event_ri_set_width设置区域入侵的宽度
rk_event_ri_get_height获取区域入侵的高度
rk_event_ri_set_height设置区域入侵的高度
rk_event_ri_get_proportion获取区域入侵的占比
rk_event_ri_set_proportion设置区域入侵的占比
rk_event_ri_get_sensitivity_level获取区域入侵的灵敏度
rk_event_ri_set_sensitivity_level设置区域入侵的灵敏度
rk_event_ri_get_time_threshold获取区域入侵的时间阈值
rk_event_ri_set_time_threshold设置区域入侵的时间阈值

rtmp推流模块

函数名称功能
rk_rtmp_initrtmp模块初始化
rk_rtmp_deinitrtmp模块反初始化
rk_rtmp_write_video_frame写视频帧
rk_rtmp_write_audio_frame写音频帧

rtsp推流模块

函数名称功能
create_rtsp_demo创建句柄
rtsp_new_session根据URL,创建会话
rtsp_set_video设置视频流格式
rtsp_set_audio设置音频流格式
rtsp_sync_video_ts同步视频时间戳
rtsp_sync_audio_ts同步音频时间戳
rtsp_del_session删除会话
rtsp_del_demo删除句柄
rtsp_tx_video送视频帧
rtsp_tx_audio送音频帧
rtsp_do_event执行操作

ISP模块

函数名称功能
rk_isp_init单摄像头初始化
rk_isp_deinit单摄像头反初始化
rk_isp_group_init多摄像头初始化
rk_isp_group_deinit多摄像头反初始化
rk_isp_set_frame_rate设置帧率
rk_isp_get_contrast获取对比度
rk_isp_set_contrast设置对比度
rk_isp_get_brightness获取亮度
rk_isp_set_brightness设置亮度
rk_isp_get_saturation获取饱和度
rk_isp_set_saturation设置饱和度
rk_isp_get_sharpness获取锐度
rk_isp_set_sharpness设置锐度
rk_isp_get_hue获取色调
rk_isp_set_hue设置色调
rk_isp_get_exposure_mode获取曝光模式
rk_isp_set_exposure_mode设置曝光模式
rk_isp_get_gain_mode获取增益模式
rk_isp_set_gain_mode设置增益模式
rk_isp_get_exposure_time获取曝光时间
rk_isp_set_exposure_time设置曝光时间
rk_isp_get_exposure_gain获取增益
rk_isp_set_exposure_gain设置增益
rk_isp_get_hdr获取高动态模式
rk_isp_set_hdr设置高动态模式
rk_isp_get_blc_region获取背光模式
rk_isp_set_blc_region设置背光模式
rk_isp_get_hlc获取强光抑制模式
rk_isp_set_hlc设置强光抑制模式
rk_isp_get_hdr_level获取高动态级别
rk_isp_set_hdr_level设置高动态级别
rk_isp_get_blc_strength获取背光强度
rk_isp_set_blc_strength设置背光强度
rk_isp_get_hlc_level获取强光抑制等级
rk_isp_set_hlc_level设置强光抑制等级
rk_isp_get_dark_boost_level获取暗区增强等级
rk_isp_set_dark_boost_level设置暗区增强等级
rk_isp_get_white_blance_style获取白平衡模式
rk_isp_set_white_blance_style设置白平衡模式
rk_isp_get_white_blance_red获取白平衡R增益
rk_isp_set_white_blance_red设置白平衡R增益
rk_isp_get_white_blance_green获取白平衡G增益
rk_isp_set_white_blance_green设置白平衡G增益
rk_isp_get_white_blance_blue获取白平衡B增益
rk_isp_set_white_blance_blue设置白平衡B增益
rk_isp_get_noise_reduce_mode获取降噪模式
rk_isp_set_noise_reduce_mode设置降噪模式
rk_isp_get_dehaze获取去雾模式
rk_isp_set_dehaze设置去雾模式
rk_isp_get_gray_scale_mode获取灰度范围
rk_isp_set_gray_scale_mode设置灰度范围
rk_isp_get_distortion_correction获取畸变矫正模式
rk_isp_set_distortion_correction设置畸变矫正模式
rk_isp_get_spatial_denoise_level获取空域降噪等级
rk_isp_set_spatial_denoise_level设置空域降噪等级
rk_isp_get_temporal_denoise_level获取时域降噪等级
rk_isp_set_temporal_denoise_level设置时域降噪等级
rk_isp_get_dehaze_level获取去雾等级
rk_isp_set_dehaze_level设置去雾等级
rk_isp_get_ldch_level获取LDCH等级
rk_isp_set_ldch_level设置LDCH等级
rk_isp_get_power_line_frequency_mode获取视频制式
rk_isp_set_power_line_frequency_mode设置视频制式
rk_isp_get_image_flip获取镜像翻转
rk_isp_set_image_flip设置镜像翻转
rk_isp_get_af_mode获取自动对焦模式
rk_isp_set_af_mode设置自动对焦模式
rk_isp_get_zoom_level获取放大缩小等级
rk_isp_set_zoom_level设置放大缩小等级
rk_isp_af_zoom_in放大
rk_isp_af_zoom_out缩小
rk_isp_af_focus_in聚焦
rk_isp_af_focus_out失焦

音频模块

函数名称功能
rkipc_audio_rtsp_initrtsp音频初始化
rkipc_audio_init音频模块初始化
rkipc_audio_deinit音频模块反初始化
rk_audio_restart重启音频模块
rk_audio_get_bit_rate获取比特率
rk_audio_set_bit_rate设置比特率
rk_audio_get_sample_rate获取采样率
rk_audio_set_sample_rate设置采样率
rk_audio_get_volume获取音量
rk_audio_set_volume设置音量
rk_audio_get_enable_vqe获取音频3A算法是否使能
rk_audio_set_enable_vqe设置音频3A算法是否使能
rk_audio_get_encode_type获取编码类型
rk_audio_set_encode_type设置编码类型

视频模块

函数名称功能
rk_video_init视频模块初始化
rk_video_deinit视频模块反初始化
rk_video_restart重启视频模块
rk_video_get_gop获取I帧间隔
rk_video_set_gop设置I帧间隔
rk_video_get_max_rate获取最大码率
rk_video_set_max_rate设置最大码率
rk_video_get_RC_mode获取码率控制类型
rk_video_set_RC_mode设置码率控制类型
rk_video_get_output_data_type获取编码类型
rk_video_set_output_data_type设置编码类型
rk_video_get_rc_quality获取码率控制质量
rk_video_set_rc_quality设置码率控制质量
rk_video_get_smart获取智能编码状态
rk_video_set_smart设置智能编码状态
rk_video_get_gop_mode获取gop模式
rk_video_set_gop_mode设置gop模式
rk_video_get_stream_type获取码流名称
rk_video_set_stream_type设置码流名称
rk_video_get_h264_profile获取h264的profile
rk_video_set_h264_profile设置h264的profile
rk_video_get_resolution获取分辨率
rk_video_set_resolution设置分辨率
rk_video_get_frame_rate获取输入帧率
rk_video_set_frame_rate设置输入帧率
rk_video_get_frame_rate_in获取输出帧率
rk_video_set_frame_rate_in设置输出帧率
rk_video_get_rotation获取旋转角度
rk_video_set_rotation设置旋转角度
rk_video_get_smartp_viridrlen获取smartP的虚拟I帧长度
rk_video_set_smartp_viridrlen设置smartP的虚拟I帧长度
IVS模块
函数名称功能
rk_video_get_md_switch获取移动侦测开关状态
rk_video_set_md_switch设置移动侦测开关状态
rk_video_get_md_sensebility获取移动侦测灵敏度
rk_video_set_md_sensebility设置移动侦测灵敏度
rk_video_get_od_switch获取隐私遮挡开关状态
rk_video_set_od_switch设置隐私遮挡开关状态
JPEG模块
函数名称功能
rk_video_get_enable_cycle_snapshot获取定时抓拍开关状态
rk_video_set_enable_cycle_snapshot设置定时抓拍开关状态
rk_video_get_image_quality获取图像质量
rk_video_set_image_quality设置图像质量
rk_video_get_snapshot_interval_ms获取抓拍间隔
rk_video_set_snapshot_interval_ms设置抓拍间隔
rk_video_get_jpeg_resolution获取jpeg分辨率
rk_video_set_jpeg_resolution设置jpeg分辨率
rk_take_photo抓拍一次

参数管理模块

函数名称功能
rk_param_get_int获取整型参数
rk_param_set_int设置整型参数
rk_param_get_string获取字符型参数
rk_param_set_string设置字符型参数
rk_param_save将当前参数保存为文件
rk_param_init从指定ini文件初始化
rk_param_deinit反初始化
rk_param_reload不保存当前参数,重新加载ini

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NLP常见任务专题介绍(2)-多项选择任务(MultipleChoice)训练与推理模板

一、 使用 BigBird 进行多项选择任务训练与推理 本示例展示如何使用 BigBirdForMultipleChoice 训练一个多项选择模型,适用于考试答题、阅读理解、常识推理等任务。 1️⃣ 任务描述 目标:给定一个问题和多个选项,模型预测正确答案。 数据格式:输入包含 (问题, 选项1, 选项…

【论文解读】MODEST 透明物体 单目深度估计和分割 ICRA 2025

MODEST是一种用于透明物体的单目深度估计和分割的方法&#xff0c;来自ICRA 2025。 它通过单张RGB图像作为输入&#xff0c;能够同时预测透明物体的深度图和分割掩码。 由深度图生成点云数据&#xff0c;然后采用GraspNet生成抓取位姿&#xff0c;开展透明物体抓取实验。 论文…

【网络安全工程】任务11:路由器配置与静态路由配置

目录 一、概念 二、路由器配置 三、配置静态路由CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog 一、概念 1、路由器的作用&#xff1a;通过路由表进行数据的转发。 2、交换机的作用&#xff1a;通过学习和识别 MAC 地址&#xff0c;依据 M…

深入理解隐式类型转换:从原理到应用

C⽀持内置类型隐式类型转换为类类型对象&#xff0c;需要有相关内置类型为参数的构造函数。 构造函数前⾯加explicit就不再⽀持隐式类型转换。 类类型的对象之间也可以隐式转换&#xff0c;需要相应的构造函数⽀持。 内置类型隐式类型转换为类类型对象 在 C 中&#xff0c;如果…

垃圾收集算法与收集器

在 JVM 中&#xff0c;垃圾收集&#xff08;Garbage Collection, GC&#xff09;算法的核心目标是自动回收无用对象的内存&#xff0c;同时尽量减少对应用性能的影响。以下是 JVM 中主要垃圾收集算法的原理、流程及实际应用场景的详细介绍&#xff1a; 一、标记-清除算法&#…

如何为服务设置合理的线程数

1. 首先&#xff0c;要确定最大线程数的限制因素。通常&#xff0c;线程数量受限于内存、CPU和操作系统限制。比如&#xff0c;每个线程都需要一定的栈内存&#xff0c;默认情况下Java线程的栈大小是1MB&#xff08;64位系统可能更大&#xff09;&#xff0c;所以如果内存不足&…

内容中台:元数据驱动管理新范式

元数据驱动智能管理中枢 现代企业内容管理正经历从碎片化存储向结构化治理的范式转变&#xff0c;元数据驱动机制在此过程中展现出核心枢纽价值。通过构建多维属性标签体系&#xff0c;Baklib等内容中台解决方案实现了对文本、音视频等数字资产的精准定义&#xff0c;其动态分…

在mac中设置环境变量

步骤一&#xff1a;打开终端 步骤二&#xff1a;输入printenv&#xff0c;查看当前已有的环境变量&#xff1b; 步骤三&#xff1a;输入&#xff1a;nano ~/.zshrc 打开环境变量编辑页面&#xff1b; 步骤四&#xff1a;输入新的变量&#xff1a;export DEEPSEEK_API_KEY&qu…

扩散模型的算法原理及其在图像生成领域的优势与创新

目录 一、引言 二、扩散模型的加噪过程 &#xff08;一&#xff09;前向扩散过程 &#xff08;二&#xff09;噪声调度策略 三、扩散模型的去噪过程 &#xff08;一&#xff09;反向扩散过程 &#xff08;二&#xff09;去噪网络架构 四、扩散模型的训练和推理机制 &am…

技术领域,有许多优秀的博客和网站

在技术领域&#xff0c;有许多优秀的博客和网站为开发者、工程师和技术爱好者提供了丰富的学习资源和行业动态。以下是一些常用的技术博客和网站&#xff0c;涵盖了编程、软件开发、数据科学、人工智能、网络安全等多个领域&#xff1a; 1. 综合技术博客 1.1 Medium 网址: ht…

mysql经典试题共34题

1、准备数据 -- drop drop table if exists dept; drop table if exists emp; drop table if exists salgrade;-- CREATE CREATE TABLE dept (deptno int NOT NULL COMMENT 部门编号,dname varchar(14) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMM…

2025 - GDB 盲调笔记--调试 “无调试符号“ “无调试信息“ 的三方程序

环境&#xff1a; arm64-ubuntu 相关&#xff1a;strace、ltrace、readelf、patchelf、strings、ldd -v 1). 使用 gdb 启动目标程序(不能直接用gdb启动的&#xff0c;可以先单独启动&#xff0c;再 gdb attach 强制调试) DIR_APP/opt/test gdb --args env LANGUAGE LD_LIBRA…

OCPP扩展机制与自定义功能开发:协议灵活性设计与实践 - 慧知开源充电桩平台

OCPP扩展机制与自定义功能开发&#xff1a;协议灵活性设计与实践 引言 OCPP作为开放协议&#xff0c;其核心价值在于平衡标准化与可扩展性。面对不同充电桩厂商的硬件差异、区域能源政策及定制化业务需求&#xff0c;OCPP通过**扩展点&#xff08;Extension Points&#xff09…

【项目】nnUnetv2复现

作者提出一种nnUNet(no-new-Net)框架,基于原始的UNet(很小的修改),不去采用哪些新的结构,如相残差连接、dense连接、注意力机制等花里胡哨的东西。相反的,把重心放在:预处理(resampling和normalization)、训练(loss,optimizer设置、数据增广)、推理(patch-based…

代码随想录算法训练营第八天|Leetcode 151.翻转字符串里的单词 卡码网:55.右旋转字符串 字符串总结 双指针回顾

151.翻转字符串里的单词 建议&#xff1a;这道题目基本把 刚刚做过的字符串操作 都覆盖了&#xff0c;不过就算知道解题思路&#xff0c;本题代码并不容易写&#xff0c;要多练一练。 题目链接/文章讲解/视频讲解&#xff1a;代码随想录 我们这道题的思路是&#xff0c;先将整…

【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率

计算机网络的性能指标 导读 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 在上一篇内容中我们介绍了计算机网络的三个性能指标——速率、带宽和吞吐量。用大白话来说就是&#xff1a;网速、最高网速和实时网速。 相信大家看到这三个词应该就…

Refreshtoken 前端 安全 前端安全方面

网络安全 前端不需要过硬的网络安全方面的知识,但是能够了解大多数的网络安全,并且可以进行简单的防御前两三个是需要的 介绍一下常见的安全问题,解决方式,和小的Demo,希望大家喜欢 网络安全汇总 XSSCSRF点击劫持SQL注入OS注入请求劫持DDOS 在我看来,前端可以了解并且防御前…

vue3框架的响应式依赖追踪机制

当存在一个响应式变量于视图中发生改变时会更新当前组件的所以视图显示&#xff0c;但是没有视图中不写这个响应式变量就就算修改该变量也不会修改视图&#xff0c;这是为什么&#xff1f;我们能否可以理解宽泛的理解为vue组件的更新就是视图的更新&#xff0c;单当视图中不存在…

C#核心(22)string

前言 我们在之前的学习中已经学习过了很多数字类型的数据结构,但一直没有讲解除了char以外的字符串相关的知识点,这也是我们继继承,封装,重载这些知识点之后要补充讲解的核心知识点。 你也发现了,其实在密封函数之后我们就已经开始进入更底层的方面为你讲解知识点了,这…

Spring Boot 本地缓存工具类设计与实现

在 Spring Boot 应用中&#xff0c;缓存是提升性能的重要手段之一。为了更方便地使用缓存&#xff0c;我们可以设计一套通用的本地缓存工具类&#xff0c;封装常见的缓存操作&#xff0c;简化开发流程。本文将详细介绍如何设计并实现一套 Spring Boot 本地缓存工具类&#xff0…