2013-03-06 2 views
0

Мне нужно извлечь аудио из живого потока на red5 и передать его отдельно.
На nginx с модулем rtmp я просто ретранслирую этот поток через ffmpeg без видеоданных, но я не знаю, как это сделать (с или без ffmpeg) на Red5.Как извлечь аудио из потокового видео на Red5?

Первая ссылка на Google дал мне это:

просто зарегистрироваться IStreamListeners на ваших IClientStreams, а затем отделить аудиоданные от видеоданными в RTMPEvents

Но это не помогает. Честно говоря, это совсем не помогает. Каковы эти IStreamListeners и как их зарегистрировать на IClientStream?

И, что более грязно, как я могу отделить аудиоданные от VideoData в некоторых RTMPEvents?

ответ

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, и там вы можете многому научиться.

Смежные вопросы