0

所以我想做的很简单,但是我缺乏流媒体方法/软件的经验。我想要做的是将我的笔记本电脑网络摄像头实时流式传输到 android 上的 videoView。我正在使用 vlc 使用 http//:privateIP:8080/stream 流式传输网络摄像头,并转码 WMV+WMA。这是 vlc 生成的输出字符串:

    :sout=#transcode{vcodec=WMV2,vb=800,scale=1,acodec=wma2,ab=128,channels=2,samplerate=44100}:http{mux=asf,dst=:8080/stream} :sout-all :sout-keep

我的安卓代码如下:

    package com.example.vlctest;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


     VideoView view1 = (VideoView) findViewById(R.id.videoView1); 
     getWindow().setFormat(PixelFormat.TRANSLUCENT);

     MediaController mc = new MediaController(this); 
     mc.setMediaPlayer(view1); 

     view1.setMediaController(mc); 
     view1.setVideoURI(Uri.parse("http://192.168.1.100:8080/stream")); 
     view1.requestFocus(); 
     view1.start();
}
}

有时应用程序告诉我它无法播放视频,有时在更改转码后视频视图只是保持黑色而不做任何事情。如果有解决方案或更有效的方法,请告诉我。

4

1 回答 1

1

问题是您正在使用 Android 不支持的 WMV 格式进行流式传输。您需要流式传输与 Android 兼容且 VLC 也支持的格式。

VLC 中的以下设置适用于 Android 设备。

H.264用于视频和AAC音频的转码。使用MPEG TSorMP4作为封装格式。

这些应该在 VLC 和 Android 3.0+ 中可用。

有关更多信息,请参阅以下有关 VLC 和 Android 支持的媒体格式的文档:

http://www.videolan.org/doc/streaming-howto/en/ch02.html http://developer.android.com/guide/appendix/media-formats.html

于 2013-03-18T20:36:02.300 回答