diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java
index e5087cbaa..b99a00bf6 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/PlayController.java
@@ -21,7 +21,6 @@ import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.ErrorCallback;
 import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
-import com.genersoft.iot.vmp.service.redisMsg.IRedisRpcPlayService;
 import com.genersoft.iot.vmp.utils.DateUtil;
 import com.genersoft.iot.vmp.vmanager.bean.AudioBroadcastResult;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
@@ -66,9 +65,6 @@ public class PlayController {
 	@Autowired
 	private IPlayService playService;
 
-	@Autowired
-	private IRedisRpcPlayService redisRpcPlayService;
-
 	@Autowired
 	private IMediaServerService mediaServerService;
 
@@ -153,12 +149,7 @@ public class PlayController {
 			// 此处必须释放所有请求
 			resultHolder.invokeAllResult(requestMessage);
 		};
-		// 判断设备是否属于当前平台, 如果不属于则发起自动调用
-		if (userSetting.getServerId().equals(device.getServerId())) {
-			redisRpcPlayService.play(device.getServerId(), channel.getId(), callback);
-		}else {
-			playService.play(device, channel, callback);
-		}
+		playService.play(device, channel, callback);
 		return result;
 	}
 
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java
index 07b186763..b33f906b5 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/DeviceMapper.java
@@ -365,6 +365,7 @@ public interface DeviceMapper {
             "geo_coord_sys,"+
             "on_line,"+
             "media_server_id,"+
+            "server_id,"+
             "(SELECT count(0) FROM wvp_device_channel dc WHERE dc.device_db_id= de.id) as channel_count " +
             " FROM wvp_device de" +
             " where 1 = 1 "+
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java
index 8b3d9f067..e631a6cdc 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java
@@ -31,6 +31,7 @@ import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 import com.genersoft.iot.vmp.service.IReceiveRtpServerService;
 import com.genersoft.iot.vmp.service.ISendRtpServerService;
 import com.genersoft.iot.vmp.service.bean.*;
+import com.genersoft.iot.vmp.service.redisMsg.IRedisRpcPlayService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import com.genersoft.iot.vmp.utils.CloudRecordUtils;
 import com.genersoft.iot.vmp.utils.DateUtil;
@@ -123,6 +124,9 @@ public class PlayServiceImpl implements IPlayService {
     @Autowired
     private ICloudRecordService cloudRecordService;
 
+    @Autowired
+    private IRedisRpcPlayService redisRpcPlayService;
+
     /**
      * 流到来的处理
      */
@@ -287,12 +291,18 @@ public class PlayServiceImpl implements IPlayService {
 
     @Override
     public void play(Device device, DeviceChannel channel, ErrorCallback<StreamInfo> callback) {
-        MediaServer mediaServerItem = getNewMediaServerItem(device);
-        if (mediaServerItem == null) {
-            log.warn("[点播] 未找到可用的zlm deviceId: {},channelId:{}", device.getDeviceId(), channel.getDeviceId());
-            throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的zlm");
+
+        // 判断设备是否属于当前平台, 如果不属于则发起自动调用
+        if (userSetting.getServerId().equals(device.getServerId())) {
+            redisRpcPlayService.play(device.getServerId(), channel.getId(), callback);
+        }else {
+            MediaServer mediaServerItem = getNewMediaServerItem(device);
+            if (mediaServerItem == null) {
+                log.warn("[点播] 未找到可用的zlm deviceId: {},channelId:{}", device.getDeviceId(), channel.getDeviceId());
+                throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的zlm");
+            }
+            play(mediaServerItem, device, channel, null, callback);
         }
-        play(mediaServerItem, device, channel, null, callback);
     }
 
     @Override
@@ -1660,13 +1670,8 @@ public class PlayServiceImpl implements IPlayService {
             log.warn("[点播] 未找到通道{}的设备信息", channel);
             throw new PlayException(Response.SERVER_INTERNAL_ERROR, "server internal error");
         }
-        MediaServer mediaServer = getNewMediaServerItem(device);
-        if (mediaServer == null) {
-            log.warn("[点播] 未找到可用媒体节点");
-            throw new PlayException(Response.SERVER_INTERNAL_ERROR, "server internal error");
-        }
         DeviceChannel deviceChannel = deviceChannelService.getOneForSourceById(channel.getGbId());
-        play(mediaServer, device, deviceChannel, null, callback);
+        play(device, deviceChannel, callback);
     }
 
     @Override
diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
index 7525def58..f9240f64d 100755
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -15,7 +15,7 @@
         </el-select>
         <el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="add">添加设备
         </el-button>
-        <el-button icon="el-icon-info" size="mini" style="margin-right: 1rem;" type="primary" @click="showInfo">平台信息
+        <el-button icon="el-icon-info" size="mini" style="margin-right: 1rem;" type="primary" @click="showInfo(true)">平台信息
         </el-button>
         <el-button icon="el-icon-refresh-right" circle size="mini" :loading="getDeviceListLoading"
                    @click="getDeviceList()"></el-button>
@@ -53,7 +53,8 @@
       <el-table-column label="状态" min-width="120">
         <template v-slot:default="scope">
           <div slot="reference" class="name-wrapper">
-            <el-tag size="medium" v-if="scope.row.onLine">在线</el-tag>
+            <el-tag size="medium" v-if="scope.row.onLine && serverId !== scope.row.serverId" style="border-color: #ecf1af">在线</el-tag>
+            <el-tag size="medium" v-if="scope.row.onLine && serverId === scope.row.serverId">在线</el-tag>
             <el-tag size="medium" type="info" v-if="!scope.row.onLine">离线</el-tag>
           </div>
         </template>
@@ -62,11 +63,6 @@
       </el-table-column>
       <el-table-column prop="registerTime" label="最近注册"  min-width="160">
       </el-table-column>
-<!--      <el-table-column prop="updateTime" label="更新时间"  width="140">-->
-<!--      </el-table-column>-->
-<!--      <el-table-column prop="createTime" label="创建时间"  width="140">-->
-<!--      </el-table-column>-->
-
       <el-table-column label="操作" min-width="380" fixed="right">
         <template v-slot:default="scope">
           <el-button type="text" size="medium" v-bind:disabled="scope.row.online==0" icon="el-icon-refresh" @click="refDevice(scope.row)"
@@ -133,11 +129,12 @@ export default {
       online: null,
       videoComponentList: [],
       updateLooper: 0, //数据刷新轮训标志
-      currentDeviceChannelsLenth: 0,
+      currentDeviceChannelsLength: 0,
       winHeight: window.innerHeight - 200,
       currentPage: 1,
       count: 15,
       total: 0,
+      serverId: null,
       getDeviceListLoading: false,
     };
   },
@@ -149,7 +146,7 @@ export default {
         channels = Object.keys(data).map(key => {
           return data[key];
         });
-        this.currentDeviceChannelsLenth = channels.length;
+        this.currentDeviceChannelsLength = channels.length;
       }
       return channels;
     }
@@ -164,6 +161,8 @@ export default {
   },
   methods: {
     initData: function () {
+      // 获取平台信息
+      this.showInfo(false)
       this.getDeviceList();
     },
     currentChange: function (val) {
@@ -326,17 +325,18 @@ export default {
 
       })
     },
-    showInfo: function (){
+    showInfo: function (showConfigInfo){
 
       this.$axios({
         method: 'get',
         url: `/api/server/system/configInfo`,
       }).then( (res)=> {
-        console.log(res)
         if (res.data.code === 0) {
-          console.log(2222)
-          console.log(this.$refs.configInfo)
-          this.$refs.configInfo.openDialog(res.data.data)
+          this.serverId = res.data.data.addOn.serverId;
+          console.log(this.serverId);
+          if(showConfigInfo) {
+            this.$refs.configInfo.openDialog(res.data.data)
+          }
         }
       }).catch( (error)=> {
       });