我是
Android和套接字编程的新手.我想创建一个Android应用程序,将视频从设备摄像头传输到PC.我第一次做的是从PreviewCallback参数获取原始视频数据并将其转换为RTP数据包.我只是使用JLibRTP来做到这一点.关于传输数据包我认为,有一些相关的类:RtpPkt,RtpSession和RtpSocket.
这是我的扫视码:
DatagramSocket rtpSocket = new DatagramSocket();
DatagramSocket rtcpSocket = new new DatagramSocket();
RtpSession rtpSession = new RtpSession(rtpSocket, rtcpSocket);
public void surfaceCreated(SurfaceHolder holder) {
try {
camera = Camera.open();
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] _data, Camera _camera) {
int height = 240;
try {
rtps.sendData(_data);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), e.toString(),
Toast.LENGTH_SHORT).show();
}
}
});
camera.setPreviewDisplay(holder);
camera.startPreview();
} catch (IOException e) {
Log.d("CAMERA", e.getMessage());
}
}
我还在想知道我必须把地址和端口信息放在哪里.我知道上面的代码仍然需要你的任何主人的更正.感谢您的推荐