我想每小时录制一段无线电流。下面是我目前用来实现此目的的代码。
def sched(): # schedules a recording every hour
def stream_record ():
timeinfo = datetime.now().strftime('%Y%m%d_%H%M_%S%f')
ffmpegEXE = "C:/path/to/ffmpeg.exe"
subprocess.call([ffmpegEXE, '-i', url, '-t', '00:07:00',
output_folder + timeinfo + '_' + str(start_minute) + 'url.mp3'], shell=True)
i = 0
while True:
x = datetime.today()
y=x.replace(day=x.day+1, hour=i, minute= start_minute, second=0, microsecond=0)
i = (i + 1) % 24
delta_t=y-x
secs=delta_t.seconds+1
t = Timer(secs,stream_record)
t.start()
sched()
有两件事情出错了。 (1)它将运行,但错误如下:
(模块)中的第X行
SCHED()
行中的Y行
t.start()
开始时的行Z
_start_new_thread(self .__ bootstrap,())
thread.error:无法启动新线程
并且(2)当它运行时,ffmpeg会将记录初始化为5-15次,当我只想保存一个时,可以保存很多片段。
如何修复这些错误并让ffmpeg每小时连接并记录一个剪辑?
我知道这是调度功能的问题; ffmpeg命令工作正常,调用它的python脚本也是如此。