小编Rav*_*avi的帖子

Android MPEG2TS Writer的问题

您好我正在尝试使用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)有人请告诉我作者的问题是什么,如何在代码中修复它,请提供一些固定的代码片段.

我的android源代码是:

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());
Run Code Online (Sandbox Code Playgroud)

6)一旦我让ts编写器工作,我需要通过RTP发送ts数据包进行直播,所以请帮助修复ts writer问题.

c++ android android-source mpeg2-ts android-mediarecorder

7
推荐指数
0
解决办法
552
查看次数

如何在 Android 中使用 MediaCodec Api 通过 RTP 解码 H264

正在做一个视频直播项目。

在发送方,我使用安卓手机捕获视频,获取 H264 帧并将它们打包成 RTP 数据包,遵循各自的 RFC -> RFC 3984。发送方没有问题。流由 VLC 接收和播放。

在接收器方面,又是一个安卓手机。我成功地收到了 RTP 数据包。它是一个包含 H264 动态负载的 RTP 流。我想解压缩这个流并解码它并使用android mediacodec API在接收器端呈现它。有人请指导我如何实现这一点。

谢谢你。

android rtp h.264 android-mediacodec

5
推荐指数
1
解决办法
3171
查看次数