请问 M300 PSDK 在静态IP配置的情况下可以传输视频吗?

Completed

Comments

6 comments

  • CloboticsOperators

    请问有什么分析结果吗?

    0
    Comment actions Permalink
  • DJI Developer Support
    静态IP下要修改传输视频流格式为Custom-H264,这个实际上设置的是通道。 returnCode = DjiPayloadCamera_SetVideoStreamType(DJI_CAMERA_VIDEO_STREAM_TYPE_H264_CUSTOM_FORMAT);
    0
    Comment actions Permalink
  • CloboticsOperators

    按照建议进行设置, 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 ? 请给出具体代码位置

    0
    Comment actions Permalink
  • DJI Developer Support
    直接用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)
    0
    Comment actions Permalink
  • CloboticsOperators

    1. PSDK 2.2是可以用静态IP的

    2. PSDK 3.X 还是不行

    3. 通过预配置网络的形式避开了网络配置,避免sudo配置
    4. 通过内置sudo避开了串口配置必须sudo的问题,从而使用普通权限即可启动节点

    0
    Comment actions Permalink
  • CloboticsOperators

    最终在PSDK 3中依然使用动态IP,放弃静态IP

     

    另外无人机和PSDK分别处于192.168.110.1和 192.168.120.2 / 16,真是。。。。。但凡在一个网段都会简单不少

    0
    Comment actions Permalink

Please sign in to leave a comment.