web-dev-qa-db-ja.com

Android動画ストリーミングの例

プロジェクトにビデオストリーミングを実装したい。だから、動作するチュートリアルはありますか?ビデオはサーバー側に保存されます。そのため、URLを使用してビデオを取得し、Androidで再生します。いくつかの例を試しましたが、「申し訳ありませんが、このビデオは再生できません」というエラーが表示されました。 MP4を使用しようとしています。

21
user609239

私は同じ問題を抱えていましたが、ようやく道を見つけました。

ウォークスルーは次のとおりです。

1- VLCをコンピューターにインストールし(サーバー)、メディア->ストリーミング(Ctrl + S)に移動します

2-ストリーミングするファイルを選択するか、Webカメラをストリーミングする場合、または「デバイスのキャプチャ」タブをクリックして設定を行い、最後に「ストリーミング」ボタンをクリックします。

3-ここで、ストリーミングサーバーの設定を行う必要があります。[オプション]タブに移動して、次のコマンドを貼り付けます。

:sout=#transcode{vcodec=mp4v,vb=400,fps=10,width=176,height=144,acodec=mp4a,ab=32,channels=1,samplerate=22050}:rtp{sdp=rtsp://YOURCOMPUTER_SERVER_IP_ADDR:5544/}

注:YOURCOMPUTER_SERVER_IP_ADDRをコンピューターのIPアドレスまたはVLCを実行しているサーバーに置き換えます...

注:ご覧のように、ビデオコーデックはAndroidでサポートされているMP4Vです。

4- Eclipseに移動して、メディアplaybakの新しいプロジェクトを作成します。 VideoViewオブジェクトを作成し、OnCreate()関数で次のようなコードを記述します。

mVideoView = (VideoView) findViewById(R.id.surface_view);

mVideoView.setVideoPath("rtsp://YOURCOMPUTER_SERVER_IP_ADDR:5544/");
mVideoView.setMediaController(new MediaController(this));

5-デバイスでapkを実行し(シミュレーターではなく、チェックしませんでした)、再生が開始されるのを待ちます。バッファリングプロセスに約10秒かかることを考慮してください...

質問:バッファリング時間を短縮し、ビデオをほぼライブで再生する方法を知っている人はいますか?

20
Amir Dashti

私は同じ問題に直面していて、コードを機能させるための解決策を見つけました。

Android-Sdk/samples/Android-?/ApiDemosで指定されたコードは正常に機能します。 Androidプロジェクトの各フォルダーをコピーして貼り付け、MediaPlayerDemo_Video.Javaでストリーミングしたいビデオのパスをパス変数に入れます。コードでは空白のままです。

次のビデオストリームが役に立ちました。 http://www.pocketjourney.com/downloads/pj/video/famous.3gp

RTSPプロトコルがストリーミングに使用されることを知っていますが、mediaplayerクラスはコードで述べられているようにストリーミング用のhttpをサポートしています。

私はビデオの形式をグーグルで調べましたが、Quicktime Proを使用してmp4または3gpに変換した場合、ビデオはストリーミングに適していることがわかりました。

最終的なapkをAndroid 2.1でテストしました。アプリケーションはエミュレーターでうまく動作します。デバイスで試してみてください。

これが役立つことを願っています。

10
AndroidFreak

問題はおそらくコードではなくビデオファイルにあります。あなたのビデオはおそらく「ストリーミングに対して安全」ではありません。詳細については、 Androidをストリーミングするためのビデオの配置場所 を参照してください。

6
CommonsWare