웹캠 데이터를 클라이언트로 스트리밍합니다.Android : 카메라 데이터를 스트리밍하여 서버에 저장
('데이터') 수신으로 데이터가 도착하는 것을 볼 수 있습니다. 그러나 그것을 만들면 볼 수 없으며 아마도 가비지 데이터이거나 일부 헤더가 누락 된 것입니다. VLC에서는 재생할 수 없습니다.
내 다음 단계는 브라우저에 실시간 스트리밍 할 수 있도록 만드는 것입니다.
내가 뭘 잘못하고 있니?
net = require('net');
fs = require('fs');
// Start a TCP Server
net.createServer(function (socket) {
console.log("client connected");
var file = fs.createWriteStream("temp.mp4");
socket.pipe(file, {end: false});
socket.on('end', function(){
console.log("ended");
});
}).listen(5000);
나는 정말 비디오 출력 캡처 않았다 있는지 확인하기 위해 테스트 :
$ mediainfo temp.mp4
General
Complete name : temp.mp4
Format : H.263
Format version : H.263
File size : 126 KiB
Video
Format : H.263
Width : pixel0
Height : pixel0
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
을 그리고 이것은 (소켓의 접속 문제를 가정하지 않음)
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mediaRecorder.setVideoSize(320, 240);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
mediaRecorder.setMaxDuration(5000);
mediaRecorder.setMaxFileSize(5000000);
mediaRecorder
을 설정하기위한 다음과 같은 안드로이드 코드
원시 파일을 쓰고 있다는 것을 몰랐습니다. 고마워요! 나는 지금 주된 문제를 안다. – Mustafa