我想用我的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? –