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_init | rtmp模塊初始化 |
rk_rtmp_deinit | rtmp模塊反初始化 |
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_init | rtsp音頻初始化 |
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 |