Skip to content

coolEphemeroptera/Whishow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whishow

A python based online video streaming player

1. Install

pip install whishow

2. Usage

demo 1: Simple play

cmd:
    python -m whishow <video_path_or_url>
e.g. 
    python -m  whishow rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp

demo 2: Multithreading based stream processing and frame playback in Python

    from whishow import STREAM,PLAY
    import keyboard
    import threading

    # init the stream reader, named stm.
    stm = STREAM()
    stm.init_state(url=url,
                    cache_size=10*60,
                    video_frame_quality=50)
                    
    # init the whishow player, and connect the audio/video stream of stm.
    ply = PLAY()
    ply.init_state(chunk_size=1,
                video_frame_shift=20,
                audio_fps=stm.AUDIO_FPS,
                video_fps=stm.VIDEO_FPS,
                Q_audio_play=stm.Q_audio_play,
                Q_video_play=stm.Q_video_play,
                asr_results=[])

    # esc for exit
    def engine():
        while 1:
            if keyboard.is_pressed('esc'):
                print("exit ..")
                break
            time.sleep(0.1)
        stm.running = False
        ply.running = False

    # stream reader
    def stream():
        stm.read(video_dst_frame_size=video_dst_frame_size,
                is_play=True,
                is_asr=False)

    # stream palyer
    def play():
        ply.run()

    p0 = threading.Thread(target=engine,args=())
    p1 = threading.Thread(target=stream,args=())
    p2 = threading.Thread(target=play,args=())

    p0.start()
    p1.start()
    p2.start()

    p0.join()
    p1.join()
    p2.join()

3. Contact us

[email protected] [email protected]