如何从摄像机获取H.264 IP编码器的视频流

时间:2015-04-15 08:17:41

标签: android html video-streaming android-videoview h.264

我正在尝试在我的Android设备上获得连接到H.264 IP编码器的普通相机的视频流。我已经尝试使用webView来获取登录屏幕,但登录后我没有得到流。 编码器有一个登录屏幕,稍后打开一个html页面,其中有一堆选项,中间的视频像youtube。 我想只接收视频,而不是Android设备上的整个HTML页面。 我甚至尝试使用SurfaceView显示空白屏幕。 我尝试实现这个http://ijoshsmith.com/2014/01/25/video-streaming-from-an-ip-camera-to-an-android-phone/,但也没有用。

activtiy_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="#000000"
    tools:context=".MainActivity" >

    <VideoView
        android:id="@+id/myVideo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true" />

</RelativeLayout>

MainAcitvity.java

package video_stream.telesystem.magnum.videostream;
import android.app.Fragment;
import android.content.Context;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.app.Activity;
import android.util.Base64;
import android.webkit.WebChromeClient;
import android.webkit.WebHistoryItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends Activity{
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        setContentView(R.layout.activity_main);


    VideoView vidView = (VideoView)findViewById(R.id.myVideo);
    MediaController vidControl = new MediaController(this);

    String vidAddress = "http://192.168.0.10:554/Login.htm";
    Uri vidUri = Uri.parse(vidAddress);

    vidView.setVideoURI(vidUri);
    vidView.start();

    vidControl.setAnchorView(vidView);
    vidView.setMediaController(vidControl);


   }
}

0 个答案:

没有答案