プロジェクトにビデオストリーミングを実装したい。だから、動作するチュートリアルはありますか?ビデオはサーバー側に保存されます。そのため、URLを使用してビデオを取得し、Androidで再生します。いくつかの例を試しましたが、「申し訳ありませんが、このビデオは再生できません」というエラーが表示されました。 MP4を使用しようとしています。
私は同じ問題を抱えていましたが、ようやく道を見つけました。
ウォークスルーは次のとおりです。
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秒かかることを考慮してください...
質問:バッファリング時間を短縮し、ビデオをほぼライブで再生する方法を知っている人はいますか?
私は同じ問題に直面していて、コードを機能させるための解決策を見つけました。
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でテストしました。アプリケーションはエミュレーターでうまく動作します。デバイスで試してみてください。
これが役立つことを願っています。
問題はおそらくコードではなくビデオファイルにあります。あなたのビデオはおそらく「ストリーミングに対して安全」ではありません。詳細については、 Androidをストリーミングするためのビデオの配置場所 を参照してください。