当前位置:AIGC资讯 > AIGC > 正文

基于Whisper语音识别的实时视频字幕生成 (一): 流式播放视频帧和音频帧

Whishow

一款基于python的音视频在线播放器

1. 安装

pip install whishow

2. 用法

示例 1: 简单上手

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

示例 2: 基于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)
    # init the whishow player, and connect the audio/video stream of stm.
    ply = PLAY()
    ply.init_state(start=0,
                    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=[])

    # thread-0: 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

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

    # thread-2: stream palyer
    def play():
        ply.run(show_subtitle=False)

    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. 联系我们

605686962@qq.com
coolEphemeroptera@gmail.com

更新时间 2024-05-26