请问 M300 PSDK 在静态IP配置的情况下可以传输视频吗?
已完成教程中提到
以手动的方式设置网络参数
以手动的方式设置相机类负载设备的网络参数时,用户仅可使用视频流传输功能,其他涉及使用网口的功能将无法使用。
- IP 地址:
192.168.5.3
- 网 关 :
192.168.5.1
- 子网掩码:
255.255.255.0
IP 地址设置完成后,使用ping
和ifconfig
命令查看相机类负载设备和飞机间的网络状态。
但是 我的配置是
- 电脑端是固定IP
2. ping 192.168.5.10 也可以ping通
3. 代码上我注释掉了 //returnCode = DjiPlatform_RegHalNetworkHandler(&networkHandler);
已知 在使用动态配置IP的情况下我可以传输视频。
但是静态IP的情况报错如下:
[0.004][core]-[Info]-[DjiCore_Init:95) Payload SDK Version : V3.3.0-beta.0-build.1695
[0.642][adapter]-[Info]-[DjiAccessAdapter_Init:171) Identify aircraft series is Matrice 300 Series
[0.642][adapter]-[Info]-[DjiAccessAdapter_Init:189) Identify mount position type is Payload Port Type
[0.647][adapter]-[Info]-[DjiPayloadNegotiate_Start:200) Waiting payload negotiate finished.
[1.647][adapter]-[Info]-[DjiPayloadNegotiate_Start:204) No need wait negotiate finished
[1.713][adapter]-[Info]-[DjiPayloadNegotiate_Start:200) Waiting payload negotiate finished.
[2.713][adapter]-[Info]-[DjiPayloadNegotiate_Start:204) No need wait negotiate finished
[2.714][core]-[Info]-[DjiIdentityVerify_UpdatePolicy:411) Updating dji sdk policy file...
[3.714][core]-[Info]-[DjiIdentityVerify_UpdatePolicy:414) Update dji sdk policy file successfully
[4.753][infor]-[Info]-[DjiAircraftInfo_GetAdapterSerialNumber:646) Get serial number of Skyport V2 or X-Port is 39CBK4B0010009
[4.754][core]-[Info]-[DjiCore_Init:163) Identify AircraftType = Matrice 300 RTK, MountPosition = Payload Port NO1, SdkAdapterType = Skyport V2
[4.786][user]-[Info]-[DjiUser_ApplicationStart:232) mountPosition = 1
[4.786][core]-[Info]-[DjiCore_ApplicationStart:223) Start dji sdk application
[4.786][user]-[Info]-[DjiUser_ApplicationStart:247) Application start.
[5.055][time_sync]-[Info]-[DjiTimeSync_PushAppTimeHandle:111) Current time: 2023.03.16 17:16:09.
[6.481][infor]-[Info]-[DjiAircraftInfo_NotifyMobileAppInfoHandle:555) Set mobile app info, language is Chinese, screen type is Big Screen
[6.834][infor]-[Info]-[DjiAircraftInfo_NotifyMobileAppInfoHandle:555) Set mobile app info, language is Chinese, screen type is Big Screen
[7.786][user]-[Info]-[main:114) Start camera all features sample successfully
[7.961][user]-[Info]-[SetTapZoomEnabled:780) set tap zoom enabled flag: 1.
[7.961][user]-[Info]-[SetTapZoomMultiplier:795) set tap zoom multiplier: 1.
[7.965][user]-[Info]-[SetFocusTarget:577) set focus target x:0.50 y:0.50
[8.196][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[8.196][user]-[Error]-[UserCameraMedia_SendImageTask:1443) send video stream error: 0x000000E0.
[8.246][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[8.246][user]-[Error]-[UserCameraMedia_SendImageTask:1443) send video stream error: 0x000000E0.
[8.367][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[8.367][user]-[Error]-[UserCameraMedia_SendImageTask:1443) send video stream error: 0x000000E0.
[8.448][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[8.448][user]-[Error]-[UserCameraMedia_SendImageTask:1443) send video stream error: 0x000000E0.
请问这是什么原因? M300 + PSDK 3的情况下是否还支持静态IP连接?
-
按照建议进行设置, test_payload_cam_emu_base.cpp中的DjiTest_CameraEmuBaseStartService
returnCode = DjiPayloadCamera_SetVideoStreamType(DJI_CAMERA_VIDEO_STREAM_TYPE_H264_CUSTOM_FORMAT);
但是依然报错
[8.767][user]-[Warn]-[DjiTest_CameraEmuBaseStartService:1417) Get video stream remote address: 192.168.5.10, port: 23003
[9.715][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[9.715][user]-[Error]-[UserCameraMedia_SendVideoTask:1372) send video stream error: 0x000000E0.
[9.715][user]-[Info]-[UserCameraMedia_SendVideoTask:1375) lengthOfDataHaveBeenSent 1736 in 1736
[9.748][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[9.748][user]-[Error]-[UserCameraMedia_SendVideoTask:1372) send video stream error: 0x000000E0.
[9.748][user]-[Info]-[UserCameraMedia_SendVideoTask:1375) lengthOfDataHaveBeenSent 2419 in 2419
[9.780][channel]-[Error]-[DjiHighSpeedDataChannel_SendVideoStreamData:559) This interface is not support.Probably because socket or usb bulk handler is not be registered.Please register socket or usb bulk handler and enable the RAW larger than 1MB.
[9.780][user]-[Error]-[UserCameraMedia_SendVideoTask:1372) send video stream error: 0x000000E0.
我看代码中
if (DjiPlatform_GetHalNetworkHandler() != NULL || DjiPlatform_GetHalUsbBulkHandler() != NULL) {
returnCode = osalHandler->TaskCreate("user_camera_media_task", UserCameraMedia_SendVideoTask, 2048,
NULL, &s_userSendVideoThread);//发送视频
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("user send video task create error.");
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
}这里要求存在DjiPlatform_GetHalNetworkHandler,但是这个需要在
returnCode = DjiPlatform_RegHalNetworkHandler(&networkHandler);
之后才会存在,但是调用这个就是使用动态IP了。
所以请问怎样设置才是使用静态IP ? 请给出具体代码位置
-
直接用UDP给192.168.5.10发视频数据。如果是兼容旧的PSDK 2.2的版本,可以考虑用静态,如果是使用PSDK 3.x新开发,建议使用动态IP,功能和链路适配使用会更好。 对于PSDK端来说,动态也是在收到IP后,本端设置的,在这个回调中对本端IP进行配置。hal_network.c ![](https://djisdksupport.zendesk.com/attachments/token/rbFSCbs7oGtPuJ0onUE1VplWD/?name=image.png)
请先登录再写评论。
评论
6 条评论