How to use start_recording method in Airtest

Best Python code snippet using Airtest

all_cameras.py

Source:all_cameras.py Github

copy

Full Screen

1import json2import urllib3import pandas as pd4from collections import namedtuple5col_index, col_id, col_name, col_title, col_url, col_image_url = 'index', 'id', 'camera_name', 'title', 'url', 'image_url'6def get_all_cameras() -> pd.DataFrame:7 CameraInfo = namedtuple('CameraInfo', [col_index, col_id, col_name, col_title, col_url, col_image_url])8 try:9 _link = 'http://5c328052cb7f5.streamlock.net/live/'10 _f = urllib.request.urlopen(_link)11 _data_string = _f.read()12 _data = json.loads(_data_string)13 except (urllib.error.HTTPError, urllib.error.URLError):14 _data = [{"id": 140, "name": "SHAARHAGAI", "title": "שער הגיא",15 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHAARHAGAI/shaarhagay.png", "details": "1,TRUE",16 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",17 "is_recording": 0,18 "start_recording": "0000-00-00 00:00:00", "server_name": None,19 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHAARHAGAI.stream",20 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHAARHAGAI.stream/playlist.m3u8"},21 {"id": 141, "name": "HASHOMRIM", "title": "השומרים",22 "image_file": r"http://iroads.bvtech.co.il/upfiles/HASHOMRIM/hashomrim.png", "details": "75",23 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",24 "is_recording": 0,25 "start_recording": "0000-00-00 00:00:00", "server_name": None,26 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HASHOMRIM.stream",27 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HASHOMRIM.stream/playlist.m3u8"},28 {"id": 143, "name": "LEHAVIM", "title": "להבים",29 "image_file": r"http://iroads.bvtech.co.il/upfiles/LEHAVIM/lehavim.png", "details": "40,TRUE",30 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",31 "is_recording": 0,32 "start_recording": "0000-00-00 00:00:00", "server_name": None,33 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/LEHAVIM.stream",34 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/LEHAVIM.stream/playlist.m3u8"},35 {"id": 144, "name": "KASTINA", "title": "קסטינה",36 "image_file": r"http://iroads.bvtech.co.il/upfiles/KASTINA/kastina.png", "details": "40,TRUE",37 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",38 "is_recording": 0,39 "start_recording": "0000-00-00 00:00:00", "server_name": None,40 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KASTINA.stream",41 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KASTINA.stream/playlist.m3u8"},42 {"id": 146, "name": "GOLANI", "title": "גולני",43 "image_file": r"http://iroads.bvtech.co.il/upfiles/GOLANI/golani.png", "details": "77,TRUE",44 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",45 "is_recording": 0,46 "start_recording": "0000-00-00 00:00:00", "server_name": None,47 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GOLANI.stream",48 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GOLANI.stream/playlist.m3u8"},49 {"id": 148, "name": "YAGUR", "title": "יגור",50 "image_file": r"http://iroads.bvtech.co.il/upfiles/YAGUR/YAGUR.png", "details": "70,TRUE",51 "host_ip": None,52 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,53 "start_recording": "0000-00-00 00:00:00", "server_name": None,54 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YAGUR.stream",55 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YAGUR.stream/playlist.m3u8"},56 {"id": 151, "name": "FARADIS", "title": "פוראדיס",57 "image_file": r"http://iroads.bvtech.co.il/upfiles/FARADIS/faradis.png", "details": "4,TRUE",58 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",59 "is_recording": 0,60 "start_recording": "0000-00-00 00:00:00", "server_name": None,61 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/FARADIS.stream",62 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/FARADIS.stream/playlist.m3u8"},63 {"id": 152, "name": "GANDAROM", "title": "גן דרום",64 "image_file": r"http://iroads.bvtech.co.il/upfiles/GANDAROM/gandarom.png", "details": "4,TRUE",65 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",66 "is_recording": 0,67 "start_recording": "0000-00-00 00:00:00", "server_name": None,68 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GANDAROM.stream",69 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GANDAROM.stream/playlist.m3u8"},70 {"id": 155, "name": "OMER", "title": "עומר",71 "image_file": r"http://iroads.bvtech.co.il/upfiles/OMER/omer.png", "details": "60", "host_ip": None,72 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,73 "start_recording": "0000-00-00 00:00:00", "server_name": None,74 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/OMER.stream",75 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/OMER.stream/playlist.m3u8"},76 {"id": 156, "name": "LATRUN", "title": "לטרון",77 "image_file": r"http://iroads.bvtech.co.il/upfiles/LATRUN/latrun.png", "details": "1,TRUE",78 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",79 "is_recording": 0,80 "start_recording": "0000-00-00 00:00:00", "server_name": None,81 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/LATRUN.stream",82 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/LATRUN.stream/playlist.m3u8"},83 {"id": 158, "name": "HAMED", "title": "חמד",84 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAMED/hemed.png", "details": "1", "host_ip": None,85 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,86 "start_recording": "0000-00-00 00:00:00", "server_name": None,87 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAMED.stream",88 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAMED.stream/playlist.m3u8"},89 {"id": 160, "name": "BEITRIMON", "title": "בית רימון",90 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITRIMON/beitrimon.png", "details": "77",91 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",92 "is_recording": 0,93 "start_recording": "0000-00-00 00:00:00", "server_name": None,94 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITRIMON.stream",95 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITRIMON.stream/playlist.m3u8"},96 {"id": 174, "name": "YOKNEAMILIT", "title": "יקנעם עילית",97 "image_file": r"http://iroads.bvtech.co.il/upfiles/YOKNEAMILIT/yokneamilit.png", "details": "70",98 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",99 "is_recording": 0,100 "start_recording": "0000-00-00 00:00:00", "server_name": None,101 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YOKNEAMILIT.stream",102 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YOKNEAMILIT.stream/playlist.m3u8"},103 {"id": 176, "name": "ASHQELON", "title": "אשקלון",104 "image_file": r"http://iroads.bvtech.co.il/upfiles/ASHQELON/ashqelon.png", "details": "4",105 "host_ip": None,106 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,107 "start_recording": "0000-00-00 00:00:00", "server_name": None,108 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ASHQELON.stream",109 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ASHQELON.stream/playlist.m3u8"},110 {"id": 177, "name": "PLUGOT", "title": "פלוגות",111 "image_file": r"http://iroads.bvtech.co.il/upfiles/PLUGOT/plugot.png", "details": "40",112 "host_ip": None,113 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,114 "start_recording": "0000-00-00 00:00:00", "server_name": None,115 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/PLUGOT.stream",116 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/PLUGOT.stream/playlist.m3u8"},117 {"id": 178, "name": "ALUFSADE", "title": "אלוף שדה",118 "image_file": r"http://iroads.bvtech.co.il/upfiles/ALUFSADE/alufsade.png", "details": "4",119 "host_ip": None,120 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,121 "start_recording": "0000-00-00 00:00:00", "server_name": None,122 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ALUFSADE.stream",123 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ALUFSADE.stream/playlist.m3u8"},124 {"id": 179, "name": "HASIRA", "title": "הסירה",125 "image_file": r"http://iroads.bvtech.co.il/upfiles/HASIRA/hasira.png", "details": "2",126 "host_ip": None,127 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,128 "start_recording": "0000-00-00 00:00:00", "server_name": None,129 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HASIRA.stream",130 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HASIRA.stream/playlist.m3u8"},131 {"id": 180, "name": "GILAT", "title": "גילת",132 "image_file": r"http://iroads.bvtech.co.il/upfiles/GILAT/gilat.png", "details": "25", "host_ip": None,133 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,134 "start_recording": "0000-00-00 00:00:00", "server_name": None,135 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GILAT.stream",136 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GILAT.stream/playlist.m3u8"},137 {"id": 181, "name": "KARMIELEAST", "title": "כרמיאל מזרח",138 "image_file": r"http://iroads.bvtech.co.il/upfiles/KARMIELEAST/karmieleast.png", "details": "85",139 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",140 "is_recording": 0,141 "start_recording": "0000-00-00 00:00:00", "server_name": None,142 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KARMIELEAST.stream",143 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KARMIELEAST.stream/playlist.m3u8"},144 {"id": 182, "name": "AKOEAST", "title": "עכו מזרח",145 "image_file": r"http://iroads.bvtech.co.il/upfiles/AKOEAST/akoeast.png", "details": "4",146 "host_ip": None,147 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,148 "start_recording": "0000-00-00 00:00:00", "server_name": None,149 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/AKOEAST.stream",150 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/AKOEAST.stream/playlist.m3u8"},151 {"id": 183, "name": "EVLAIM", "title": "אבליים",152 "image_file": r"http://iroads.bvtech.co.il/upfiles/EVLAIM/evlaim.png", "details": "70",153 "host_ip": None,154 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,155 "start_recording": "0000-00-00 00:00:00", "server_name": None,156 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/EVLAIM.stream",157 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/EVLAIM.stream/playlist.m3u8"},158 {"id": 184, "name": "SHILAT", "title": "שילת",159 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHILAT/shilat.png", "details": "443",160 "host_ip": None,161 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,162 "start_recording": "0000-00-00 00:00:00", "server_name": None,163 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHILAT.stream",164 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHILAT.stream/playlist.m3u8"},165 {"id": 185, "name": "BALFURIYA", "title": "בלפוריה",166 "image_file": r"http://iroads.bvtech.co.il/upfiles/BALFURIYA/balfuriya.png", "details": "60",167 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",168 "is_recording": 0,169 "start_recording": "0000-00-00 00:00:00", "server_name": None,170 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BALFURIYA.stream",171 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BALFURIYA.stream/playlist.m3u8"},172 {"id": 186, "name": "MEGIDO", "title": "מגידו",173 "image_file": r"http://iroads.bvtech.co.il/upfiles/MEGIDO/megido.png", "details": "65",174 "host_ip": None,175 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,176 "start_recording": "0000-00-00 00:00:00", "server_name": None,177 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MEGIDO.stream",178 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MEGIDO.stream/playlist.m3u8"},179 {"id": 187, "name": "OLGA", "title": "אולגה",180 "image_file": r"http://iroads.bvtech.co.il/upfiles/OLGA/olga.png", "details": "2", "host_ip": None,181 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,182 "start_recording": "0000-00-00 00:00:00", "server_name": None,183 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/OLGA.stream",184 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/OLGA.stream/playlist.m3u8"},185 {"id": 188, "name": "RAANANACENTER", "title": "רעננה מרכז",186 "image_file": r"http://iroads.bvtech.co.il/upfiles/RAANANACENTER/raananacenter.png", "details": "4",187 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",188 "is_recording": 0,189 "start_recording": "0000-00-00 00:00:00", "server_name": None,190 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/RAANANACENTER.stream",191 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/RAANANACENTER.stream/playlist.m3u8"},192 {"id": 189, "name": "RISHONLEZION", "title": "ראשון לציון",193 "image_file": r"http://iroads.bvtech.co.il/upfiles/RISHONLEZION/rishonlezion.png", "details": "4",194 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",195 "is_recording": 0,196 "start_recording": "0000-00-00 00:00:00", "server_name": None,197 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/RISHONLEZION.stream",198 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/RISHONLEZION.stream/playlist.m3u8"},199 {"id": 190, "name": "POLEG", "title": "פולג",200 "image_file": r"http://iroads.bvtech.co.il/upfiles/POLEG/poleg.png", "details": "2", "host_ip": None,201 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,202 "start_recording": "0000-00-00 00:00:00", "server_name": None,203 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/POLEG.stream",204 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/POLEG.stream/playlist.m3u8"},205 {"id": 193, "name": "BEITOVED", "title": "בית עובד",206 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITOVED/beitoved.png", "details": "42",207 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",208 "is_recording": 0,209 "start_recording": "0000-00-00 00:00:00", "server_name": None,210 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITOVED.stream",211 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITOVED.stream/playlist.m3u8"},212 {"id": 194, "name": "BILU", "title": "ביל\"ו",213 "image_file": r"http://iroads.bvtech.co.il/upfiles/BILU/bilu.png", "details": "40", "host_ip": None,214 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,215 "start_recording": "0000-00-00 00:00:00", "server_name": None,216 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BILU.stream",217 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BILU.stream/playlist.m3u8"},218 {"id": 195, "name": "BNEIDROR", "title": "בני דרור",219 "image_file": r"http://iroads.bvtech.co.il/upfiles/BNEIDROR/bneidror.png", "details": "4",220 "host_ip": None,221 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,222 "start_recording": "0000-00-00 00:00:00", "server_name": None,223 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BNEIDROR.stream",224 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BNEIDROR.stream/playlist.m3u8"},225 {"id": 196, "name": "GANOT", "title": "גנות",226 "image_file": r"http://iroads.bvtech.co.il/upfiles/GANOT/ganot.png", "details": "1", "host_ip": None,227 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,228 "start_recording": "0000-00-00 00:00:00", "server_name": None,229 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GANOT.stream",230 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GANOT.stream/playlist.m3u8"},231 {"id": 197, "name": "GEDERA", "title": "גדרה",232 "image_file": r"http://iroads.bvtech.co.il/upfiles/GEDERA/gedera.png", "details": "7",233 "host_ip": None,234 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,235 "start_recording": "0000-00-00 00:00:00", "server_name": None,236 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GEDERA.stream",237 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GEDERA.stream/playlist.m3u8"},238 {"id": 199, "name": "GINATON", "title": "גינתון",239 "image_file": r"http://iroads.bvtech.co.il/upfiles/GINATON/ginaton.png", "details": "40",240 "host_ip": None,241 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,242 "start_recording": "0000-00-00 00:00:00", "server_name": None,243 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GINATON.stream",244 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GINATON.stream/playlist.m3u8"},245 {"id": 201, "name": "NEVEILAN", "title": "נווה אילן",246 "image_file": r"http://iroads.bvtech.co.il/upfiles/NEVEILAN/neveilan.png", "details": "1",247 "host_ip": None,248 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,249 "start_recording": "0000-00-00 00:00:00", "server_name": None,250 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NEVEILAN.stream",251 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NEVEILAN.stream/playlist.m3u8"},252 {"id": 202, "name": "TAYASIM", "title": "טייסים",253 "image_file": r"http://iroads.bvtech.co.il/upfiles/TAYASIM/tayasim.png", "details": "40",254 "host_ip": None,255 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,256 "start_recording": "0000-00-00 00:00:00", "server_name": None,257 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TAYASIM.stream",258 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TAYASIM.stream/playlist.m3u8"},259 {"id": 203, "name": "SHORES", "title": "שורש",260 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHORES/shoresh.png", "details": "1",261 "host_ip": None,262 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,263 "start_recording": "0000-00-00 00:00:00", "server_name": None,264 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHORES.stream",265 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHORES.stream/playlist.m3u8"},266 {"id": 205, "name": "HAKFARHAYAROK", "title": "הכפר הירוק",267 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAKFARHAYAROK/hakfarhayarok.png", "details": "5",268 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",269 "is_recording": 0,270 "start_recording": "0000-00-00 00:00:00", "server_name": None,271 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAKFARHAYAROK.stream",272 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAKFARHAYAROK.stream/playlist.m3u8"},273 {"id": 206, "name": "TIKVA", "title": "תקווה",274 "image_file": r"http://iroads.bvtech.co.il/upfiles/TIKVA/tikva.png", "details": "5", "host_ip": None,275 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,276 "start_recording": "0000-00-00 00:00:00", "server_name": None,277 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TIKVA.stream",278 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TIKVA.stream/playlist.m3u8"},279 {"id": 208, "name": "CEASARIA", "title": "קיסריה",280 "image_file": r"http://iroads.bvtech.co.il/upfiles/CEASARIA/ceasaria.png", "details": "2",281 "host_ip": None,282 "global_url": "", "server_ip": "", "app_name": "", "app_instance": "", "is_recording": 0,283 "start_recording": "0000-00-00 00:00:00", "server_name": None,284 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/CEASARIA.stream",285 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/CEASARIA.stream/playlist.m3u8"},286 {"id": 209, "name": "TELYOSEF", "title": "תל יוסף",287 "image_file": r"http://iroads.bvtech.co.il/upfiles/TELYOSEF/telyosef.png", "details": "71",288 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",289 "is_recording": 0,290 "start_recording": "0000-00-00 00:00:00", "server_name": None,291 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TELYOSEF.stream",292 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TELYOSEF.stream/playlist.m3u8"},293 {"id": 210, "name": "MAHANEOFER", "title": "מחנה עופר",294 "image_file": r"http://iroads.bvtech.co.il/upfiles/MAHANEOFER/mahaneofer.png", "details": "443",295 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",296 "is_recording": 0,297 "start_recording": "0000-00-00 00:00:00", "server_name": None,298 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MAHANEOFER.stream",299 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MAHANEOFER.stream/playlist.m3u8"},300 {"id": 211, "name": "BEITHORON", "title": "בית חורון",301 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITHORON/beithoron.png", "details": "443",302 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",303 "is_recording": 0,304 "start_recording": "0000-00-00 00:00:00", "server_name": None,305 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITHORON.stream",306 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITHORON.stream/playlist.m3u8"},307 {"id": 213, "name": "HATISHBI", "title": "התישבי",308 "image_file": r"http://iroads.bvtech.co.il/upfiles/HATISHBI/hatishbi.png", "details": "70",309 "host_ip": None, "global_url": "", "server_ip": "", "app_name": "", "app_instance": "",310 "is_recording": 0,311 "start_recording": "0000-00-00 00:00:00", "server_name": None,312 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HATISHBI.stream",313 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HATISHBI.stream/playlist.m3u8"},314 {"id": 218, "name": "HAREL", "title": "הראל",315 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAREL/harel.png", "details": "1", "host_ip": None,316 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",317 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,318 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAREL.stream",319 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAREL.stream/playlist.m3u8"},320 {"id": 219, "name": "ATAROT", "title": "עטרות",321 "image_file": r"http://iroads.bvtech.co.il/upfiles/ATAROT/atarot.png", "details": "443",322 "host_ip": None,323 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",324 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,325 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ATAROT.stream",326 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ATAROT.stream/playlist.m3u8"},327 {"id": 225, "name": "MORASHA", "title": "מורשה",328 "image_file": r"http://iroads.bvtech.co.il/upfiles/MORASHA/morasha.png", "details": "5",329 "host_ip": None,330 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",331 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,332 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MORASHA.stream",333 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MORASHA.stream/playlist.m3u8"},334 {"id": 226, "name": "SHAPIRIM", "title": "שפירים",335 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHAPIRIM/shapirim.png", "details": "1",336 "host_ip": None,337 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",338 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,339 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHAPIRIM.stream",340 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHAPIRIM.stream/playlist.m3u8"},341 {"id": 227, "name": "YAGEL", "title": "יגל",342 "image_file": r"http://iroads.bvtech.co.il/upfiles/YAGEL/yagel.png", "details": "1", "host_ip": None,343 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",344 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,345 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YAGEL.stream",346 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YAGEL.stream/playlist.m3u8"},347 {"id": 228, "name": "NATBAG", "title": "נתב\"ג",348 "image_file": r"http://iroads.bvtech.co.il/upfiles/NATBAG/natbag.png", "details": "1",349 "host_ip": None,350 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",351 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,352 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NATBAG.stream",353 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NATBAG.stream/playlist.m3u8"},354 {"id": 229, "name": "LOD", "title": "לוד",355 "image_file": r"http://iroads.bvtech.co.il/upfiles/LOD/lod.png",356 "details": "1", "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",357 "app_instance": "_definst_", "is_recording": 0, "start_recording": "0000-00-00 00:00:00",358 "server_name": None,359 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/LOD.stream",360 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/LOD.stream/playlist.m3u8"},361 {"id": 230, "name": "SHAALABIM", "title": "שעלבים",362 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHAALABIM/shaalabim.PNG", "details": "1",363 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",364 "app_instance": "_definst_",365 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,366 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHAALABIM.stream",367 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHAALABIM.stream/playlist.m3u8"},368 {"id": 231, "name": "MITZPEMODIIN", "title": "מצפה מודיעין",369 "image_file": r"http://iroads.bvtech.co.il/upfiles/MITZPEMODIIN/mitzpemodiin.png", "details": "443",370 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",371 "app_instance": "_definst_",372 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,373 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MITZPEMODIIN.stream",374 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MITZPEMODIIN.stream/playlist.m3u8"},375 {"id": 232, "name": "MITKANADAM", "title": "מתקן אדם",376 "image_file": r"http://iroads.bvtech.co.il/upfiles/MITKANADAM/mitkanadam.png", "details": "443",377 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",378 "app_instance": "_definst_",379 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,380 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MITKANADAM.stream",381 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MITKANADAM.stream/playlist.m3u8"},382 {"id": 233, "name": "KARMIELWEST", "title": "כרמיאל מערב",383 "image_file": r"http://iroads.bvtech.co.il/upfiles/KARMIELWEST/karmielwest.png", "details": "85",384 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",385 "app_instance": "_definst_",386 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,387 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KARMIELWEST.stream",388 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KARMIELWEST.stream/playlist.m3u8"},389 {"id": 234, "name": "ZICHRONYAAKOV", "title": "זיכרון יעקב",390 "image_file": r"http://iroads.bvtech.co.il/upfiles/ZICHRONYAAKOV/zichronyaakov.PNG", "details": "4",391 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",392 "app_instance": "_definst_",393 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,394 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ZICHRONYAAKOV.stream",395 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ZICHRONYAAKOV.stream/playlist.m3u8"},396 {"id": 235, "name": "ORAKIVA", "title": "אור עקיבא (אורות)",397 "image_file": r"http://iroads.bvtech.co.il/upfiles/ORAKIVA/orakiva.PNG", "details": "4",398 "host_ip": None,399 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",400 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,401 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ORAKIVA.stream",402 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ORAKIVA.stream/playlist.m3u8"},403 {"id": 236, "name": "MACABIMREUT", "title": "מכבים רעות",404 "image_file": r"http://iroads.bvtech.co.il/upfiles/MACABIMREUT/macabimreut.png", "details": "443",405 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",406 "app_instance": "_definst_",407 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,408 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MACABIMREUT.stream",409 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MACABIMREUT.stream/playlist.m3u8"},410 {"id": 238, "name": "BATZRA", "title": "בצרה",411 "image_file": r"http://iroads.bvtech.co.il/upfiles/BATZRA/batzra.png", "details": "4",412 "host_ip": None,413 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",414 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,415 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BATZRA.stream",416 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BATZRA.stream/playlist.m3u8"},417 {"id": 240, "name": "BARILAN", "title": "בר אילן",418 "image_file": r"http://iroads.bvtech.co.il/upfiles/BARILAN/barilan.png", "details": "4",419 "host_ip": None,420 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",421 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,422 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BARILAN.stream",423 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BARILAN.stream/playlist.m3u8"},424 {"id": 241, "name": "BEITSHEMESH", "title": "בית שמש",425 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITSHEMESH/beitshemesh.png", "details": "38",426 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",427 "app_instance": "_definst_",428 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,429 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITSHEMESH.stream",430 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITSHEMESH.stream/playlist.m3u8"},431 {"id": 242, "name": "RAANANANORTH", "title": "רעננה צפון",432 "image_file": r"http://iroads.bvtech.co.il/upfiles/RAANANANORTH/raanananorth.png", "details": "4",433 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",434 "app_instance": "_definst_",435 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,436 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/RAANANANORTH.stream",437 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/RAANANANORTH.stream/playlist.m3u8"},438 {"id": 243, "name": "ADANIM", "title": "עדנים",439 "image_file": r"http://iroads.bvtech.co.il/upfiles/ADANIM/adanim.png", "details": "40",440 "host_ip": None,441 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",442 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,443 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ADANIM.stream",444 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ADANIM.stream/playlist.m3u8"},445 {"id": 244, "name": "ERON", "title": "עירון",446 "image_file": r"http://iroads.bvtech.co.il/upfiles/ERON/eron.png", "details": "65", "host_ip": None,447 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",448 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,449 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ERON.stream",450 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ERON.stream/playlist.m3u8"},451 {"id": 245, "name": "ELAL", "title": "אל-על",452 "image_file": r"http://iroads.bvtech.co.il/upfiles/ELAL/elal.png", "details": "40", "host_ip": None,453 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",454 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,455 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ELAL.stream",456 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ELAL.stream/playlist.m3u8"},457 {"id": 246, "name": "BEITLID", "title": "בית ליד",458 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITLID/beitlid.png", "details": "4",459 "host_ip": None,460 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",461 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,462 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITLID.stream",463 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITLID.stream/playlist.m3u8"},464 {"id": 247, "name": "NIRGALIM", "title": "ניר גלים",465 "image_file": r"http://iroads.bvtech.co.il/upfiles/NIRGALIM/nirgalim.PNG", "details": "41",466 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",467 "app_instance": "_definst_",468 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,469 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NIRGALIM.stream",470 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NIRGALIM.stream/playlist.m3u8"},471 {"id": 249, "name": "MESUBIM", "title": "מסובים",472 "image_file": r"http://iroads.bvtech.co.il/upfiles/MESUBIM/mesubim.PNG", "details": "4",473 "host_ip": None,474 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",475 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,476 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MESUBIM.stream",477 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MESUBIM.stream/playlist.m3u8"},478 {"id": 250, "name": "ELISHEMA", "title": "אלישמע",479 "image_file": r"http://iroads.bvtech.co.il/upfiles/ELISHEMA/elishema.png", "details": "531",480 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",481 "app_instance": "_definst_",482 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,483 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ELISHEMA.stream",484 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ELISHEMA.stream/playlist.m3u8"},485 {"id": 251, "name": "KFRASHMARIYAHU", "title": "כפר שמריהו",486 "image_file": r"http://iroads.bvtech.co.il/upfiles/KFRASHMARIYAHU/kfarshmaryahu.png", "details": "2",487 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",488 "app_instance": "_definst_",489 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,490 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KFRASHMARIYAHU.stream",491 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KFRASHMARIYAHU.stream/playlist.m3u8"},492 {"id": 252, "name": "MIGDALTZEDEK", "title": "מגדל צדק",493 "image_file": r"http://iroads.bvtech.co.il/upfiles/MIGDALTZEDEK/migdaltzedek.PNG", "details": "444",494 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",495 "app_instance": "_definst_",496 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,497 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MIGDALTZEDEK.stream",498 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MIGDALTZEDEK.stream/playlist.m3u8"},499 {"id": 254, "name": "NAHSHONIM", "title": "נחשונים",500 "image_file": r"http://iroads.bvtech.co.il/upfiles/NAHSHONIM/nahshonim.PNG", "details": "444",501 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",502 "app_instance": "_definst_",503 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,504 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NAHSHONIM.stream",505 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NAHSHONIM.stream/playlist.m3u8"},506 {"id": 256, "name": "REEM", "title": "ראם",507 "image_file": r"http://iroads.bvtech.co.il/upfiles/REEM/reem.PNG", "details": "40", "host_ip": None,508 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",509 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,510 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/REEM.stream",511 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/REEM.stream/playlist.m3u8"},512 {"id": 257, "name": "SHIMSHON", "title": "שמשון",513 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHIMSHON/shimshon.PNG", "details": "38",514 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",515 "app_instance": "_definst_",516 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,517 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHIMSHON.stream",518 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHIMSHON.stream/playlist.m3u8"},519 {"id": 258, "name": "GORAL", "title": "גורל",520 "image_file": r"http://iroads.bvtech.co.il/upfiles/GORAL/goral.png", "details": "40", "host_ip": None,521 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",522 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,523 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GORAL.stream",524 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GORAL.stream/playlist.m3u8"},525 {"id": 259, "name": "GANYAVNE", "title": "גן יבנה",526 "image_file": r"http://iroads.bvtech.co.il/upfiles/GANYAVNE/ganyavne.PNG", "details": "4",527 "host_ip": None,528 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",529 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,530 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GANYAVNE.stream",531 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GANYAVNE.stream/playlist.m3u8"},532 {"id": 260, "name": "HAOGEN", "title": "העוגן",533 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAOGEN/haogen.PNG", "details": "4",534 "host_ip": None,535 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",536 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,537 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAOGEN.stream",538 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAOGEN.stream/playlist.m3u8"},539 {"id": 261, "name": "ZARZIR", "title": "זרזיר",540 "image_file": r"http://iroads.bvtech.co.il/upfiles/ZARZIR/zarzir.PNG", "details": "77",541 "host_ip": None,542 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",543 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,544 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ZARZIR.stream",545 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ZARZIR.stream/playlist.m3u8"},546 {"id": 262, "name": "HORASHIM", "title": "חורשים",547 "image_file": r"http://iroads.bvtech.co.il/upfiles/HORASHIM/horashim.png", "details": "531",548 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",549 "app_instance": "_definst_",550 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,551 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HORASHIM.stream",552 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HORASHIM.stream/playlist.m3u8"},553 {"id": 263, "name": "GIVATSHMUEL", "title": "גבעת שמואל",554 "image_file": r"http://iroads.bvtech.co.il/upfiles/GIVATSHMUEL/Untitled.png", "details": "4",555 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",556 "app_instance": "_definst_",557 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,558 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GIVATSHMUEL.stream",559 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GIVATSHMUEL.stream/playlist.m3u8"},560 {"id": 265, "name": "GEHA", "title": "גהה",561 "image_file": r"http://iroads.bvtech.co.il/upfiles/GEHA/geha.png", "details": "4", "host_ip": None,562 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",563 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,564 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GEHA.stream",565 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GEHA.stream/playlist.m3u8"},566 {"id": 266, "name": "NITZANIM", "title": "ניצנים",567 "image_file": r"http://iroads.bvtech.co.il/upfiles/NITZANIM/nitzanim.png", "details": "4",568 "host_ip": None,569 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",570 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,571 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NITZANIM.stream",572 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NITZANIM.stream/playlist.m3u8"},573 {"id": 268, "name": "MAAHAZKVISH6", "title": "מאחז כביש 6",574 "image_file": r"http://iroads.bvtech.co.il/upfiles/MAAHAZKVISH6/maahaz.png", "details": "6",575 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",576 "app_instance": "_definst_",577 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,578 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MAAHAZKVISH6.stream",579 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MAAHAZKVISH6.stream/playlist.m3u8"},580 {"id": 269, "name": "TZRIFIN", "title": "צריפין",581 "image_file": r"http://iroads.bvtech.co.il/upfiles/TZRIFIN/tzrifin.PNG", "details": "44",582 "host_ip": None,583 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",584 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,585 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TZRIFIN.stream",586 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TZRIFIN.stream/playlist.m3u8"},587 {"id": 270, "name": "HAMOVIL", "title": "המוביל",588 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAMOVIL/hamovil.png", "details": "77",589 "host_ip": None,590 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",591 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,592 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAMOVIL.stream",593 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAMOVIL.stream/playlist.m3u8"},594 {"id": 275, "name": "ABUGOSH", "title": "אבו גוש",595 "image_file": r"http://iroads.bvtech.co.il/upfiles/ABUGOSH/abugosh.png", "details": "1",596 "host_ip": None,597 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",598 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,599 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ABUGOSH.stream",600 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ABUGOSH.stream/playlist.m3u8"},601 {"id": 276, "name": "ACHIHOD", "title": "אחיהוד",602 "image_file": r"http://iroads.bvtech.co.il/upfiles/ACHIHOD/ahihud.png", "details": "85",603 "host_ip": None,604 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",605 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,606 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ACHIHOD.stream",607 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ACHIHOD.stream/playlist.m3u8"},608 {"id": 279, "name": "ADHALOM", "title": "עד הלום",609 "image_file": r"http://iroads.bvtech.co.il/upfiles/ADHALOM/adhalom.png", "details": "4",610 "host_ip": None,611 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",612 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,613 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ADHALOM.stream",614 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ADHALOM.stream/playlist.m3u8"},615 {"id": 281, "name": "AHISEMECH", "title": "אחיסמך",616 "image_file": r"http://iroads.bvtech.co.il/upfiles/AHISEMECH/AHISEMECH.PNG", "details": "40",617 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",618 "app_instance": "_definst_",619 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,620 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/AHISEMECH.stream",621 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/AHISEMECH.stream/playlist.m3u8"},622 {"id": 282, "name": "ALON", "title": "אלון",623 "image_file": r"http://iroads.bvtech.co.il/upfiles/ALON/ALON.PNG", "details": "65", "host_ip": None,624 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",625 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,626 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ALON.stream",627 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ALON.stream/playlist.m3u8"},628 {"id": 283, "name": "AMIAD", "title": "עמיעד",629 "image_file": r"http://iroads.bvtech.co.il/upfiles/AMIAD/AMIAD.PNG", "details": "85", "host_ip": None,630 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",631 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,632 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/AMIAD.stream",633 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/AMIAD.stream/playlist.m3u8"},634 {"id": 284, "name": "ATLIT", "title": "עתלית",635 "image_file": r"http://iroads.bvtech.co.il/upfiles/ATLIT/ATLIT.PNG", "details": "4", "host_ip": None,636 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",637 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,638 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ATLIT.stream",639 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ATLIT.stream/playlist.m3u8"},640 {"id": 286, "name": "BAFTISTIM", "title": "בפטיסטים",641 "image_file": r"http://iroads.bvtech.co.il/upfiles/BAFTISTIM/BAFTISTIM.PNG", "details": "40",642 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",643 "app_instance": "_definst_",644 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,645 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BAFTISTIM.stream",646 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BAFTISTIM.stream/playlist.m3u8"},647 {"id": 287, "name": "BEERGANIMPRIOR", "title": "באר גנים פרי אור",648 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEERGANIMPRIOR/BEERGANIMPRIOR.PNG", "details": "4",649 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",650 "app_instance": "_definst_",651 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,652 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEERGANIMPRIOR.stream",653 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEERGANIMPRIOR.stream/playlist.m3u8"},654 {"id": 288, "name": "BEITDAGAN", "title": "בית דגן",655 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITDAGAN/BEITDAGAN.PNG", "details": "44",656 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",657 "app_instance": "_definst_",658 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,659 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITDAGAN.stream",660 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITDAGAN.stream/playlist.m3u8"},661 {"id": 289, "name": "BEITRABAN", "title": "בית רבן",662 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITRABAN/BEITRABAN.PNG", "details": "7",663 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",664 "app_instance": "_definst_",665 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,666 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITRABAN.stream",667 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITRABAN.stream/playlist.m3u8"},668 {"id": 290, "name": "BEITYEHOSHUA", "title": "בית יהושע",669 "image_file": r"http://iroads.bvtech.co.il/upfiles/BEITYEHOSHUA/BEITYEHOSHUA.PNG", "details": "553",670 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",671 "app_instance": "_definst_",672 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,673 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BEITYEHOSHUA.stream",674 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BEITYEHOSHUA.stream/playlist.m3u8"},675 {"id": 291, "name": "BINYAMINA", "title": "בנימינה",676 "image_file": r"http://iroads.bvtech.co.il/upfiles/BINYAMINA/BINYAMINA.PNG", "details": "4",677 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",678 "app_instance": "_definst_",679 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,680 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BINYAMINA.stream",681 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BINYAMINA.stream/playlist.m3u8"},682 {"id": 293, "name": "BRACHYA", "title": "ברכיה",683 "image_file": r"http://iroads.bvtech.co.il/upfiles/BRACHYA/BRACHYA.PNG", "details": "4",684 "host_ip": None,685 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",686 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,687 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BRACHYA.stream",688 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BRACHYA.stream/playlist.m3u8"},689 {"id": 294, "name": "DGANYAROAD57", "title": "דגניה כביש 57",690 "image_file": r"http://iroads.bvtech.co.il/upfiles/DGANYAROAD57/DGANYAROAD57.PNG", "details": "57",691 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",692 "app_instance": "_definst_",693 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,694 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/DGANYAROAD57.stream",695 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/DGANYAROAD57.stream/playlist.m3u8"},696 {"id": 299, "name": "EMUNIM", "title": "אמונים",697 "image_file": r"http://iroads.bvtech.co.il/upfiles/EMUNIM/EMUNIM.PNG", "details": "4",698 "host_ip": None,699 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",700 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,701 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/EMUNIM.stream",702 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/EMUNIM.stream/playlist.m3u8"},703 {"id": 300, "name": "ESHELHANASI", "title": "אשל הנשיא",704 "image_file": r"http://iroads.bvtech.co.il/upfiles/ESHELHANASI/ESHELHANASI.PNG", "details": "25",705 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",706 "app_instance": "_definst_",707 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,708 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ESHELHANASI.stream",709 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ESHELHANASI.stream/playlist.m3u8"},710 {"id": 301, "name": "GANRAVE", "title": "גן רווה",711 "image_file": r"http://iroads.bvtech.co.il/upfiles/GANRAVE/GANRAVE.PNG", "details": "4",712 "host_ip": None,713 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",714 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,715 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GANRAVE.stream",716 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GANRAVE.stream/playlist.m3u8"},717 {"id": 302, "name": "GESHERHASHALOM", "title": "גשר השלום",718 "image_file": r"http://iroads.bvtech.co.il/upfiles/GESHERHASHALOM/gesherhashalom.png", "details": "2",719 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",720 "app_instance": "_definst_",721 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,722 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GESHERHASHALOM.stream",723 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GESHERHASHALOM.stream/playlist.m3u8"},724 {"id": 303, "name": "GILAM", "title": "גלעם",725 "image_file": r"http://iroads.bvtech.co.il/upfiles/GILAM/GILAM.PNG", "details": "79", "host_ip": None,726 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",727 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,728 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GILAM.stream",729 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GILAM.stream/playlist.m3u8"},730 {"id": 304, "name": "GILOLONG", "title": "גילה מנהרה ארוכה",731 "image_file": r"http://iroads.bvtech.co.il/upfiles/GILOLONG/GILOLONG.PNG", "details": "60",732 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",733 "app_instance": "_definst_",734 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,735 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GILOLONG.stream",736 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GILOLONG.stream/playlist.m3u8"},737 {"id": 305, "name": "GILOSHORT", "title": "גילה מנהרה קצרה",738 "image_file": r"http://iroads.bvtech.co.il/upfiles/GILOSHORT/GILOSHORT.PNG", "details": "60",739 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",740 "app_instance": "_definst_",741 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,742 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GILOSHORT.stream",743 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GILOSHORT.stream/playlist.m3u8"},744 {"id": 306, "name": "GIMZO", "title": "גימזו",745 "image_file": r"http://iroads.bvtech.co.il/upfiles/GIMZO/GIMZO.PNG", "details": "443",746 "host_ip": None,747 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",748 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,749 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GIMZO.stream",750 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GIMZO.stream/playlist.m3u8"},751 {"id": 307, "name": "GIVATI", "title": "גבעתי",752 "image_file": r"http://iroads.bvtech.co.il/upfiles/GIVATI/GIVATI.PNG", "details": "35",753 "host_ip": None,754 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",755 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,756 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GIVATI.stream",757 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GIVATI.stream/playlist.m3u8"},758 {"id": 309, "name": "GVULUT", "title": "גבולות",759 "image_file": r"http://iroads.bvtech.co.il/upfiles/GVULUT/GVULOT.PNG", "details": "232",760 "host_ip": None,761 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",762 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,763 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/GVULUT.stream",764 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/GVULUT.stream/playlist.m3u8"},765 {"id": 311, "name": "HADARIM", "title": "הדרים",766 "image_file": r"http://iroads.bvtech.co.il/upfiles/HADARIM/HADARIM.PNG", "details": "4",767 "host_ip": None,768 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",769 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,770 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HADARIM.stream",771 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HADARIM.stream/playlist.m3u8"},772 {"id": 312, "name": "HADASIM", "title": "הדסים",773 "image_file": r"http://iroads.bvtech.co.il/upfiles/HADASIM/HADASIM.PNG", "details": "4",774 "host_ip": None,775 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",776 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,777 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HADASIM.stream",778 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HADASIM.stream/playlist.m3u8"},779 {"id": 313, "name": "HAKERACH", "title": "הקרח",780 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAKERACH/HAKERAH.PNG", "details": "44",781 "host_ip": None,782 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",783 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,784 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAKERACH.stream",785 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAKERACH.stream/playlist.m3u8"},786 {"id": 314, "name": "HAMAHTESH", "title": "המכתש",787 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAMAHTESH/HAMAHTESH.PNG", "details": "44",788 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",789 "app_instance": "_definst_",790 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,791 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAMAHTESH.stream",792 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAMAHTESH.stream/playlist.m3u8"},793 {"id": 315, "name": "HAMELAHA", "title": "המלאכה",794 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAMELAHA/HAMELAHA.PNG", "details": "44",795 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",796 "app_instance": "_definst_",797 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,798 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAMELAHA.stream",799 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAMELAHA.stream/playlist.m3u8"},800 {"id": 316, "name": "HASHIVA", "title": "השבעה",801 "image_file": r"http://iroads.bvtech.co.il/upfiles/HASHIVA/HASHIVA.PNG", "details": "4",802 "host_ip": None,803 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",804 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,805 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HASHIVA.stream",806 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HASHIVA.stream/playlist.m3u8"},807 {"id": 317, "name": "HATIVA7", "title": "חטיבה 7",808 "image_file": r"http://iroads.bvtech.co.il/upfiles/HATIVA7/HATIVA7.PNG", "details": "3",809 "host_ip": None,810 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",811 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,812 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HATIVA7.stream",813 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HATIVA7.stream/playlist.m3u8"},814 {"id": 318, "name": "HATZAV", "title": "חצב",815 "image_file": r"http://iroads.bvtech.co.il/upfiles/HATZAV/HATZAV.PNG", "details": "40",816 "host_ip": None,817 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",818 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,819 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HATZAV.stream",820 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HATZAV.stream/playlist.m3u8"},821 {"id": 319, "name": "HAVATSHAARHAGY", "title": "חוות שער הגיא",822 "image_file": r"http://iroads.bvtech.co.il/upfiles/HAVATSHAARHAGY/HAVATSHAARHAGY.PNG", "details": "1",823 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",824 "app_instance": "_definst_",825 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,826 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HAVATSHAARHAGY.stream",827 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HAVATSHAARHAGY.stream/playlist.m3u8"},828 {"id": 320, "name": "HEFER", "title": "חפר",829 "image_file": r"http://iroads.bvtech.co.il/upfiles/HEFER/HEFER.PNG", "details": "4", "host_ip": None,830 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",831 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,832 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HEFER.stream",833 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HEFER.stream/playlist.m3u8"},834 {"id": 321, "name": "HENROAD531", "title": "חן כביש 531",835 "image_file": r"http://iroads.bvtech.co.il/upfiles/HENROAD531/HENROAD531.PNG", "details": "531",836 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",837 "app_instance": "_definst_",838 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,839 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HENROAD531.stream",840 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HENROAD531.stream/playlist.m3u8"},841 {"id": 322, "name": "HERTZELIAEASTROAD531", "title": "הרצליה מזרח כביש 531",842 "image_file": r"http://iroads.bvtech.co.il/upfiles/HERTZELIAEASTROAD531/HERTZELIAEASTROAD531.PNG",843 "details": "531", "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",844 "app_instance": "_definst_", "is_recording": 0, "start_recording": "0000-00-00 00:00:00",845 "server_name": None,846 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HERTZELIAEASTROAD531.stream",847 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HERTZELIAEASTROAD531.stream/playlist.m3u8"},848 {"id": 324, "name": "HOLOT", "title": "חולות",849 "image_file": r"http://iroads.bvtech.co.il/upfiles/HOLOT/holot.png", "details": "כביש 20",850 "host_ip": None,851 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",852 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,853 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HOLOT.stream",854 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HOLOT.stream/playlist.m3u8"},855 {"id": 325, "name": "JISER", "title": "ג'סר",856 "image_file": r"http://iroads.bvtech.co.il/upfiles/JISER/JISER.PNG", "details": "2", "host_ip": None,857 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",858 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,859 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/JISER.stream",860 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/JISER.stream/playlist.m3u8"},861 {"id": 326, "name": "KABRI", "title": "כברי",862 "image_file": r"http://iroads.bvtech.co.il/upfiles/KABRI/KABRI.PNG", "details": "89", "host_ip": None,863 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",864 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,865 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KABRI.stream",866 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KABRI.stream/playlist.m3u8"},867 {"id": 327, "name": "KADARIM", "title": "קדרים",868 "image_file": r"http://iroads.bvtech.co.il/upfiles/KADARIM/KADARIM.PNG", "details": "85",869 "host_ip": None,870 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",871 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,872 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KADARIM.stream",873 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KADARIM.stream/playlist.m3u8"},874 {"id": 330, "name": "KAREYNAAMANSOUTH", "title": "כרי נעמן דרום",875 "image_file": r"http://iroads.bvtech.co.il/upfiles/KAREYNAAMANSOUTH/KAREYNAAMANSOUTH.PNG",876 "details": "22",877 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",878 "app_instance": "_definst_",879 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,880 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KAREYNAAMANSOUTH.stream",881 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KAREYNAAMANSOUTH.stream/playlist.m3u8"},882 {"id": 336, "name": "KFARHROE", "title": "כפר הרואה",883 "image_file": r"http://iroads.bvtech.co.il/upfiles/KFARHROE/KFARHAROE.PNG", "details": "4",884 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",885 "app_instance": "_definst_",886 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,887 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KFARHROE.stream",888 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KFARHROE.stream/playlist.m3u8"},889 {"id": 339, "name": "KFARTAVOR", "title": "כפר תבור",890 "image_file": r"http://iroads.bvtech.co.il/upfiles/KFARTAVOR/KFARTAVOR.PNG", "details": "65",891 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",892 "app_instance": "_definst_",893 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,894 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KFARTAVOR.stream",895 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KFARTAVOR.stream/playlist.m3u8"},896 {"id": 340, "name": "KIRYATATASOUTH", "title": "קרית אתא דרום",897 "image_file": r"http://iroads.bvtech.co.il/upfiles/KIRYATATASOUTH/KIRYATATASOUTH.PNG",898 "details": "22",899 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",900 "app_instance": "_definst_",901 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,902 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KIRYATATASOUTH.stream",903 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KIRYATATASOUTH.stream/playlist.m3u8"},904 {"id": 344, "name": "MAAGANMICHAEL", "title": "מעגן מיכאל",905 "image_file": r"http://iroads.bvtech.co.il/upfiles/MAAGANMICHAEL/MAAGANMICHAEL.PNG", "details": "2",906 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",907 "app_instance": "_definst_",908 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,909 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MAAGANMICHAEL.stream",910 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MAAGANMICHAEL.stream/playlist.m3u8"},911 {"id": 345, "name": "MAHANAIM", "title": "מחניים",912 "image_file": r"http://iroads.bvtech.co.il/upfiles/MAHANAIM/MAHANAIM.PNG", "details": "90",913 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",914 "app_instance": "_definst_",915 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,916 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MAHANAIM.stream",917 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MAHANAIM.stream/playlist.m3u8"},918 {"id": 348, "name": "MASRIK", "title": "מסריק",919 "image_file": r"http://iroads.bvtech.co.il/upfiles/MASRIK/MASRIK.PNG", "details": "4",920 "host_ip": None,921 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",922 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,923 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MASRIK.stream",924 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MASRIK.stream/playlist.m3u8"},925 {"id": 349, "name": "MATZLIH", "title": "מצליח",926 "image_file": r"http://iroads.bvtech.co.il/upfiles/MATZLIH/MATZLIH.PNG", "details": "40",927 "host_ip": None,928 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",929 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,930 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MATZLIH.stream",931 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MATZLIH.stream/playlist.m3u8"},932 {"id": 355, "name": "MODIININDUSTRY", "title": "א.ת. מודיעין",933 "image_file": r"http://iroads.bvtech.co.il/upfiles/MODIININDUSTRY/MODIININDUSTRY.PNG",934 "details": "443",935 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",936 "app_instance": "_definst_",937 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,938 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MODIININDUSTRY.stream",939 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MODIININDUSTRY.stream/playlist.m3u8"},940 {"id": 356, "name": "MORAN", "title": "מורן",941 "image_file": r"http://iroads.bvtech.co.il/upfiles/MORAN/MORAN.PNG", "details": "85", "host_ip": None,942 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",943 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,944 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/MORAN.stream",945 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/MORAN.stream/playlist.m3u8"},946 {"id": 358, "name": "NAHALHADERA", "title": "נחל חדרה",947 "image_file": r"http://iroads.bvtech.co.il/upfiles/NAHALHADERA/NAHALHADERA.PNG", "details": "4",948 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",949 "app_instance": "_definst_",950 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,951 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NAHALHADERA.stream",952 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NAHALHADERA.stream/playlist.m3u8"},953 {"id": 364, "name": "NAMALASHDOD", "title": "נמל אשדוד",954 "image_file": r"http://iroads.bvtech.co.il/upfiles/NAMALASHDOD/NAMALASHDOD.PNG", "details": "41",955 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",956 "app_instance": "_definst_",957 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,958 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NAMALASHDOD.stream",959 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NAMALASHDOD.stream/playlist.m3u8"},960 {"id": 366, "name": "NatzratGovernmenttCenter", "title": "נצרת קרית הממשלה",961 "image_file": r"http://iroads.bvtech.co.il/upfiles/NatzratGovernmenttCenter/NatzratGovernmenttCenter.PNG",962 "details": "75", "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",963 "app_instance": "_definst_", "is_recording": 0, "start_recording": "0000-00-00 00:00:00",964 "server_name": None,965 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/NatzratGovernmenttCenter.stream",966 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/NatzratGovernmenttCenter.stream/playlist.m3u8"},967 {"id": 371, "name": "OHALIM", "title": "אהלים",968 "image_file": r"http://iroads.bvtech.co.il/upfiles/OHALIM/OHALIM.PNG", "details": "40",969 "host_ip": None,970 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",971 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,972 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/OHALIM.stream",973 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/OHALIM.stream/playlist.m3u8"},974 {"id": 373, "name": "PALYAM", "title": "פל ים",975 "image_file": r"http://iroads.bvtech.co.il/upfiles/PALYAM/PALYAM.PNG", "details": "4",976 "host_ip": None,977 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",978 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,979 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/PALYAM.stream",980 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/PALYAM.stream/playlist.m3u8"},981 {"id": 374, "name": "PARDASIA", "title": "פרדסיה",982 "image_file": r"http://iroads.bvtech.co.il/upfiles/PARDASIA/PARDASIA.PNG", "details": "4",983 "host_ip": None,984 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",985 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,986 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/PARDASIA.stream",987 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/PARDASIA.stream/playlist.m3u8"},988 {"id": 375, "name": "PARKAFEK", "title": "פארק אפק",989 "image_file": r"http://iroads.bvtech.co.il/upfiles/PARKAFEK/PARKAFEK.PNG", "details": "5",990 "host_ip": None,991 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",992 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,993 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/PARKAFEK.stream",994 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/PARKAFEK.stream/playlist.m3u8"},995 {"id": 377, "name": "REGBA", "title": "רגבה",996 "image_file": r"http://iroads.bvtech.co.il/upfiles/REGBA/REGBA.PNG", "details": "4", "host_ip": None,997 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",998 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,999 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/REGBA.stream",1000 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/REGBA.stream/playlist.m3u8"},1001 {"id": 378, "name": "REHOVOTWAST", "title": "רחובות מערב",1002 "image_file": r"http://iroads.bvtech.co.il/upfiles/REHOVOTWAST/REHOVOTWAST.PNG", "details": "42",1003 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1004 "app_instance": "_definst_",1005 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1006 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/REHOVOTWAST.stream",1007 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/REHOVOTWAST.stream/playlist.m3u8"},1008 {"id": 379, "name": "RINATYA", "title": "רינתיה",1009 "image_file": r"http://iroads.bvtech.co.il/upfiles/RINATYA/RINATYA.PNG", "details": "40",1010 "host_ip": None,1011 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1012 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1013 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/RINATYA.stream",1014 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/RINATYA.stream/playlist.m3u8"},1015 {"id": 382, "name": "SARA", "title": "שרה",1016 "image_file": r"http://iroads.bvtech.co.il/upfiles/SARA/SARA.PNG", "details": "25", "host_ip": None,1017 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1018 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1019 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SARA.stream",1020 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SARA.stream/playlist.m3u8"},1021 {"id": 384, "name": "SAVION", "title": "סביון",1022 "image_file": r"http://iroads.bvtech.co.il/upfiles/SAVION/SAVION.PNG", "details": "461",1023 "host_ip": None,1024 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1025 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1026 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SAVION.stream",1027 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SAVION.stream/playlist.m3u8"},1028 {"id": 385, "name": "SGULA", "title": "סגולה",1029 "image_file": r"http://iroads.bvtech.co.il/upfiles/SGULA/SGULA.PNG", "details": "40", "host_ip": None,1030 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1031 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1032 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SGULA.stream",1033 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SGULA.stream/playlist.m3u8"},1034 {"id": 387, "name": "SHAARHANEGEV", "title": "שער הנגב",1035 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHAARHANEGEV/SHAARHANEGEV.PNG", "details": "34",1036 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1037 "app_instance": "_definst_",1038 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1039 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHAARHANEGEV.stream",1040 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHAARHANEGEV.stream/playlist.m3u8"},1041 {"id": 388, "name": "SHAARIYA", "title": "שעריה",1042 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHAARIYA/SHAARIYA.PNG", "details": "40",1043 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1044 "app_instance": "_definst_",1045 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1046 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHAARIYA.stream",1047 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHAARIYA.stream/playlist.m3u8"},1048 {"id": 389, "name": "SHFAIM", "title": "שפיים",1049 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHFAIM/SHEFAIM.PNG", "details": "2",1050 "host_ip": None,1051 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1052 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1053 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHFAIM.stream",1054 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHFAIM.stream/playlist.m3u8"},1055 {"id": 390, "name": "SHOKET", "title": "שוקת",1056 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHOKET/SHOKET.PNG", "details": "31",1057 "host_ip": None,1058 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1059 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1060 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHOKET.stream",1061 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHOKET.stream/playlist.m3u8"},1062 {"id": 391, "name": "SILVER", "title": "סילבר",1063 "image_file": r"http://iroads.bvtech.co.il/upfiles/SILVER/SILVER.PNG", "details": "3",1064 "host_ip": None,1065 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1066 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1067 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SILVER.stream",1068 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SILVER.stream/playlist.m3u8"},1069 {"id": 392, "name": "SIRKIN", "title": "סירקין",1070 "image_file": r"http://iroads.bvtech.co.il/upfiles/SIRKIN/SIRKIN.PNG", "details": "40",1071 "host_ip": None,1072 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1073 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1074 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SIRKIN.stream",1075 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SIRKIN.stream/playlist.m3u8"},1076 {"id": 394, "name": "TAABURA", "title": "תעבורה",1077 "image_file": r"http://iroads.bvtech.co.il/upfiles/TAABURA/TAABURA.PNG", "details": "44",1078 "host_ip": None,1079 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1080 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1081 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TAABURA.stream",1082 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TAABURA.stream/playlist.m3u8"},1083 {"id": 395, "name": "TCHERNIKHOVSKY", "title": "טשרניחובסקי כפר סבא",1084 "image_file": r"http://iroads.bvtech.co.il/upfiles/TCHERNIKHOVSKY/TCHERNIKHOVSKY.PNG",1085 "details": "402",1086 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1087 "app_instance": "_definst_",1088 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1089 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TCHERNIKHOVSKY.stream",1090 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TCHERNIKHOVSKY.stream/playlist.m3u8"},1091 {"id": 396, "name": "TELARAD", "title": "תל ערד",1092 "image_file": r"http://iroads.bvtech.co.il/upfiles/TELARAD/TELARAD.PNG", "details": "31",1093 "host_ip": None,1094 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1095 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1096 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/TELARAD.stream",1097 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/TELARAD.stream/playlist.m3u8"},1098 {"id": 398, "name": "UMELFAHEM", "title": "אום אל פאחם",1099 "image_file": r"http://iroads.bvtech.co.il/upfiles/UMELFAHEM/UMELFAHEM.PNG", "details": "65",1100 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1101 "app_instance": "_definst_",1102 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1103 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/UMELFAHEM.stream",1104 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/UMELFAHEM.stream/playlist.m3u8"},1105 {"id": 399, "name": "YAARHEDERA", "title": "יער חדרה",1106 "image_file": r"http://iroads.bvtech.co.il/upfiles/YAARHEDERA/yaarhadera.png", "details": "4",1107 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1108 "app_instance": "_definst_",1109 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1110 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YAARHEDERA.stream",1111 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YAARHEDERA.stream/playlist.m3u8"},1112 {"id": 400, "name": "YADMORDEHI", "title": "יד מרדכי",1113 "image_file": r"http://iroads.bvtech.co.il/upfiles/YADMORDEHI/YADMORDEHI.PNG", "details": "4",1114 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1115 "app_instance": "_definst_",1116 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1117 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YADMORDEHI.stream",1118 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YADMORDEHI.stream/playlist.m3u8"},1119 {"id": 402, "name": "YARKON", "title": "ירקון",1120 "image_file": r"http://iroads.bvtech.co.il/upfiles/YARKON/YARKON.PNG", "details": "5",1121 "host_ip": None,1122 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1123 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1124 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YARKON.stream",1125 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YARKON.stream/playlist.m3u8"},1126 {"id": 403, "name": "YASIF", "title": "יאסיף",1127 "image_file": r"http://iroads.bvtech.co.il/upfiles/YASIF/YASIF.PNG", "details": "70", "host_ip": None,1128 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1129 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1130 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YASIF.stream",1131 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YASIF.stream/playlist.m3u8"},1132 {"id": 404, "name": "YAVNE", "title": "יבנה",1133 "image_file": r"http://iroads.bvtech.co.il/upfiles/YAVNE/YAVNE.PNG", "details": "4", "host_ip": None,1134 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1135 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1136 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/YAVNE.stream",1137 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/YAVNE.stream/playlist.m3u8"},1138 {"id": 406, "name": "ALFEIMENASHE", "title": "אלפי מנשה",1139 "image_file": r"http://iroads.bvtech.co.il/upfiles/ALFEIMENASHE/ALFEIMENASHE.PNG", "details": "55",1140 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1141 "app_instance": "_definst_",1142 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1143 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ALFEIMENASHE.stream",1144 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ALFEIMENASHE.stream/playlist.m3u8"},1145 {"id": 407, "name": "KOKHAVYAIR", "title": "כוכב יאיר",1146 "image_file": r"http://iroads.bvtech.co.il/upfiles/KOKHAVYAIR/kokhavyair.png", "details": "444",1147 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1148 "app_instance": "_definst_",1149 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1150 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KOKHAVYAIR.stream",1151 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KOKHAVYAIR.stream/playlist.m3u8"},1152 {"id": 409, "name": "BIALIKHADERA", "title": "ביאליק חדרה",1153 "image_file": r"http://iroads.bvtech.co.il/upfiles/BIALIKHADERA/BIALIKHADERA.PNG", "details": "4",1154 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1155 "app_instance": "_definst_",1156 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1157 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/BIALIKHADERA.stream",1158 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/BIALIKHADERA.stream/playlist.m3u8"},1159 {"id": 410, "name": "DAVRAT", "title": "דברת",1160 "image_file": r"http://iroads.bvtech.co.il/upfiles/DAVRAT/DAVRAT.PNG", "details": "65",1161 "host_ip": None,1162 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1163 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1164 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/DAVRAT.stream",1165 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/DAVRAT.stream/playlist.m3u8"},1166 {"id": 411, "name": "HASARGEL", "title": "הסרגל",1167 "image_file": r"http://iroads.bvtech.co.il/upfiles/HASARGEL/HASARGEL.PNG", "details": "65",1168 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1169 "app_instance": "_definst_",1170 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1171 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/HASARGEL.stream",1172 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/HASARGEL.stream/playlist.m3u8"},1173 {"id": 412, "name": "KFRAKARA", "title": "כפר קרע",1174 "image_file": r"http://iroads.bvtech.co.il/upfiles/KFRAKARA/KFARKARA.PNG", "details": "65",1175 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1176 "app_instance": "_definst_",1177 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1178 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KFRAKARA.stream",1179 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KFRAKARA.stream/playlist.m3u8"},1180 {"id": 415, "name": "ARARA", "title": "ערערה",1181 "image_file": r"http://iroads.bvtech.co.il/upfiles/ARARA/ARARA.PNG", "details": "65", "host_ip": None,1182 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1183 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1184 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/ARARA.stream",1185 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/ARARA.stream/playlist.m3u8"},1186 {"id": 419, "name": "SHFEYAH", "title": "שפיה",1187 "image_file": r"http://iroads.bvtech.co.il/upfiles/SHFEYAH/SHFEYAH.PNG", "details": "70",1188 "host_ip": None,1189 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1190 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1191 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/SHFEYAH.stream",1192 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/SHFEYAH.stream/playlist.m3u8"},1193 {"id": 421, "name": "EMHAMOSHAVOT", "title": "אם המושבות",1194 "image_file": r"http://iroads.bvtech.co.il/upfiles/EMHAMOSHAVOT/EMHMOSHAVOT.PNG", "details": "4",1195 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1196 "app_instance": "_definst_",1197 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1198 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/EMHAMOSHAVOT.stream",1199 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/EMHAMOSHAVOT.stream/playlist.m3u8"},1200 {"id": 422, "name": "EINHAMIFRTZ", "title": "עין המפרץ",1201 "image_file": r"http://iroads.bvtech.co.il/upfiles/EINHAMIFRTZ/EINHMIFRTZ.PNG", "details": "4",1202 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1203 "app_instance": "_definst_",1204 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1205 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/EINHAMIFRTZ.stream",1206 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/EINHAMIFRTZ.stream/playlist.m3u8"},1207 {"id": 425, "name": "LAPID", "title": "לפיד",1208 "image_file": r"http://iroads.bvtech.co.il/upfiles/LAPID/LAPID.PNG", "details": "446",1209 "host_ip": None,1210 "global_url": "", "server_ip": "10.34.151.3", "app_name": "live", "app_instance": "_definst_",1211 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1212 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/LAPID.stream",1213 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/LAPID.stream/playlist.m3u8"},1214 {"id": 426, "name": "KARMIELCENTER", "title": "כרמיאל מרכז",1215 "image_file": r"http://iroads.bvtech.co.il/upfiles/KARMIELCENTER/KARMIELTEFEN.PNG", "details": "85",1216 "host_ip": None, "global_url": "", "server_ip": "10.34.151.3", "app_name": "live",1217 "app_instance": "_definst_",1218 "is_recording": 0, "start_recording": "0000-00-00 00:00:00", "server_name": None,1219 "player_url_web": "rtmps://5c328052cb7f5.streamlock.net/live/KARMIELCENTER.stream",1220 "player_url_ios": "https://5c328052cb7f5.streamlock.net/live/KARMIELCENTER.stream/playlist.m3u8"}]1221 _data = sorted(_data, key=lambda d: d['id'])1222 # _all_cameras = [CameraInfo(i, d['id'], d['name'], d['title'], d['player_url_web'], d['image_file']) for i, d in1223 # enumerate(_data)]1224 _all_cameras = [CameraInfo(i, d['id'], d['name'], d['title'], d['player_url_ios'], d['image_file']) for i, d in1225 enumerate(_data)]1226 df_cameras = pd.DataFrame(_all_cameras).sort_values(col_id).reset_index(drop=True).set_index(col_index)...

Full Screen

Full Screen

recorder_test.py

Source:recorder_test.py Github

copy

Full Screen

...29 self.assertEqual(False, self._recorder.is_recording())30 def test_getRecordingPatternIdAfterInit_returnsNone(self):31 self.assertEqual(None, self._recorder.get_recording_pattern_id())32 def test_isRecordingWhileAfterStopped_returnsFalse(self):33 self._recorder.start_recording('even')34 self._feed_even_pattern(1000)35 self._recorder.stop_recording()36 self.assertEqual(False, self._recorder.is_recording())37 def test_getRecordingPatternIdAfterStopped_returnsNone(self):38 self._recorder.start_recording('even')39 self._feed_even_pattern(1000)40 self._recorder.stop_recording()41 self.assertEqual(None, self._recorder.get_recording_pattern_id())42 def test_isRecordingAfterStart_returnsTrue(self):43 self._recorder.start_recording('even')44 self.assertEqual(True, self._recorder.is_recording())45 def test_getRecordingPatternAfterStart_returnsId(self):46 self._recorder.start_recording('even')47 self.assertEqual('even', self._recorder.get_recording_pattern_id())48 def test_playWithNoRecording_playbackReturnsFalse(self):49 self._feed_even_pattern(1000)50 self.assertFalse(self._recorder.play('non-existent-id'))51 self.assertFalse(self._recorder.play('non-existent-id', loop=True))52 self.assertEqual([], self._data_played)53 def test_recordAndPlayNonexistentPattern_noPlaybackOnDifferentPattern(self):54 self._recorder.start_recording('even')55 self._feed_even_pattern(1000)56 self._recorder.stop_recording()57 self.assertFalse(self._recorder.play('non-existent-id'))58 self.assertFalse(self._recorder.play('non-existent-id', loop=True))59 self.assertEqual([], self._data_played)60 def test_playRecordedPattern_playbackPlaysOnce(self):61 self._recorder.start_recording('even')62 self._feed_even_pattern(1000)63 self._recorder.stop_recording()64 self._feed_odd_pattern(6000)65 result = self._recorder.play('even')66 self.assertEqual(True, result)67 # Make sure notes are played back correctly in time.68 history = []69 self._scheduler.idle()70 history.append(self._data_played[:])71 for _ in range(6):72 # Each step is 1 second73 self._clock.advance(1)74 self._scheduler.idle()75 history.append(self._data_played[:])76 self.assertEqual([77 [0, 10], # Before loop, first idle call78 [0, 10, 2, 12], # Loop 079 [0, 10, 2, 12, 4, 14],80 [0, 10, 2, 12, 4, 14, 6, 16],81 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # No new notes expected after.82 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],83 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18]],84 history)85 def test_playRecordedPatternWithLoop_playbackLoops(self):86 self._recorder.start_recording('even')87 self._feed_even_pattern(1000)88 self._recorder.stop_recording()89 self._feed_odd_pattern(6000)90 result = self._recorder.play('even', loop=True, loop_delay_ms=0)91 self.assertEqual(True, result)92 # Make sure notes are played back correctly in time.93 history = []94 self._scheduler.idle()95 history.append(self._data_played[:])96 for _ in range(6):97 # Each step is 1 second98 self._clock.advance(1)99 self._scheduler.idle()100 history.append(self._data_played[:])101 self.assertEqual([102 [0, 10], # Before loop, first idle call103 [0, 10, 2, 12], # Loop 0104 [0, 10, 2, 12, 4, 14],105 [0, 10, 2, 12, 4, 14, 6, 16],106 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10], # no loop delay107 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12],108 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14]],109 history)110 def test_playRecordedPatternWithLoopAndLoopDelay_playLoopsWithDelay(self):111 self._recorder.start_recording('even')112 self._feed_even_pattern(1000)113 self._recorder.stop_recording()114 self._feed_odd_pattern(6000)115 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)116 self.assertEqual(True, result)117 # Make sure notes are played back correctly in time.118 history = []119 self._scheduler.idle()120 history.append(self._data_played[:])121 for _ in range(6):122 # Each step is 1 second123 self._clock.advance(1)124 self._scheduler.idle()125 history.append(self._data_played[:])126 self.assertEqual([127 [0, 10], # Before loop, first idle call128 [0, 10, 2, 12], # Loop 0129 [0, 10, 2, 12, 4, 14],130 [0, 10, 2, 12, 4, 14, 6, 16],131 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay132 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],133 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12]],134 history)135 def test_playMultipleRecordedPattern_playbackWorks(self):136 self._recorder.start_recording('even')137 self._feed_even_pattern(1000)138 self._recorder.stop_recording()139 self._recorder.start_recording('odd')140 self._feed_odd_pattern(6000)141 self._recorder.stop_recording()142 result = self._recorder.play('even')143 self.assertEqual(True, result)144 result = self._recorder.play('odd')145 self.assertEqual(True, result)146 # Make sure notes are played back correctly in time.147 history = []148 self._scheduler.idle()149 history.append(self._data_played[:])150 for _ in range(6):151 # Each step is 1 second152 self._clock.advance(1)153 self._scheduler.idle()154 history.append(self._data_played[:])155 # The notes will be jumbled, so we need to filter them out by even and156 # odds and compare157 even_history = [[v for v in data if v % 2 == 0] for data in history]158 odd_history = [[v for v in data if v % 2 == 1] for data in history]159 self.assertEqual([160 [0, 10], # Before loop, first idle call161 [0, 10, 2, 12], # Loop 0162 [0, 10, 2, 12, 4, 14],163 [0, 10, 2, 12, 4, 14, 6, 16],164 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # No new notes expected after.165 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],166 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18]],167 even_history)168 self.assertEqual([169 [1, 11], # Before loop, first idle call170 [1, 11, 3, 13], # Loop 0171 [1, 11, 3, 13, 5, 15],172 [1, 11, 3, 13, 5, 15, 7, 17],173 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19], # No new notes expected after.174 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19],175 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19]],176 odd_history)177 def test_playMultiplePatternsOneLoops_oneLoopsAndOtherDoesnt(self):178 self._recorder.start_recording('even')179 self._feed_even_pattern(1000)180 self._recorder.stop_recording()181 self._recorder.start_recording('odd')182 self._feed_odd_pattern(6000)183 self._recorder.stop_recording()184 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)185 self.assertEqual(True, result)186 result = self._recorder.play('odd')187 self.assertEqual(True, result)188 # Make sure notes are played back correctly in time.189 history = []190 self._scheduler.idle()191 history.append(self._data_played[:])192 for _ in range(6):193 # Each step is 1 second194 self._clock.advance(1)195 self._scheduler.idle()196 history.append(self._data_played[:])197 # The notes will be jumbled, so we need to filter them out by even and198 # odds and compare199 even_history = [[v for v in data if v % 2 == 0] for data in history]200 odd_history = [[v for v in data if v % 2 == 1] for data in history]201 self.assertEqual([202 [0, 10], # Before loop, first idle call203 [0, 10, 2, 12], # Loop 0204 [0, 10, 2, 12, 4, 14],205 [0, 10, 2, 12, 4, 14, 6, 16],206 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay207 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],208 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12]],209 even_history)210 self.assertEqual([211 [1, 11], # Before loop, first idle call212 [1, 11, 3, 13], # Loop 0213 [1, 11, 3, 13, 5, 15],214 [1, 11, 3, 13, 5, 15, 7, 17],215 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19], # No new notes expected after.216 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19],217 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19]],218 odd_history)219 def test_stopWhilePlayRecordedPattern_successfullyStops(self):220 self._recorder.start_recording('even')221 self._feed_even_pattern(1000)222 self._recorder.stop_recording()223 self._feed_odd_pattern(6000)224 result = self._recorder.play('even')225 self.assertEqual(True, result)226 # Make sure notes are played back correctly in time.227 history = []228 self._scheduler.idle()229 history.append(self._data_played[:])230 for i in range(6):231 if i == 3:232 self._recorder.stop('even')233 # Each step is 1 second234 self._clock.advance(1)235 self._scheduler.idle()236 history.append(self._data_played[:])237 self.assertEqual([238 [0, 10], # Before loop, first idle call239 [0, 10, 2, 12], # Loop 0240 [0, 10, 2, 12, 4, 14],241 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. Stops before loop 3242 [0, 10, 2, 12, 4, 14, 6, 16],243 [0, 10, 2, 12, 4, 14, 6, 16],244 [0, 10, 2, 12, 4, 14, 6, 16]],245 history)246 def test_stopWhilePlayingMultipleRecordedPattern_stopsOneOtherPlays(self):247 self._recorder.start_recording('even')248 self._feed_even_pattern(1000)249 self._recorder.stop_recording()250 self._recorder.start_recording('odd')251 self._feed_odd_pattern(6000)252 self._recorder.stop_recording()253 result = self._recorder.play('even')254 self.assertEqual(True, result)255 result = self._recorder.play('odd')256 self.assertEqual(True, result)257 # Make sure notes are played back correctly in time.258 history = []259 self._scheduler.idle()260 history.append(self._data_played[:])261 for i in range(6):262 if i == 3:263 self._recorder.stop('even')264 # Each step is 1 second265 self._clock.advance(1)266 self._scheduler.idle()267 history.append(self._data_played[:])268 # The notes will be jumbled, so we need to filter them out by even and269 # odds and compare270 even_history = [[v for v in data if v % 2 == 0] for data in history]271 odd_history = [[v for v in data if v % 2 == 1] for data in history]272 # Even wil stop after loop 2273 self.assertEqual([274 [0, 10], # Before loop, first idle call275 [0, 10, 2, 12], # Loop 0276 [0, 10, 2, 12, 4, 14],277 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. Stopped after this.278 [0, 10, 2, 12, 4, 14, 6, 16],279 [0, 10, 2, 12, 4, 14, 6, 16],280 [0, 10, 2, 12, 4, 14, 6, 16]],281 even_history)282 self.assertEqual([283 [1, 11], # Before loop, first idle call284 [1, 11, 3, 13], # Loop 0285 [1, 11, 3, 13, 5, 15],286 [1, 11, 3, 13, 5, 15, 7, 17],287 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19], # No new notes expected after.288 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19],289 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19]],290 odd_history)291 def test_stopNonExistentPattern_noImpact(self):292 self._recorder.start_recording('even')293 self._feed_even_pattern(1000)294 self._recorder.stop_recording()295 self._recorder.start_recording('odd')296 self._feed_odd_pattern(6000)297 self._recorder.stop_recording()298 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)299 self.assertEqual(True, result)300 result = self._recorder.play('odd')301 self.assertEqual(True, result)302 # Make sure notes are played back correctly in time.303 history = []304 self._scheduler.idle()305 history.append(self._data_played[:])306 for _ in range(6):307 self._recorder.stop('non-existent-pattern')308 # Each step is 1 second309 self._clock.advance(1)310 self._scheduler.idle()311 history.append(self._data_played[:])312 # The notes will be jumbled, so we need to filter them out by even and313 # odds and compare314 even_history = [[v for v in data if v % 2 == 0] for data in history]315 odd_history = [[v for v in data if v % 2 == 1] for data in history]316 self.assertEqual([317 [0, 10], # Before loop, first idle call318 [0, 10, 2, 12], # Loop 0319 [0, 10, 2, 12, 4, 14],320 [0, 10, 2, 12, 4, 14, 6, 16],321 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay322 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],323 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12]],324 even_history)325 self.assertEqual([326 [1, 11], # Before loop, first idle call327 [1, 11, 3, 13], # Loop 0328 [1, 11, 3, 13, 5, 15],329 [1, 11, 3, 13, 5, 15, 7, 17],330 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19], # No new notes expected after.331 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19],332 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19]],333 odd_history)334 def test_stopAllWhileNotPlaying_noImpact(self):335 self._recorder.start_recording('even')336 self._feed_even_pattern(1000)337 self._recorder.stop_recording()338 self._recorder.stop_all()339 self._clock.advance(1)340 self._scheduler.idle()341 self.assertEqual([], self._data_played)342 def test_stopAllWhilePlayingMultiple_stopsAll(self):343 self._recorder.start_recording('even')344 self._feed_even_pattern(1000)345 self._recorder.stop_recording()346 self._recorder.start_recording('odd')347 self._feed_odd_pattern(6000)348 self._recorder.stop_recording()349 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)350 self.assertEqual(True, result)351 result = self._recorder.play('odd')352 self.assertEqual(True, result)353 # Make sure notes are played back correctly in time.354 history = []355 self._scheduler.idle()356 history.append(self._data_played[:])357 for i in range(6):358 if i == 3:359 self._recorder.stop_all()360 self._clock.advance(1)361 self._scheduler.idle()362 history.append(self._data_played[:])363 # The notes will be jumbled, so we need to filter them out by even and364 # odds and compare365 even_history = [[v for v in data if v % 2 == 0] for data in history]366 odd_history = [[v for v in data if v % 2 == 1] for data in history]367 self.assertEqual([368 [0, 10], # Before loop, first idle call369 [0, 10, 2, 12], # Loop 0370 [0, 10, 2, 12, 4, 14],371 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. Stopped after this.372 [0, 10, 2, 12, 4, 14, 6, 16],373 [0, 10, 2, 12, 4, 14, 6, 16],374 [0, 10, 2, 12, 4, 14, 6, 16]],375 even_history)376 self.assertEqual([377 [1, 11], # Before loop, first idle call378 [1, 11, 3, 13], # Loop 0379 [1, 11, 3, 13, 5, 15],380 [1, 11, 3, 13, 5, 15, 7, 17], # Loop 2. Stopped after this.381 [1, 11, 3, 13, 5, 15, 7, 17],382 [1, 11, 3, 13, 5, 15, 7, 17],383 [1, 11, 3, 13, 5, 15, 7, 17]],384 odd_history)385 def test_stopWhilePlayingLoop_stopsLoop(self):386 self._recorder.start_recording('even')387 self._feed_even_pattern(1000)388 self._recorder.stop_recording()389 self._feed_odd_pattern(6000)390 result = self._recorder.play('even', loop=True)391 self.assertEqual(True, result)392 # Make sure notes are played back correctly in time.393 history = []394 self._scheduler.idle()395 history.append(self._data_played[:])396 for i in range(6):397 if i == 3:398 self._recorder.stop('even')399 # Each step is 1 second400 self._clock.advance(1)401 self._scheduler.idle()402 history.append(self._data_played[:])403 self.assertEqual([404 [0, 10], # Before loop, first idle call405 [0, 10, 2, 12], # Loop 0406 [0, 10, 2, 12, 4, 14],407 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. Stops before loop 3408 [0, 10, 2, 12, 4, 14, 6, 16],409 [0, 10, 2, 12, 4, 14, 6, 16],410 [0, 10, 2, 12, 4, 14, 6, 16]],411 history)412 def test_cancelLoopWhenNotLooping_finishes(self):413 self._recorder.start_recording('even')414 self._feed_even_pattern(1000)415 self._recorder.stop_recording()416 self._feed_odd_pattern(6000)417 result = self._recorder.play('even')418 self.assertEqual(True, result)419 # Make sure notes are played back correctly in time.420 history = []421 self._scheduler.idle()422 history.append(self._data_played[:])423 for i in range(6):424 if i == 3:425 self._recorder.cancel_loop('even')426 # Each step is 1 second427 self._clock.advance(1)428 self._scheduler.idle()429 history.append(self._data_played[:])430 self.assertEqual([431 [0, 10], # Before loop, first idle call432 [0, 10, 2, 12], # Loop 0433 [0, 10, 2, 12, 4, 14],434 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. looping canceled.435 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],436 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],437 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18]],438 history)439 def test_cancelLoopWhileLooping_loopStopsButPlaybackFinishes(self):440 self._recorder.start_recording('even')441 self._feed_even_pattern(1000)442 self._recorder.stop_recording()443 self._feed_odd_pattern(6000)444 result = self._recorder.play('even', loop=True)445 self.assertEqual(True, result)446 # Make sure notes are played back correctly in time.447 history = []448 self._scheduler.idle()449 history.append(self._data_played[:])450 for i in range(6):451 if i == 3:452 self._recorder.cancel_loop('even')453 # Each step is 1 second454 self._clock.advance(1)455 self._scheduler.idle()456 history.append(self._data_played[:])457 self.assertEqual([458 [0, 10], # Before loop, first idle call459 [0, 10, 2, 12], # Loop 0460 [0, 10, 2, 12, 4, 14],461 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. looping canceled.462 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],463 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],464 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18]],465 history)466 def test_cancelNonexistentLoopDuringLoopPlayback_noImpact(self):467 self._recorder.start_recording('even')468 self._feed_even_pattern(1000)469 self._recorder.stop_recording()470 self._feed_odd_pattern(6000)471 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)472 self.assertEqual(True, result)473 # Make sure notes are played back correctly in time.474 history = []475 self._scheduler.idle()476 history.append(self._data_played[:])477 for i in range(6):478 if i == 3:479 self._recorder.cancel_loop('non-existent-id')480 # Each step is 1 second481 self._clock.advance(1)482 self._scheduler.idle()483 history.append(self._data_played[:])484 self.assertEqual([485 [0, 10], # Before loop, first idle call486 [0, 10, 2, 12], # Loop 0487 [0, 10, 2, 12, 4, 14],488 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. looping canceled.489 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],490 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],491 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12]],492 history)493 def test_cancelLoopWhilePlayingMultiple_stopsOneOtherLoops(self):494 self._recorder.start_recording('even')495 self._feed_even_pattern(1000)496 self._recorder.stop_recording()497 self._recorder.start_recording('odd')498 self._feed_odd_pattern(6000)499 self._recorder.stop_recording()500 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)501 self.assertEqual(True, result)502 result = self._recorder.play('odd', loop=True, loop_delay_ms=1000)503 self.assertEqual(True, result)504 # Make sure notes are played back correctly in time.505 history = []506 self._scheduler.idle()507 history.append(self._data_played[:])508 for i in range(6):509 if i == 3:510 self._recorder.cancel_loop('even')511 # Each step is 1 second512 self._clock.advance(1)513 self._scheduler.idle()514 history.append(self._data_played[:])515 # The notes will be jumbled, so we need to filter them out by even and516 # odds and compare517 even_history = [[v for v in data if v % 2 == 0] for data in history]518 odd_history = [[v for v in data if v % 2 == 1] for data in history]519 # Even wil stop after loop 2520 self.assertEqual([521 [0, 10], # Before loop, first idle call522 [0, 10, 2, 12], # Loop 0523 [0, 10, 2, 12, 4, 14],524 [0, 10, 2, 12, 4, 14, 6, 16], # Loop 2. Stopped after this.525 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],526 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18],527 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18]],528 even_history)529 self.assertEqual([530 [1, 11], # Before loop, first idle call531 [1, 11, 3, 13], # Loop 0532 [1, 11, 3, 13, 5, 15],533 [1, 11, 3, 13, 5, 15, 7, 17],534 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19],535 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19, 1, 11],536 [1, 11, 3, 13, 5, 15, 7, 17, 9, 19, 1, 11, 3, 13]],537 odd_history)538 def test_updateLoopDelayWhilePlaying_loopDelayUpdated(self):539 self._recorder.start_recording('even')540 self._feed_even_pattern(1000)541 self._recorder.stop_recording()542 self._feed_odd_pattern(6000)543 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)544 self.assertEqual(True, result)545 # Make sure notes are played back correctly in time.546 history = []547 self._scheduler.idle()548 history.append(self._data_played[:])549 for i in range(11):550 # Each step is 1 second551 if i == 4:552 self._recorder.set_loop_delay('even', 2000)553 self._clock.advance(1)554 self._scheduler.idle()555 history.append(self._data_played[:])556 self.assertEqual([557 [0, 10], # Before loop, first idle call558 [0, 10, 2, 12], # Loop 0559 [0, 10, 2, 12, 4, 14],560 [0, 10, 2, 12, 4, 14, 6, 16],561 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay562 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],563 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12],564 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14],565 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16],566 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16, 8,567 18],568 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16, 8,569 18], # Due to change in delay to 2 seconds570 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16, 8,571 18, 0, 10]],572 history)573 def test_whileLoopingCheckIsPlaying_shouldReturnTrue(self):574 self._recorder.start_recording('even')575 self._feed_even_pattern(1000)576 self._recorder.stop_recording()577 self._feed_odd_pattern(6000)578 self._recorder.play('even', loop=True, loop_delay_ms=1000)579 self.assertEqual(True, self._recorder.is_playing('even'))580 def test_whileLoopingCheckNonPlayingPattern_shouldReturnFalse(self):581 self._recorder.start_recording('even')582 self._feed_even_pattern(1000)583 self._recorder.stop_recording()584 self._feed_odd_pattern(6000)585 self._recorder.play('even', loop=True, loop_delay_ms=1000)586 self.assertEqual(False, self._recorder.is_playing('odd'))587 def test_whileNonLoopPlaybackCheckPlayingPattern_shouldReturnTrue(self):588 self._recorder.start_recording('even')589 self._feed_even_pattern(1000)590 self._recorder.stop_recording()591 self._feed_odd_pattern(6000)592 self._recorder.play('even', loop=False, loop_delay_ms=1000)593 self.assertEqual(True, self._recorder.is_playing('even'))594 def test_whileLoopPlaybackIsLoopingPlayingPattern_shouldReturnTrue(self):595 self._recorder.start_recording('even')596 self._feed_even_pattern(1000)597 self._recorder.stop_recording()598 self._feed_odd_pattern(6000)599 self._recorder.play('even', loop=True, loop_delay_ms=1000)600 self.assertEqual(True, self._recorder.is_looping('even'))601 def test_whileNonLoopPlaybackPlayingPattern_shouldReturnFalse(self):602 self._recorder.start_recording('even')603 self._feed_even_pattern(1000)604 self._recorder.stop_recording()605 self._feed_odd_pattern(6000)606 self._recorder.play('even', loop=False, loop_delay_ms=1000)607 self.assertEqual(False, self._recorder.is_looping('even'))608 def test_afterRecordingCheckValidPattern_shouldReturnTrue(self):609 self._recorder.start_recording('even')610 self._feed_even_pattern(1000)611 self._recorder.stop_recording()612 self.assertEqual(True, self._recorder.has_pattern('even'))613 def test_afterRecordingCheckInvalidPattern_shouldReturnFalse(self):614 self._recorder.start_recording('even')615 self._feed_even_pattern(1000)616 self._recorder.stop_recording()617 self.assertEqual(False, self._recorder.has_pattern('odd'))618 def test_recordingAnEmptyPatternCheckHasPattern_shouldReturnFalse(self):619 self._recorder.start_recording('even')620 self._recorder.stop_recording()621 self.assertEqual(False, self._recorder.has_pattern('even'))622 def test_playNoLoop_lastLoopingShouldBeNone(self):623 self._recorder.start_recording('even')624 self._feed_even_pattern(1000)625 self._recorder.stop_recording()626 self._feed_odd_pattern(6000)627 self._recorder.play('even', loop=False, loop_delay_ms=1000)628 self.assertEqual(None, self._recorder.get_last_looping_pattern_id())629 def test_playLoop_lastLoopingShouldBePattern(self):630 self._recorder.start_recording('even')631 self._feed_even_pattern(1000)632 self._recorder.stop_recording()633 self._feed_odd_pattern(6000)634 self._recorder.play('even', loop=True, loop_delay_ms=1000)635 self.assertEqual('even', self._recorder.get_last_looping_pattern_id())636 def test_playMultipleLoops_lastLoopingShouldBeLastLoopPattern(self):637 self._recorder.start_recording('even')638 self._feed_even_pattern(1000)639 self._recorder.stop_recording()640 self._recorder.start_recording('odd')641 self._feed_odd_pattern(1000)642 self._recorder.stop_recording()643 self._recorder.play('even', loop=True, loop_delay_ms=1000)644 self._recorder.play('odd', loop=True, loop_delay_ms=1000)645 self._recorder.play('adsf', loop=True, loop_delay_ms=1000)646 self.assertEqual('odd', self._recorder.get_last_looping_pattern_id())647 def test_overwritePatternWithEmptyPatternAndPlay_shouldNotPlay(self):648 self._recorder.start_recording('even')649 self._feed_even_pattern(1000)650 self._recorder.stop_recording()651 self._recorder.start_recording('even')652 self._recorder.stop_recording()653 self.assertEqual(False, self._recorder.play('even'))654 def test_updateLoopDelayStopAndRestartPlaying_loopDelayUpdated(self):655 self._recorder.start_recording('even')656 self._feed_even_pattern(1000)657 self._recorder.stop_recording()658 result = self._recorder.play('even', loop=True)659 self._recorder.set_loop_delay('even', 2000)660 self._recorder.stop_all()661 self._clock.advance(1)662 self._scheduler.idle()663 self._data_played = []664 result = self._recorder.play('even', loop=True)665 self.assertEqual(True, result)666 # Make sure notes are played back correctly in time.667 history = []668 self._scheduler.idle()669 history.append(self._data_played[:])670 for i in range(11):671 # Each step is 1 second672 self._clock.advance(1)673 self._scheduler.idle()674 history.append(self._data_played[:])675 self.assertEqual([676 [0, 10], # Before loop, first idle call677 [0, 10, 2, 12], # Loop 0678 [0, 10, 2, 12, 4, 14],679 [0, 10, 2, 12, 4, 14, 6, 16],680 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay681 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18], # w/ loop delay682 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10],683 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12],684 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14],685 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16],686 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16, 8,687 18],688 [0, 10, 2, 12, 4, 14, 6, 16, 8, 18, 0, 10, 2, 12, 4, 14, 6, 16, 8,689 18]],690 history)691 def test_callingPlayWhilePlaying_restartsPattern(self):692 self._recorder.start_recording('even')693 self._feed_even_pattern(1000)694 self._recorder.stop_recording()695 result = self._recorder.play('even', loop=True)696 self._clock.advance(2)697 self._scheduler.idle()698 result = self._recorder.play('even', loop=True, loop_delay_ms=1000)699 self.assertEqual(True, result)700 # Make sure notes are played back correctly in time.701 history = []702 self._scheduler.idle()703 history.append(self._data_played[:])704 for i in range(5):705 # Each step is 1 second706 self._clock.advance(1)...

Full Screen

Full Screen

continuous_record.py

Source:continuous_record.py Github

copy

Full Screen

1from rostk_plotting.transforms import *2from rostk_plotting.plotting_callbacks import PlottingCallbacks3from rostk_plotting.plotting_manager import PlottingManager, attribute_event, _parse_datatype_path, get_topic_from_msg, convert_topic_to_file_name4import cv25class ContinuousPlotting(PlottingManager, PlottingCallbacks):6 def __init__(self, topic_list, queue_size, slop_time):7 PlottingCallbacks.__init__(self)8 PlottingManager.__init__(self, topic_list, queue_size, slop_time, self)9 self.start_recording = False10 self.fourcc = cv2.VideoWriter_fourcc(*'MJPG')11 # maps a topic to an array of images to be saved later by the video writer12 self._topic_images_map = {}13 for topic_dict in topic_list:14 topics = list(topic_dict.keys())[0]15 self._topic_images_map[topics] = []16 rospy.loginfo("Made video array for {}".format(topics))17 self._video_written = False18 self._image_topic = None #can only set this inside the image callback function19 self._images = []20 def post_callback(self):21 # self.screen_cap_flag = False22 # save all stored data as video file23 pass24 def on_shutdown(self):25 if self._video_written:26 for topic, video_streams in self._topic_images_map.items():27 rospy.loginfo("Writing videos for topic: {}".format(topic))28 #get size of video to set the size of the video writer -> we assume the image sizes stay the same 29 first_image_size = video_streams[0].shape30 video_writer = cv2.VideoWriter(ContinuousPlotting.get_current_record_folder() + convert_topic_to_file_name(topic) + '.avi',31 self.fourcc, 20.0, (first_image_size[1],first_image_size[0]))32 for image in video_streams:33 video_writer.write(image)34 video_writer.release()35 def parse_command(self, command_string):36 if command_string == "start":37 rospy.loginfo("Starting video record")38 self.start_recording = True39 self._video_written = True40 if command_string == "stop":41 rospy.loginfo("Ending video record")42 self.start_recording = False43 @attribute_event("start_recording")44 def camera_info_callback(self, data):45 pass46 @attribute_event("start_recording")47 def image_callback(self, data):48 topic = get_topic_from_msg(data)49 rospy.loginfo("Topic {}".format((topic)))...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Airtest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful