package com.ard.sample.manage.service; import com.ard.sample.common.model.ResponseResult; import com.ard.sample.manage.model.dto.CapacityDeviceDTO; import com.ard.sample.manage.model.dto.LiveTypeDTO; import com.ard.sample.manage.model.receiver.LiveCapacityReceiver; import java.util.List; /** * @author sean.zhou * @date 2021/11/19 * @version 0.1 */ public interface ILiveStreamService { /** * Get all the drone data that can be broadcast live in this workspace. * @return */ List getLiveCapacity(); /** * Save live capability data. * @param liveCapacityReceiver * @param timestamp */ void saveLiveCapacity(LiveCapacityReceiver liveCapacityReceiver, Long timestamp); /** * Initiate a live streaming by publishing mqtt message. * @param liveParam Parameters needed for on-demand. * @return */ ResponseResult liveStart(LiveTypeDTO liveParam); /** * Stop the live streaming by publishing mqtt message. * @param videoId * @return */ ResponseResult liveStop(String videoId); /** * Readjust the clarity of the live streaming by publishing mqtt messages. * @param liveParam * @return */ ResponseResult liveSetQuality(LiveTypeDTO liveParam); /** * Switches the lens of the device during the live streaming. * @param liveParam * @return */ ResponseResult liveLensChange(LiveTypeDTO liveParam); /** * 获取直播能力中摄像头模式(广角、变焦、红外) * */ ResponseResult> getLiveLens(String sn); /** * 直播相机切换 * @param liveParam * @return */ ResponseResult liveCameraChange(LiveTypeDTO liveParam); }