我正在尝试通过本地网络将我的网络摄像头直播到android VideoView上。视频显示出来了,但延迟了15-20秒。VLC流设置:usgin HTTPEnacpsulation: MPEG-TS视频编解码:H-264分辨率:640x480比特率:我一直在改变它,试图找出一个合适的。VLC输出字符串:
:sout=#transcode{vcodec=h264,vb=2000,fps=30,scale=1,width=640,height=480,acodec=none}:http{mux=ts,dst=:8080/stream} :sout-all :sout-keep
Android VideoView代码:
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.101:8554/stream"));
view1.requestFocus();
view1.start();
我已经到处寻找这个问题,但似乎找不到解决方案,所以任何建议都会非常感激:)
我不熟悉VideoView,但是当VLC在端口8080上流式传输时,为什么代码引用端口8554 ?
我建议将GOP大小设置为120(--sout-x264-min-keyint <integer>
)左右,作为测试的起点。