2013-03-06 163 views
0

我需要从red5上的直播流中提取音频并分别进行流式传输。
关于带有rtmp模块的nginx我只是通过ffmpeg没有视频数据来重传这个流,但我不知道如何在Red5上做这样的事情(带或不带ffmpeg)。如何在Red5上从实况视频流中提取音频?

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

刚刚注册IStreamListeners您IClientStreams,然后从可视数据在RTMPEvents

分离AudioData但是,这不会有什么帮助。说实话,这根本没有帮助。什么是这些IStreamListeners,我如何在IClientStream上注册?

而且,更奇怪的是,如何在某些RTMPEvents中将AudioData与VideoData分开?

回答

1

这是怎么了你的扩展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查看单元测试,在那里你可以学到很多东西。