所以我想要做的很简单,但我缺乏流媒体方法/软件的经验。我想要做的是将我的笔记本电脑摄像头直播到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
我的android代码如下:
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();
}
}
有时应用程序会告诉我它无法播放视频,有时在更改转码后,视频视图会保持黑色而不做任何操作。 如果有解决方案或更有效的方法,请告诉我。
答案 0 :(得分:1)
问题是您使用WMV格式进行流式传输,但Android不支持。您需要流式传输与VLC同样支持的Android格式。
VLC中的以下设置适用于Android设备。
使用H.264
进行视频转码,AAC
进行转码。使用MPEG TS
或MP4
作为encapuslation格式。
这些应该可以在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