游雁
2023-05-25 b18f7d121f2f17df8bf2d0c2bbb223bc5ddbcc0f
funasr/runtime/python/websocket/ws_client.py
@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
import os
import time
import websockets
import websockets,ssl
import asyncio
# import threading
import argparse
@@ -47,12 +47,17 @@
                    help="test_thread_num")
parser.add_argument("--words_max_print",
                    type=int,
                    default=100,
                    default=10000,
                    help="chunk")
parser.add_argument("--output_dir",
                    type=str,
                    default=None,
                    help="output_dir")
parser.add_argument("--ssl",
                    type=int,
                    default=1,
                    help="1 for ssl connect, 0 for no ssl")
args = parser.parse_args()
args.chunk_size = [int(x) for x in args.chunk_size.split(",")]
@@ -181,7 +186,7 @@
                ibest_writer["text"][wav_name] = text
            
            if meg["mode"] == "online":
                text_print += " {}".format(text)
                text_print += "{}".format(text)
                text_print = text_print[-args.words_max_print:]
                os.system('clear')
                print("\rpid"+str(id)+": "+text_print)
@@ -192,7 +197,7 @@
                print("\rpid"+str(id)+": "+text_print)
            else:
                if meg["mode"] == "2pass-online":
                    text_print_2pass_online += " {}".format(text)
                    text_print_2pass_online += "{}".format(text)
                    text_print = text_print_2pass_offline + text_print_2pass_online
                else:
                    text_print_2pass_online = ""
@@ -221,8 +226,16 @@
async def ws_client(id,chunk_begin,chunk_size):
    global websocket
    uri = "ws://{}:{}".format(args.host, args.port)
    async for websocket in websockets.connect(uri, subprotocols=["binary"], ping_interval=None):
    if  args.ssl==1:
       ssl_context = ssl.SSLContext()
       ssl_context.check_hostname = False
       ssl_context.verify_mode = ssl.CERT_NONE
       uri = "wss://{}:{}".format(args.host, args.port)
    else:
       uri = "ws://{}:{}".format(args.host, args.port)
       ssl_context=None
    print("connect to",uri)
    async for websocket in websockets.connect(uri, subprotocols=["binary"], ping_interval=None,ssl=ssl_context):
        if args.audio_in is not None:
            task = asyncio.create_task(record_from_scp(chunk_begin,chunk_size))
        else:
@@ -255,7 +268,8 @@
          chunk_size=int((total_len)/args.test_thread_num)
          remain_wavs=total_len-chunk_size*args.test_thread_num
     else:
          chunk_size=0
          chunk_size=1
          remain_wavs=0
     process_list = []
     chunk_begin=0