0

我正在尝试通过本地网络将我的网络摄像头实时流式传输到 android VideoView。视频出现了,但延迟了 15-20 秒。VLC 流设置:usgin HTTP Enacpsulation:MPEG-TS 视频编解码器:H-264 分辨率:640 x 480 比特率:我一直在更改它,试图找出一个合适的。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();

我到处寻找这个问题,但似乎找不到解决方案,所以任何建议都将受到高度赞赏:)

4

1 回答 1

0

我不熟悉 VideoView,但是当 VLC 在端口 8080 上流式传输时,为什么您的代码引用端口 8554?

我建议将GOP 大小设置为120 ( --sout-x264-min-keyint <integer>) 左右,作为测试的起点。

于 2014-04-16T17:24:58.527 回答