关于Broken_String

关于我

宇宙超级无敌蒟蒻一枚

  • 爱玩游戏(LOL贼菜)不爱刷题
  • 不定时更新博客
  • 福建某不知名市的某不知名高中的高一dog
  • 偶尔看看动漫

QQ:1468473741(会有妹子加吗?)

我珍惜我灵魂的清澈
我忠于我不爱的自己

这里写图片描述

#include "mpp_decode.h" #include "mpp_encode.h" #include "rkisp_ops.h" #include "usb_camera.h" #include "rk_drm_zm.h" #include "control_impl.h" #include "types_def.h" #include "video_common.h" #include "rtsp_client.h" #include "rtsp_server.h" #include "data_engine.h" #include "xutils.h" #include "debug.h" #include "log/log.h" #include "config_handler.h" #include "dlfcn.h" #include <sched.h> #include "zm_ts.h" #include "socket_can_ops.h" #include "rk_wdt.h" #include "Tsmux.h" #include "sys_inc.h" #include "rtsp_srv.h" #include "rtmp_pusher.h" #include "pcie_impl.h" #include "pro_wxg.h" #include "rkisp_ops.h" #include "list.h" #ifdef __cplusplus extern "C" { #endif #include "logger.h" #ifdef __cplusplus } #endif zm_ts_udp_info_t gs_ts_udp_info = {0}; zm_rtsp_info_t gs_rtsp_info = {0}; static void sig_handler(int sig) { printf("%s, sig=%d\r\n", __FUNCTION__, sig); //mipi_camera_uninit(); // rtsp_server_deinit(); //decode_frame_deinit(); data_stream_deinit(); encode_frame_deinit(); rtsp_client_deinit(); control_comm_destory(); //usb_camera_deinit(); logger_deinit(); //rk_watchdog_deinit(); exit(0); } void load_json_setting_file(void) { char value[512] = {0}; char cmd[128] = {0}; int ret=-1; zmv_config_file_load(SYSTEM_SETTING_DEFAULT_JSON_FILE, LOAD_INIT_CONFIG); zmv_config_file_load(SYSTEM_SETTING_CUSTOM_JSON_FILE, LOAD_CUSTOM_CONFIG); // /*************输入坂数设置**************/ // switch(input_type) // { //if(gs_vedio_info.input_type ==TYPE_RTSP){ zmv_config_get_value_string(e_rtsp_client_server_ip,gs_rtsp_info.rtsp_client_ip,sizeof(gs_rtsp_info.rtsp_client_ip)); gs_rtsp_info.rtsp_client_port = zmv_config_get_value_int(e_rtsp_client_port); //zmv_config_get_value_string(e_rtsp_client_name,gs_rtsp_info.rtsp_client_stream_name,sizeof(gs_rtsp_info.rtsp_client_stream_name)); //zmv_config_get_value_string(e_rtsp_client_user_name,gs_rtsp_info.rtsp_client_username,sizeof(gs_rtsp_info.rtsp_client_username)); //zmv_config_get_value_string(e_rtsp_client_password,gs_rtsp_info.rtsp_client_password,sizeof(gs_rtsp_info.rtsp_client_password)); zmv_config_get_value_string(e_rtsp_client_protocol,value,sizeof(value)); //SLOGI(" rtsp://admin:%s@%s:%d/%s \n",gs_rtsp_info.rtsp_client_password,gs_rtsp_info.rtsp_client_ip,\ //gs_rtsp_info.rtsp_client_port,gs_rtsp_info.rtsp_client_stream_name); //} gs_rtsp_info.tcp_ctl_port = zmv_config_get_value_int(e_device_tcp_ctl_port); logger_info("load","udp server port = %d\n", gs_rtsp_info.tcp_ctl_port); //#if defined ZM_MP5_PL || defined ZM_MP5_XT //zmv_config_get_value_string(e_device_eth1,gs_ts_udp_info.udpts_ip,sizeof(gs_ts_udp_info.udpts_ip)); gs_ts_udp_info.udpts_port = gs_rtsp_info.tcp_ctl_port-1; //tcp port -1 use as udp port logger_info("load","udp client link port = %d\n", gs_rtsp_info.tcp_ctl_port-1); Selfcheck_info.udp_port=gs_rtsp_info.tcp_ctl_port; // #else // //zmv_config_get_value_string(e_device_eth1,gs_ts_udp_info.udpts_ip,sizeof(gs_ts_udp_info.udpts_ip)); // gs_ts_udp_info.udpts_port = gs_rtsp_info.tcp_ctl_port; //tcp port use as udp port // logger_info("load","udp clent link port = %d\n", gs_rtsp_info.tcp_ctl_port); // #endif logger_info("load","udp tsSend %s udp://@%s:%d\n",value,gs_ts_udp_info.udpts_ip,gs_ts_udp_info.udpts_port); /****Rtsp Server设置****/ memset(value,0,sizeof(value)); zmv_config_get_value_string(e_rtsp_server_state,value,sizeof(value)); if(strcmp(value,"open") == 0) { gs_rtsp_info.rtsp_server_open_flag = 1; gs_rtsp_info.rtsp_server_port = zmv_config_get_value_int(e_rtsp_server_port); memset(value,0,sizeof(value)); } gs_rtsp_info.rtsp_server_open_flag = 1; gs_rtsp_info.venc_bitrate = 4 * 1024; /******编码码率******/ gs_rtsp_info.venc_bitrate = zmv_config_get_value_int(e_device_bitrate); if(gs_rtsp_info.venc_bitrate <= 500){ gs_rtsp_info.venc_bitrate=500; } if(gs_rtsp_info.venc_bitrate >= 6 * 1024 ) { gs_rtsp_info.venc_bitrate = 6 * 1024; } logger_info("load","final stream bitrate = %d\n",gs_rtsp_info.venc_bitrate); Selfcheck_info.webport = zmv_config_get_value_int(e_ts_send_port); /****网络设置****/ memset(Selfcheck_info.rk_eth0_ip,0,sizeof(Selfcheck_info.rk_eth0_ip)); if(Selfcheck_info.ip_bak!=0xff){ zmv_config_get_value_string(e_device_eth0,Selfcheck_info.rk_eth0_ip,sizeof(Selfcheck_info.rk_eth0_ip)); }else{ sprintf(Selfcheck_info.rk_eth0_ip,"192.168.2.119"); zmv_config_set_value(e_device_eth0, Selfcheck_info.rk_eth0_ip); if(zmv_config_file_generate(SYSTEM_SETTING_TMP_CUSTOM_JSON_FILE) == 0) { memset(cmd,0,sizeof(cmd)); sprintf(cmd,"cp %s %s;sync",SYSTEM_SETTING_TMP_CUSTOM_JSON_FILE,SYSTEM_SETTING_CUSTOM_JSON_FILE); system(cmd); } } printf("------------ip:%s",Selfcheck_info.rk_eth0_ip); ret=zm_is_ipv4_addr(Selfcheck_info.rk_eth0_ip); if(ret!=0){ sprintf(Selfcheck_info.rk_eth0_ip,"192.168.2.119"); } zmv_config_get_value_string(e_rtsp_server_stream_type,value,sizeof(value)); memset(value,0,sizeof(value)); zmv_config_get_value_string(e_ts_rtsp_image,value,sizeof(value)); #ifdef RTMP_OUTPUT_ENABLE /**************设置RTMP PUSHER路径*****************/ // zmv_config_get_value_string(e_rtsp_client_user_name,gs_rtsp_info.rtsp_client_username,sizeof(gs_rtsp_info.rtsp_client_username)); // zmv_config_get_value_string(e_rtsp_client_password,gs_rtsp_info.rtsp_client_password,sizeof(gs_rtsp_info.rtsp_client_password)); memset(value,0,sizeof(value)); zmv_config_get_value_string(e_rtsp_client_name,value,sizeof(value)); if(strncmp(value,"rtmp://",7) == 0) { strncpy(gs_rtsp_info.rtmp_ip, value, sizeof(value)); } else { strcpy(gs_rtsp_info.rtmp_ip, "rtmp://192.168.2.117/live/3.0"); } logger_info("load","rtmp_pusher.dsturl = %s\n",gs_rtsp_info.rtmp_ip); /**************设置网关路径*****************/ #endif return; } unsigned char img_buf[1920*1080*3/2]; unsigned char res_buf[1920*1080*2]; #pragma message( "Compiling " __DATE__", " __TIME__) int main(int argc, char *argv[]) { int ret = RET_OK; /* Ignore broken pipes */ signal(SIGPIPE, SIG_IGN); signal(SIGINT, sig_handler); signal(SIGKILL, sig_handler); signal(SIGTERM, sig_handler); char cmd[256] = {0}; printf("************Compile time:%s %s***************\n ",__DATE__, __TIME__); logger_init(); logger_info("main","bulid project time %s %s\n", __TIME__, __DATE__); ret=data_stream_init(); logger_info("main","-------data_stream_init %d\n",ret); if (ret != RET_OK) { return ret; } load_json_setting_file(); ret = encode_frame_init(); logger_info("main","------encode_frame_init------ret %d\n",ret); if (ret != RET_OK) { //return ret; } #ifdef TS_OUTPUT_ENABLE #ifdef ZM_MP5_PL ret = ts_stream_send_init(&gs_ts_udp_info.udp_ts_sockfd, &gs_ts_udp_info.udp_ts_send_addr, gs_ts_udp_info.udpts_ip, 2022); #else ret = ts_stream_send_init(&gs_ts_udp_info.udp_ts_sockfd, &gs_ts_udp_info.udp_ts_send_addr, gs_ts_udp_info.udpts_ip, gs_ts_udp_info.udpts_port); #endif logger_info("main","----------ts_stream_send_init----------ret %d\n",ret); if (gs_ts_udp_info.open_udpts_flag) { if (ret == 0) { pthread_t tsSendThreadId; QueueInitial(&tsQueue, 50 * 188 * 1000, 20 * 188); pthread_create(&tsSendThreadId, NULL, send_ts_stream, NULL); } } #endif mipi_init(); ret=rk3588_pcie_init(); SLOGI("pcie init----ret %d\n", ret); ret=later_thread_init(); reset_pcie_all(); all_sdi_close(); usleep(200*10000); all_sdi_open(); pcie_sdi_init(); #ifdef RTSP_OUTPUT_ENABLE if (gs_rtsp_info.rtsp_server_open_flag) { // ret = rtsp_server_init(RTSP_SERVER_PORT,gs_rtsp_info.rtsp_server_w,gs_rtsp_info.rtsp_server_h); ret = run_rtsp_srv(); logger_info("main","----------rtsp_server_init----------ret %d\n",ret); // if (ret != RET_OK) { // return ret; // } } #endif ret = control_comm_init(); logger_info("main","-------control_comm_init %d\n",ret); ret = decode_frame_init(); logger_info("main","----------decode_frame_init----------ret %d\n",ret); if (ret != RET_OK) { return ret; } ret = decode_frame_init_B(); logger_info("main","----------decode_frame_init----------ret %d\n",ret); if (ret != RET_OK) { return ret; } ret = rtsp_client_init_all(); if (ret < 0) { printf("ret=%d\n", ret); perror("rtsp_client_init_all"); return ret; } SLOGI("rtsp_client_init_all end ret=%d\n", ret); #ifdef RTMP_OUTPUT_ENABLE ret=run_rtmp_pusher(); logger_info("main","----------run_rtmp_pusher----------ret %d\n",ret); #endif while(1) { // rk_feed_watchdog(); sleep(5); } return 0; } 代码逐行详解
09-04
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值