制作语音数据集: 爬取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进行断句和语音识别

相关推荐
mcu201821 小时前
3.5mm音频口对外输出的音量和电压测试
音视频
阿伟*rui21 小时前
互联网大厂Java面试:音视频场景技术攻防与系统设计深度解析
java·redis·websocket·面试·音视频·高并发·后端架构
Android系统攻城狮21 小时前
Android16音频之获取Track状态AudioTrack.getState:用法实例(一百二十九)
音视频·android16·音频进阶·track状态
kkk_皮蛋21 小时前
RTP 协议详解:WebRTC 音视频传输的基石
音视频·webrtc
音视频牛哥21 小时前
深度解析SmartPlayer:如何打造工业级Android RTSP/RTMP直播播放器
音视频·rtsp播放器·rtmp播放器·安卓超低延迟rtsp播放器·安卓超低延迟rtmp播放器·rtsp播放器安卓端·rtmp播放器安卓端
aqi001 天前
FFmpeg开发笔记(九十四)基于Kotlin的国产开源推拉流框架anyRTC
android·ffmpeg·kotlin·音视频·直播·流媒体
qq_310658511 天前
mediasoup源码走读(三)Node.js 控制面
c++·音视频
PixelMind1 天前
【超分辨率专题】FlashVSR:单步Diffusion的再次提速,实时视频超分不是梦!
深度学习·音视频·超分辨率·vsr
Blossom.1181 天前
基于多智能体强化学习的云资源调度系统:如何用MARL把ECS成本打下来60%
人工智能·python·学习·决策树·机器学习·stable diffusion·音视频
赖small强2 天前
【音视频开发】镜头畸变矫正 (LDC) 技术指南
音视频·ldc·广角镜头·桶形畸变