- audio_cmd = '-f lavfi -i anullsrc=channel_layout=%s:sample_rate=%d' % (names[audio_channels], audio_frame_rate)
- os.system('ffmpeg -t %f %s %s -shortest "%s"' % (float(video_length) / video_frame_rate, video_cmd, audio_cmd, path))
+ have_audio = True
+ print(f"audio_length={audio_length} frame_rate={audio_frame_rate}")
+ command(f'sox -n -r 48000 -c {audio_channels} audio.wav trim 0.0 {audio_length}s')
+ if have_video and have_audio:
+ command(f"ffmpeg -i video.mkv -i audio.wav {path}")
+ elif have_video:
+ shutil.move("video.mkv", path)
+ elif have_audio:
+ shutil.move("audio.wav", path)
+ try:
+ os.remove("video.mkv")
+ os.remove("audio.mkv")
+ except:
+ pass