def main(): default_log_config(debug=True) import logging log = logging.getLogger(__name__) try: if len(sys.argv) == 2: config = parse_conf(sys.argv[1]) else: config = parse_conf('ivt.yml') config = config_schema.validate(config) ivt = IVT( config['project'], config['login_code'], config['login_passwd'], config['keepalive_interval'], config['cameras'], preview_upload_server=config.get('preview_upload_server') ) # start port port = SubProcessPort( port_name=config['login_code'], port_type=RTSP_PORT_PROGRAM_NAME, log_file= RTSP_PORT_PROGRAM_NAME + '.log', ) port.start() # connect to IVC WSClientTransport.APP_FACTORY = ivt.ivt_session_factory url = config['ivc']+'?'+urllib.urlencode( { 'login_code': config['login_code'], 'login_passwd': config['login_passwd'], 'project': config['project'] } ) while True: try: client = WSClientTransport(url) client.connect() client.wait_close() time.sleep(10) except: log.exception("Client session closed") time.sleep(10) except Exception: log.exception('Failed to start IVT')
def main(): default_log_config(debug=True) import logging log = logging.getLogger(__name__) try: if len(sys.argv) == 2: config = parse_conf(sys.argv[1]) else: config = parse_conf('ivt.yml') config = config_schema.validate(config) ivt = IVT(config['project'], config['login_code'], config['login_passwd'], config['keepalive_interval'], config['cameras'], preview_upload_server=config.get('preview_upload_server')) # start port port = SubProcessPort( port_name=config['login_code'], port_type=RTSP_PORT_PROGRAM_NAME, log_file=RTSP_PORT_PROGRAM_NAME + '.log', ) port.start() # connect to IVC WSClientTransport.APP_FACTORY = ivt.ivt_session_factory url = config['ivc'] + '?' + urllib.urlencode( { 'login_code': config['login_code'], 'login_passwd': config['login_passwd'], 'project': config['project'] }) while True: try: client = WSClientTransport(url) client.connect() client.wait_close() time.sleep(10) except: log.exception("Client session closed") time.sleep(10) except Exception: log.exception('Failed to start IVT')
# -*- coding: utf-8 -*- from __future__ import unicode_literals, division from streamswitch.stream_mngr import create_stream from streamswitch.sources.rtsp_source import RTSP_SOURCE_TYPE_NAME from streamswitch.port_mngr import SubProcessPort from streamswitch.ports.rtsp_port import RTSP_PORT_PROGRAM_NAME from streamswitch.sender_mngr import create_sender from streamswitch.senders.native_ffmpeg_sender import NATIVE_FFMPEG_SENDER_TYPE_NAME src = create_stream(RTSP_SOURCE_TYPE_NAME, 'rs1', 'rtsp://192.168.2.100:554/user=admin&password=123456&id=1&type=1', log_file='src.log') port = SubProcessPort(port_name='tp', port_type=RTSP_PORT_PROGRAM_NAME) port.start() sender = sender = create_sender(NATIVE_FFMPEG_SENDER_TYPE_NAME, 'ts1', 'rtmp://121.41.72.231:11935/live/t1', log_file='sender.log', dest_format='flv', stream_name='rs1', extra_options={'vcodec': 'copy'})