预定的ffmpeg函数给出了thread.error,并且还多次触发ffmpeg

时间:2016-02-16 18:20:47

标签: python ffmpeg

我想每小时录制一段无线电流。下面是我目前用来实现此目的的代码。

    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脚本也是如此。

0 个答案:

没有答案