如何使用 FFmpeg 和 OpenAI Whisper 转录 RTMP 流?

如何使用 FFmpeg 和 OpenAI Whisper 转录 RTMP 流?

我已经能够使用 FFmpeg 和 OpenAI Whisper 将音频文件转录为文本。

我想要做的是,不是使用预先录制的文件,而是将 RTMP 馈送至 FFmpeg 以便实时转录。

答案1

我曾成功这个脚本,这要求您拥有ffmpeginotifywaitwhisper安装:

ffmpeg -i STREAM_URL -f segment -segment_time 30 -strftime 1 %s.mp4 -v verbose 2>&1 |
  grep -Po --line-buffered "Opening '\K\d+" |
  xargs -I _ bash -c 'echo; date -d @_; inotifywait -qqe CLOSE _.mp4; whisper --model medium.en _.mp4'

ffmpeg命令将 30 秒的片段以 mp4 格式保存到当前目录,并以 Unix 时间戳命名。然后,它的输出将被过滤,以便在打开片段文件进行写入时打印调试消息。该命令将打印每个片段文件的打开时间,等待ffmpeg关闭它,然后调用whisper

相关内容