web-dev-qa-db-ja.com

Androidカメラからサーバーへのストリーミングビデオ

サーバーからAndroidデバイスにビデオをストリーミングする方法についてはたくさんの情報を見ましたが、他の方法についてはそれほど多くありませんでした。誰かが私をここで正しい方向に向けさせたり、どうやってこれに近づくべきかについてアドバイスをもらえますか?

271
JCL

私はIPカメラにAndroid携帯電話を有効にするためにオープンソースプロジェクトをホストしました:

http://code.google.com/p/ipcamera-for-Android

生のビデオデータはLocalSocketから取得され、MP4のMDAT MOOVがストリーミングの前に最初にチェックされました。ライブビデオはFLV形式で圧縮されており、WebサーバーのビルドでFlashビデオプレーヤーを介して再生できます。

121
Zhou Chang

しばらく時間がかかりましたが、私はようやくそれを実現するアプリを作成しました。興味のある方はGoogleコードページをチェックしてください。 http://code.google.com/p/spydroid-ipcamera/ 私のコードの中のコメント(主に、CameraStreamer.Javaを見てください)、それでそれはかなり自明であるべきです。難しい部分は、実際にはRFC 3984を理解し、パケット化プロセスのために適切なアルゴリズムを実装することでした。 (rfcによると、このアルゴリズムは実際にMediaRecorderによって生成されたmpeg4/h.264ストリームをNice rtpストリームに変換します)

さようなら

69
Simon

私もこれを検討しています、そして、私はあなたのための良い解決策を持っていない間、私はSIPDroidのビデオコードを掘り下げることに成功しました:

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.Java

24
ObsidianX

私は Kickflip というオープンソースのSDKを作成して、Androidからのストリーミングビデオを簡単な体験にしています。

SDKは、Android 4.3の MediaCodec APIを使用してデバイスハードウェアエンコーダのパケットを直接FFmpegに転送する方法を示します。 RTMP (librtmpを使用)または HLS) H.264/AACのストリーミング。また、リアルタイムのOpenGL効果(タイトル、クロマキー、フェード)とバックグラウンドレコーディングも実演しています。

SOさん、特に fadden ありがとうございます。

19
dbro

これは、WebページへのAndroidカメラビデオのストリーミングに関する完全な記事です。

WebページへのAndroidストリーミングライブカメラビデオ

  1. Androidアプリで libstreaming を使用
  2. サーバー側 Wowza Media Engine はビデオストリームをデコードするために使用されます
  3. 最後に jWplayer はWebページ上でビデオを再生するために使用されます。
10
Minion

このリンクを使用して、モバイルから私のサーバーにライブカメラのビデオを送信することができます リンクを参照

上記のリンクを参照してください。このリンクのサンプルアプリケーションはこちらです。 RecordActivity.classにサービスのURLを設定するだけです。

例:ffmpeg_link = "rtmp:// yourserveripaddress:1935/live/venkat";

そのリンクを使ってH263とH264タイプのビデオを送信することができます。

5
Venkat

これはほとんど完全な答えではありませんが、webRTCはあなたが探しているものかもしれません。これが実際のwebRTCの簡単な例です。 http://www.webrtc.org/reference-apps

Android固有のコードが必要な場合は存在します。 http://www.webrtc.org/native-code/Android

3
theicfire

チェック やせ 図書館

YaseaはAndroidのストリーミングクライアントです。カメラとマイクからのYUVとPCMデータをH.264/AACにエンコードし、FLVにカプセル化してRTMPで送信します。

特徴:

  1. AndroidのミニAPI 16。
  2. H.264/AACハードエンコーディング。
  3. H.264ソフトエンコーディング。
  4. 状態コールバックハンドラを使用したRTMPストリーミング.
  5. 縦と横の動的方向.
  6. 前面と背面のカメラはホットスイッチします。
  7. ストリーミングしながらMP4に録画する。
1
Hamed.Ghadirian

Mux(私の会社)は オープンソースのAndroidアプリ を持っています。これはRTMPをサーバーにストリーミングします。これにはカメラとユーザーインタラクションの設定も含まれます。 MuxのライブストリーミングAPIにストリーミングするように設計されていますが、どのRTMPエントリポイントにも簡単にストリーミングできます。

0
heff