java如何获得网络rtsp流高手指点下最好给一个demo小弟先谢过了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何获得网络rtsp流高手指点下最好给一个demo小弟先谢过了相关的知识,希望对你有一定的参考价值。
参考技术A 用javacv库import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FrameGrabber.Exception;
方法里写:FFmpegFrameGrabber grabber = new FFmpegFrameGrabber( "视频流"); 参考技术B File file = new File("D:/zj.txt");
InputStream is = new FileInputStream(file)
is就可以从该file里读取数据了,
int length = 0;
byte[] b = new byte[200];
while(-1 != ( length = is.read(b[200]) )
System.out.print(new String(b, 0, length));
is.close();本回答被提问者采纳
如何获得正确的客户端端口RTSP流?
我正在尝试使用RTSP协议使音频广播流正常工作。问题是我收到“ 200 ok
”响应,即使音频没有被正确地流传输和下载。
我每次测试都发现一些奇怪的东西,unicast;client_port
是不同的。例如,在VLC中,端口为:client_port=57140-57141
,但是我再次通过Wireshark嗅探的时候,端口为:client_port=25551-25552
因此,为了获得有效的客户端端口,我认为最好从响应正文中获取它。
但是,当我尝试在解决方案调试中从substring
获得此rtsp response
时,就没什么好刮的,就像我在vlc中测试时可以看到unicast;client_port
。
那么,如何获得正确的单播; client_port,以便我的流获得正确的参数?
stringBuilder = new StringBuilder();
host = new string[] "SETUP rtsp://", uri.Host, ":554", uri.PathAndQuery, "/ID=", id0, " RTSP/1.0\r\n" ;
stringBuilder.Append(string.Concat(host));
stringBuilder.Append(string.Concat("CSeq: 42\r\n"));
stringBuilder.Append("Transport: RTP/AVP/UDP;unicast;client_port=57142-57143\r\n");
StreamUtils.WriteLine(bufferedNetStream, stringBuilder.ToString());
this.Log("\r\n\r\nClient -> Server");
this.Log(stringBuilder.ToString());
rtspResponse = this.ReceiveResponse(bufferedNetStream);
this.Log("Server -> Client");
this.Log(rtspResponse.Lines);
答案
我知道了,但我不会分享,我不会告诉你,是的!
以上是关于java如何获得网络rtsp流高手指点下最好给一个demo小弟先谢过了的主要内容,如果未能解决你的问题,请参考以下文章
哪位高手指点一下如何在网站内添加一套论坛程序,比如Discuz? 最好能详细一点。
用java语言怎么修改linux下eth0网卡的ip地址,请高手指点下,最好有例子....
如何在Linux下安装mysql,我第一次用linux系统,虚拟机下装的ubuntu10.0.4,请高手指点,最好能详细一点