【问题标题】:Extract audio frames from live stream with FFMPEG使用 FFMPEG 从实时流中提取音频帧
【发布时间】:2021-07-02 07:38:54
【问题描述】:

我想对实时视频流执行实时语音活动检测和音频分析。

我目前使用 FFMPEG 提取音频:

ffmpeg -i https://example.com/live/stream.m3u8 -vn -c:a copy audio.aac

问题是 aac 文件只有在流完成后才有效。

如何输出音频流或音频块/帧(就像图像帧一样)以便我可以分析它们而无需等待视频流结束?

【问题讨论】:

  • 输出为不同的格式,例如 wav。

标签: audio ffmpeg live-streaming


【解决方案1】:

选项 1) 单个文件

如果您需要包含所有音频流的单个文件,您可以选择像 mp4 这样带有碎片的容器。

ffmpeg -i https://example.com/live/stream.m3u8 -vn -c:a aac -movflags frag_keyframe+empty_moov audio.mp4

frag_keyframe = 碎片输出 empty_moov = 输出将 100% 碎片化

选项 2) 多个文件

如果您更喜欢可以一一处理的小文件,请使用分段输出。

ffmpeg -i https://example.com/live/stream.m3u8 -vn -c:a aac -f segment -segment_time 5 audio%03d.aac

segment_time = 每 5 秒创建一个新文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2022-01-03
    • 2019-01-04
    相关资源
    最近更新 更多