制作语音数据集: 爬取B站音视频+基于whisper语音识别标注

本文以制作小学课堂音频数据集为例子

1. 搜索关键字获取音视频链接

python 复制代码
if __name__ == "__main__":
    
    with sync_playwright() as playwright:
        searcher = BLVideoSearch(playwright, headless=True)
        url = searcher.make_url(keyword=["小学公开课"])
        searcher.run(url, outfile="videos_url.txt")

得到链接列表

2. 批量下载和实时视频转音频

you-get: 根据链接下载视频文件

ffmpeg: 将视频实时转音频

subprocess: 通过子进程执行上述命令

2.1 多线程批量下载 (you-get)

you-get 子进程:

python 复制代码
command = [YOUGET, "-o", self.video_dir, "-O", utt, task]
                    subprocess.run(command, check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

2.2 实时视频转音频

ffmpeg 子进程:

python 复制代码
command = [FFMPEG, "-i", video_file, '-ac', '1', '-ar', '16000', audio_file]
                    subprocess.run(command, check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

下载视频文件信息如下:

最终保存为音频文件

3. 使用whisper进行断句和语音识别

相关推荐
qq_3106585120 小时前
webrtc代码走读(十七)-音频QOS-NetEQ
服务器·网络·c++·音视频·webrtc
weixin_462446231 天前
Python 使用 FFmpeg 给视频添加内嵌字幕(SRT)完整教程(含代码示例)
python·ffmpeg·音视频
txp玩Linux1 天前
rk3568上解析webrtc音频降噪算法处理流程
算法·音视频·webrtc
浅笑离愁12341 天前
VI视频输入模块学习
linux·音视频
EasyDSS2 天前
视频推拉流平台EasyDSS平台如何赋能无人机推流直播新纪元
音视频·无人机
nvd112 天前
niri 音频图形界面工具
前端·chrome·音视频
lqj_本人2 天前
鸿蒙Qt音频实战:解决QMediaPlayer的高延迟与杂音问题
qt·音视频·harmonyos
0***142 天前
JavaScript视频处理案例
开发语言·javascript·音视频
勇气要爆发2 天前
第三阶段:ExoPlayer进阶播放器
android·音视频·exoplayer
勇气要爆发2 天前
第二阶段:Android音视频基础
android·音视频