2013-03-06 381 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查看單元測試,在那裏你可以學到很多東西。