8

您好我正在尝试使用 mediarecorder api 并生成包含 h264 视频和 aac 音频的 mpeg2ts 输出。

1)当我单独录制视频时,生成的输出 .ts 文件可以正常工作,没有任何延迟。2)当我录制音频和视频时,应用程序崩溃。所以我在网上做了一些搜索,发现这是在 AOSP 框架中找到的 MPEG2TS writer.cpp 中的一个错误,基于此链接,<< code.google.com/p/android/issues/detail?id=37714 > > 我应用了建议的补丁并尝试了相同的方法。我能够对音频和视频进行编码,但生成的输出文件有问题。

3)作者工作不正确。有滞后。首先播放视频帧,然后在视频冻结时播放音频,然后是。

4) 编写器代码可以在这里找到 -> << androidxref.com/4.2.2_r1/xref/frameworks/av/media/libstagefright/MPEG2TSWriter.cpp >>

我添加的补丁可以在这里找到 -> << code.google.com/p/android/issues/attachmentText?id=37714&aid=377140007000&name=patch&token=E7rjXqE55TIp50S7sI04mxbsRCA%3A1384836153502 >>

5)有人请告诉我作者的问题是什么,我应该如何在代码中修复它,并请提供一些固定的代码片段。

我的安卓源代码是:

myCamera = getCameraInstance();
mediaRecorder = new MediaRecorder();

myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(8);
mediaRecorder.setOutputFile("/sdcard/myvideo.ts");
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setVideoSize(320, 240);
mediaRecorder.setVideoFrameRate(15);
mediaRecorder.setMaxDuration(20);
mediaRecorder.setMaxFileSize(10000);
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder()
    .getSurface());

6)一旦我让 ts writer 工作,我需要通过 RTP 发送 ts 数据包以进行实时流传输,因此请帮助解决 ts writer 问题。

4

0 回答 0