标签:android camera video-streaming
如何使用RTP / RTSP发送Android摄像头视频并在PC中播放(使用vlc或任何其他播放器).
我用Google搜索了这个并找到了两个答案:
1)使用mediarecorder(http://sipdroid.org/使用VideoCamera.java)
如何使用它我试过但没有结果:(
2)使用PreviewCallback() – onPreviewFrame(数据,摄像头)方法.
通过使用sipdroid(Rtppacket,Rtpsocket,sipdroidsocket)我能够发送包含每个帧的Rtp数据包作为数据,我能够通过Wireshark捕获它.
但我无法在VLC中播放我的数据包:(
这是我的代码:
mCamera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
int width= 320;
int height=240;
eth=getInterfaces();
Log.v("Connected to ","Ethernet"+eth);
if(eth!=null){
try{
InetAddress serverAddr = InetAddress.getByName("IP Address of My PC");
Log.v("trying to ","connect with"+serverAddr);
SipdroidSocket soc = new SipdroidSocket(9954);
Log.v("trying to ","connect with Sipdroid Socket");
soc.connect(serverAddr, 9954);
Log.v("Socket ","Connected");
RtpPacket rtpp=new RtpPacket(data,height);
//rtpp.setPayloadType(125);
Log.v("RTPPacket","Created");
RtpSocket rtps= new RtpSocket(soc,serverAddr,9954);
Log.v("RTPSocket","Created");
rtps.send(rtpp);
Log.v("Packet","Sent");
}
catch(Exception e){e.printStackTrace();Log.v(TAG, "Socket");}
}
}
});
我该如何播放数据包?请提一些建议!!!
我完全糊涂了:(我是Android开发新手!!需要专家的帮助!!!!
解决方法:
我认为您可能需要通过decodeYUV420SP解码流,因为byte []数据是YUV格式.
标签:android,camera,video-streaming 来源: https://codeday.me/bug/20190710/1419751.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。