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


286

サーバーからAndroidデバイスにビデオをストリーミングする方法についてはたくさんの情報を見てきましたが、逆の方法についてはあまり詳しくありません。alaQikです。誰かが私をここで正しい方向に向けるか、これにどのように取り組むかについてアドバイスをくれますか?


9
これについても回答をお願いします。もう何か思いつきましたか?
ジェレミーホワイト

いいえ、ストリーミングをあきらめました。MediaRecorder APIを送信して送信するだけで十分でした。sipdroidコードをチェックアウトすることもできますが、動作しているようです。
JCL、2014年

ビデオコードはオンラインのSipdroidソースにありません:(
Donal Rafferty

1
ffmpegのコンポーネントをffserverで調べることができます。
Vinay

1
あなたにも興味があるかもしれない、これに関する質問があります。これは、ビデオキャプチャとコンテナ部分が完了したら、ビデオストリームを3g以上にプッシュすることに関するものです。bit.ly/vYpWGy
マイケル

回答:


123

AndroidフォンからIPカメラへの接続を可能にするオープンソースプロジェクトをホストしました。

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

生のビデオデータがLocalSocketからフェッチされ、MP4のMDAT MOOVがストリーミング前に最初にチェックされました。ライブビデオはFLV形式でパックされており、Webサーバーに組み込まれているFlashビデオプレーヤーを介して再生できます:)


26
「ソース」ボタンをクリックします。また、この男に反対票を投じた人は誰でもツールです。
ニコライ

3
java.lang.UnsatisfiedLinkError:teaonlyを読み込めませんでした:findLibraryがnullを返しました。誰かが解決策を持っている場合は、共有してください。ありがとう
anddev

1
@mpp:アプリにはNDKコードがあります。自分でコンパイルするか、「ダウンロード」の下にあるそのGoogle Codeプロジェクトにあるapkから.soファイルを取得できます。
Turnsole

1
java.lang.UnsatisfiedLinkErrorエラーも発生しています。そのエラーを削除する手順を簡単に説明してください。

1
UnsatisfiedLinkErrorを理解していない場合は、NDKでCコードをビルドする必要があります。簡単に言えば、実行しndk-buildます。詳細については、NDKのドキュメントをご覧ください。
Paul Lammertsma 2014年

70

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

バイバイ


2
どうもありがとう!現在、h264で正しく動作させることはできません。また、h263に変更することはできません(その方法を知る手がかりはありません)。とにかく、ありがとう!
Yotes 2012

1
私は同じを使用していますが、rtspを使用してAndroidでストリーミングする場合、ビデオを再生できなかったと表示されます。VideoViewを使用しています。手伝ってくれませんか?
Rohit Mandiwal

1
(これまでのところ、うまくいきます)Glassからのビデオのストリーミングに使用しています(少し作業/編集/構成を行った後)が、これまでのところ、Windowsベースのブラウザー(Chrome)からのみ接続できます。 vlcプラグイン。Android / iPadまたはその他のrtspプレーヤーのVLCはストリームを取得しません(それらの1つは見た目は良かったが、デバイス名に基づいてストリームを取得しようとしました。このコードは0として返されたため、検出できませんでした)。それでも、あなたのおかげでコーディングの1日後に結果を得ることができました。
MacD 2014

@MacDあなたは、spydroid-ipcameraコード(すべてのプロジェクトまたは一部のクラスのみ?教えていただけますか?)またはこのライブラリgithub.com/fyhertz/libstreamingをGoogle Glassでのストリーミングに使用していますか?どうもありがとう!!

こんにちはandroid studioでこのプロジェクトを実装する方法を説明していただけませんか。実行できません
utdev

24

私もこれを調べています。私にはあなたのための良い解決策はありませんが、私はなんとかSIPDroidのビデオコードを掘り下げることができました。

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


彼らがそこで行ったことは、RTPパケットを使用してサーバーにストリーミングすることです。さて、問題はサーバーで何が行われているのでしょうか。トランスコーディングとは何
ですか

いいえ、私はSIPDroidアプローチに行きませんでした。複雑すぎました。MJPEGServerで何かをしました
Azlam

19

私はKickflipと呼ばれるオープンソースSDKをビルドして、Androidからのストリーミングビデオを苦痛のない体験にしています。

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

SOに感謝し、特にfadden


HLS対応のクライアントにストリーミングできますか(サーバーのみではありません)?
4ntoine 2014

4
@dbro私はあなたのサービスについて学ぶことを試みます、しかし私があなたの価格を見ることができる前に私のログイン情報を要求します。まるでメールアドレスを集めているようなものです。それが意図しない場合は、価格情報を利用できるようにする必要があります。ParseやApp Engineなどの多くの方法と同じです。
学習者

ビデオカメラがキックフリップにビデオを送信してからAndroidフォンに送信することは可能ですか?どのタイプのビデオカメラがこれに適しているか
Lutaaya Huzaifah Idris

11

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

Android Streaming Live Camera Video to Web Page

  1. Androidアプリでlibstreamingを使用
  2. サーバー側では、Wowza Media Engineを使用してビデオストリームをデコードします
  3. 最後に、jWplayerを使用して、Webページでビデオを再生します。

これはクローズドソースコンポーネントを使用します。オープンソースの選択肢はありますか?
Raj

また、あなたが使用することができますwowzaメディアサーバーにAndroidデバイスからのライブストリーミングを行うために、私は私のプロジェクトでそれを使用し、このためJavaCVを使用することができgithub.com/begeekmyfriend/yasea
Chinthaka Devinda

libsストリーミングは無料ですか?
Akrramo 2018年

libstreamingのマイクではなく、サウンドカードデバイスを入力オーディオソースとして使用できますか?
user2980181

5

モバイルからサーバーにライブカメラビデオを送信できます。このリンク を使用してリンクを参照してください

上記のリンクを参照してください。そのリンクにはサンプルアプリケーションがあります。RecordActivity.classでサービスのURLを設定する必要があるだけです。

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

そのリンクを使用して、H263およびH264タイプのビデオを送信できます。


上記のリンクを使用してコードを使用しましたが、録音を開始することさえできませんでした。「ストリーミングするビデオがありません」という例外が発生します。これについて何か考えがありますか?
Akhilesh Sk 2014

上記のコードを使用して@AkhileshSkを実行すると、rtmp urlを介してサーバーにライブビデオを送信できます。録音用ではありません。ビデオを録画したい場合は、サーバー側で録画する必要があります。
Venkat

Hey @ Venkatは、カメラからAndroid電話にライブビデオを送信できますか
。Youtube

@LutaayaHuzaifahIdrisはい、可能です。私は以前これに取り組みました。
ベンカット2017

こんにちは@Venkat、これで私を助けてくれます、RecordActivity.classファイルが見つかりません
sanyam

3

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

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


リンクは存在しません。404を与える
シバン

1

Yaseaライブラリを確認する

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

特徴:

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

0

Mux(私の会社)には、カメラのセットアップやユーザーの操作など、RTMPをサーバーにストリーミングするオープンソースのAndroidアプリがあります。MuxのライブストリーミングAPIにストリーミングするように構築されていますが、任意のRTMPエントリポイントに簡単にストリーミングできます。


-7

予算によっては、サーバーに画像を送信できるRaspberry Piカメラを使用できます。ここに、より多くの詳細を見つけることができる2つのチュートリアルを追加します。

このチュートリアルでは、Raspberry Piカメラの使用方法と Androidデバイスでの画像の表示方法について説明します

これは、カメラとAndroidデバイス間のリアルタイムビデオストリーミングに関する一連のチュートリアルを見つけることができる2番目のチュートリアルです


コンテキスト外
Vikas Kandari
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.