我想用我的Android设备(Nexus 10)录制视频并稍后将其上传到YouTube。Android:将Mediarecorder-Stream保存为可播放文件
到目前为止,我用android MediaRecoder进行录制并通过LocalSocket进行流式传输以将数据保存到多个文件。但这些文件不可播放。
我读了一些正弦API-Level 18的文章,可以用MediaCodec和/或MediaMuxer转换文件。我发现这个this代码,但我真的不明白如何处理它。
有谁有一个简单的例子,说明如何将原始数据从LocalSocket转换为可播放的文件(即mp4文件)?
我MediaRecoder看起来是这样的:提前
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
camcorderProfile_HQ.fileFormat = MediaRecorder.OutputFormat.MPEG_4;
camcorderProfile_HQ.videoCodec = MediaRecorder.VideoEncoder.MPEG_4_SP;
recorder.setProfile(camcorderProfile_HQ);
recorder.setPreviewDisplay(surfaceHolder.getSurface());
clientSocket = new LocalSocket();
clientSocket.connect(new LocalSocketAddress(SOCKET_ADDRESS));
recorder.setOutputFile(clientSocket.getFileDescriptor());
recorder.prepare();
recorder.start();
感谢。
而不是写入clientSocket为什么不写入扩展名为.mp4的文件? –
你为什么说“LocalSocket的原始数据”?输出是否是未混合的h264? –