VideoFileClip在线读取video中的audio值

背景

想使用moviepy中的VideoFileClip读取video中的audio,并将audio的值读出。
网上多数方法都是先将读出的audio保存到本地,然后用torchaudio去读,如下:

from moviepy.editor import VideoFileClip
import torchaudio

video = VideoFileClip('xxx.mp4')
audio = video.audio
audio.write_audiofile('extracted_audio.wav', fps=16000)
waveform, sr = torchaudio.load('extracted_audio.wav')

我们想不保存到本地,直接在线读出audio的值。

方法

VideoFileClip对象的audio方法继承自AudioClip,AudioClip中有to_soundarray方法可以读出audio的array值。

from moviepy.editor import VideoFileClip
import torch

video = VideoFileClip('xxx.mp4')
audio = video.audio
audio = audio.set_fps(16000)
waveform = audio.to_soundarray()
waveform = torch.from_numpy(waveform)
waveform = waveform.T

可以验证,这种方式读出的值与使用torchaudio读取xxx.wav的值是一致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值