gpt4 book ai didi

Android 相机 RTSP/RTP 流?

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:16 28 4
gpt4 key购买 nike

如何使用 RTP/RTSP 发送 Android 相机视频并在 PC 上播放(使用 vlc 或任何其他播放器)。

我用谷歌搜索了一下,找到了两个答案:

1) 使用 mediarecorder(http://sipdroid.org/ 使用 VideoCamera.java)

如何使用它我试过了但没有结果:(

2) 使用 PreviewCallback() - onPreviewFrame(data, camera) 方法。

通过使用 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 相机 RTSP/RTP 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959745/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com