Я новичок в Android и программировании сокетов. Я хочу создать приложение для Android, которое будет передавать видео в реальном времени с камеры устройства на ПК. Что я делаю в первую очередь, чтобы получить сырые данные видео из 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());
}
}
Мне все еще интересно, куда мне нужно поместить информацию об адресе и порте. Я знаю, что вышеприведенный код все еще нуждается в исправлении от любого мастера. Спасибо за аванс...