feat: use av instead of ffmpeg

This commit is contained in:
源文雨
2023-09-02 23:44:10 +08:00
parent 13a85ed928
commit c43df2ac72
4 changed files with 34 additions and 30 deletions

View File

@@ -8,6 +8,7 @@ import subprocess
import numpy as np
from scipy.io.wavfile import read
import torch
from av import open as avopen
MATPLOTLIB_FLAG = False
@@ -291,3 +292,18 @@ class HParams():
def __repr__(self):
return self.__dict__.__repr__()
def wav2(i, o, format):
inp = avopen(i, 'rb')
out = avopen(o, 'wb', format=format)
if format == "ogg": format = "libvorbis"
ostream = out.add_stream(format)
for frame in inp.decode(audio=0):
for p in ostream.encode(frame): out.mux(p)
for p in ostream.encode(None): out.mux(p)
out.close()
inp.close()