如何在Python中使用ffmpeg从视频中录制前10秒的音频

6pp0gazn  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(269)

我有来自摄像头的RTSP流,它也有音频。我的目标是保存音频。要做到这一点,我有下面的代码:

import ffmpeg
ffmpeg.input("rtsp://john:<pwd>@192.168.10.111:5545/Streaming/Channels/291/").output("test.wav", map="0:a:0").run

当我终止Python脚本时,它保存test.wav文件,其中只有来自rtsp流的音频。现在我尝试将流中的前10秒保存到一个文件中,然后将下一个10秒保存到另一个文件中,然后继续保存直到终止。
为了做到这一点,我想到了把ffmpeg流放在一个单独的线程中,并安排该线程每10秒运行一次。这样,一个新的流将创建,它将保存音频10秒,然后退出,然后继续运行。但为了实现这一点,我需要知道如何从流中保存最初的10秒。

9nvpjoqh

9nvpjoqh1#

我已经使用下面的代码部分解决了这个问题:

import os
os.system("ffmpeg -i rtsp://john:<pwd>@192.168.10.111:5545/Streaming/Channels/291/ -q:a 0 -map a -t 10 test.wav")

这运行良好,并生成一个10秒的WAV音频文件。下一件事要看的是我如何能继续从RTSP生成10秒的音频文件。

相关问题