Я думаю, что вам может понадобиться декодировать поток через decodeYUV420SP, поскольку данные byte [] имеют формат YUV.
могу отправить видео с камеры Android через RTP / RTSP и воспроизвести его на ПК (используя vlc или любой другой плеер).
Я гуглил это и нашел два ответа:
1) с помощью медиа-рекордера (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 !! нужна помощь экспертов !!!!