gpt4 book ai didi

java - 如何从 Red5 上的实时视频流中提取音频?

转载 作者:行者123 更新时间:2023-12-01 14:47:42 24 4
gpt4 key购买 nike

我需要从 red5 上的实时流中提取音频并单独进行流式传输。
在带有 rtmp 模块的 nginx 上,我只需通过 ffmpeg 重新翻译此流而无需视频数据,但我不知道如何执行类似的操作Red5 上的这个(有或没有 ffmpeg)。

谷歌上的第一个链接给了我这个:

just register IStreamListeners on your IClientStreams, and then separate AudioData from VideoData in the RTMPEvents

但这并没有多大帮助。老实说,这根本没有帮助。这些 IStreamListener 是什么?如何在 IClientStream 上注册它们?

还有,更神秘的是,如何在某些 RTMPEvent 中将 AudioData 与 VideoData 分开?

最佳答案

这就是扩展 RTMPClient 并捕获音频或视频事件的方式

private class TestClient extends RTMPClient {  private int audioCounter;  private int videoCounter;  public void connect() {    private IEventDispatcher streamEventDispatcher = new IEventDispatcher() {      public void dispatchEvent(IEvent event) {    System.out.println("ClientStream.dispachEvent()" + event.toString());    String evt = event.toString();    if (evt.indexOf("Audio") >= 0) {      audioCounter++;    } else if (evt.indexOf("Video") >= 0) {      videoCounter++;    }      }    };  }}

这只是对 A/V 事件进行计数,但它会帮助您完成其中的一部分。我建议查看 red5 中的单元测试,在那里你可以学到很多东西。

关于java - 如何从 Red5 上的实时视频流中提取音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15252016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com