2012-04-15 7 views
4

Androidの携帯電話からRTMPを使用してビデオとオーディオをストリーミングする最良の方法を探しています。私はこの問題についていくつかの時間を費やしてきましたが、これまではFFMPEGを使ってビデオをストリーミングすることができました。 Android向けのライブラリを構築する方法はたくさんありますが、もう少し作業すればオーディオをストリーミングできるはずです。Androidの携帯電話からRTMPサーバーにオーディオとビデオをストリーミングする最も良い方法

私はh264でビデオをエンコードし、AACでオーディオをエンコードする必要があり、AndroidのMediaRecorderを使用すると非常に簡単にできます。だから私はAndroid用のRTMPライブラリを探し始めましたが、これはかなりうまくいくように思われるRed5 portが見つかりました。それを使用して私は非常に簡単に電話に格納されているビデオファイルをストリーミングすることができ、オーディオも動作しています。

私の質問は次のとおりです。AndroidのMediaRecorder出力をRTMPライブラリに接続する方法はありますか?私は、setOutputFile()でファイルを「偽造」し、RTMPエンコーディングメソッドにデータを送信する方法があると思いますが、それを行う方法を理解することはできません。

本当に手掛かりがあります。前もって感謝します。

+0

私は類似したアイテムを探しています。あなたはまだ手がかりを見つけましたか? – curioustechizen

答えて

3

あなたは、setOutputFile()でファイルの代わりにFileDescriptorにデータを書き込むことができます。

FileDescriptor fd = mLocalSender.getFileDescriptor(); 
mRecorder.setOutputFile(fd); 

ですので、データをソケットにストリーミングできます。このソケットからデータを取得するには、次のようになります。私はあなたのRTMPライブラリが動作しているかわからないが、私は思う

mLocalServer = new LocalServerSocket(LOCAL_SOCKET_ADDRESS); 

mLocalReceiver = new LocalSocket(); 
mLocalReceiver.connect(new LocalSocketAddress(LOCAL_SOCKET_ADDRESS)); 

mLocalSender = mLocalServer.accept(); 

if (mLocalReceiver != null) 
{ 
    mInputStream = mLocalReceiver.getInputStream(); 
} 

、ライブラリのいくつかのメソッドに入力ストリームを渡すことが可能であるべきです。

詳細についてはspydroid applicationをご覧ください。特別なストリーミングライブラリを使用せずにRTP経由でビデオをストリーミングするには、多くの便利なものが含まれています。

+0

ねえ、私はあなたの答えを完全に逃しました。ありがとう!私はすでにこのようなことに取り組んでいましたが、あなたの答えは大いに役立ちます。 – Simon

0

Red5メディアサーバーを使用している可能性があります。ストリーミングの目的で使用できる実例があります。

関連する問題