ビデオをキャプチャし、ローカル ソケットを使用して Mp4/3gp 形式で SD カードに保存しようとしています。バイトごとに SD カードに書き込むことはできますが、ビデオ ファイルは再生できません。多くの例を試しました。
https://github.com/fyhertz/spydroid-ipcamera
https://github.com/mconf/sipdroid
などなど。これはファイルのヘッダーの問題である可能性があると示唆している人がいることに気付きました。これらの「mdat」データもヘッダーからスキップしようとしました:
private void skipHeader() throws IOException {
// Skip all atoms preceding mdat atom
byte[] buffer = new byte[3];
while (true) {
while (mReceiver.getInputStream().read() != 'm');
mReceiver.getInputStream().read(buffer,0,3);
if (buffer[0] == 'd' && buffer[1] == 'a' && buffer[2] == 't') break;
}
}
最終的には何もうまくいきませんでした。これらのビデオ ファイルを Local Socket を使用して再生できるようにするために、さらに何をする必要がありますか?