相关疑难解决方法(0)

使用Android的MediaCodec和MediaMuxer复用AAC音频

我正在修改一个Android Framework示例,将MediaCodec生成的基本AAC流打包成一个独立的.mp4文件.我正在使用MediaMuxer包含由MediaCodec实例生成的一个AAC轨道的单个实例.

但是,我总是在调用时始终收到错误消息mMediaMuxer.writeSampleData(trackIndex, encodedData, bufferInfo):

E/MPEG4Writer?timestampUs 0 < lastTimestampUs XXXXX for Audio track

当我将原始输入数据排队时,mCodec.queueInputBuffer(...)我提供0作为每个框架示例的时间戳值(我也尝试使用具有相同结果的单调增加的时间戳值.我已成功将原始相机帧编码为h264/mp4文件同样的方法).

查看完整的来源

最相关的片段:

private static void testEncoder(String componentName, MediaFormat format, Context c) {
    int trackIndex = 0;
    boolean mMuxerStarted = false;
    File f = FileUtils.createTempFileInRootAppStorage(c, "aac_test_" + new Date().getTime() + ".mp4");
    MediaCodec codec = MediaCodec.createByCodecName(componentName);

    try {
        codec.configure(
                format,
                null /* surface */,
                null /* crypto */,
                MediaCodec.CONFIGURE_FLAG_ENCODE);
    } catch (IllegalStateException e) {
        Log.e(TAG, "codec '" + …
Run Code Online (Sandbox Code Playgroud)

android mediacodec

14
推荐指数
1
解决办法
1万
查看次数

在使用MediaCodec进行Grafika的"连续捕获"活动编码之前裁剪视频

我正在学习Grafika的"连续捕获"活动,它是关于使用MediaCodec录制视频.

活动源代码位于https://github.com/google/grafika/blob/master/src/com/android/grafika/ContinuousCaptureActivity.java

该程序使用SurfaceTexture obj从相机接收数据并使用此SurfaceTexture obj创建2个EGLSurface obj,一个EGLSurface obj将数据提供给MediaCodec,另一个将数据提供给SurfaceView以进行相机预览.MediaCodec将数据编码为h264数据,MediaMuxer obj将h264数据写入mp4文件.

但是有一个问题,相机支持的预览尺寸是空间(宽度>高度),如1920*1080,1440*1080,720*480等.通常,我们在录制视频时以纵向方式拍摄手机,因此我们应该使用API​​:Camera.setDisplayOrientation(90)将图片旋转为肖像,然后录制肖像视频.

但我想用手中的手机肖像录制风景视频,我必须从相机中裁剪每一帧.我的方法是切断每帧图片的底部和顶部并保留图片的中间部分,然后左图片将是一个景观图片.

但我不熟悉opengl,我不知道如何裁剪SurfaceTexture数据.任何擅长opengl的人都能给我一些帮助吗?

video android opengl-es crop grafika

9
推荐指数
1
解决办法
4488
查看次数

录制时如何将音频添加到视频[ContinuousCaptureActivity] [Grafika]

我使用ContinuousCaptureActivity.java实现视频录制.它的工作完美.

现在我想在此视频中添加音频.

我知道使用MediaMuxer可以在视频中添加音频.

但问题是我不知道如何使用MediaMuxer.

此外,如果您有任何其他解决方案,MediaMuxer然后与我分享任何链接或文档.

我也有演示AudioVideoRecordingSample.但我不明白如何将其与我的代码合并.

如果有人知道,请向我解释.

提前致谢.

android mediacodec grafika

6
推荐指数
1
解决办法
273
查看次数

标签 统计

android ×3

grafika ×2

mediacodec ×2

crop ×1

opengl-es ×1

video ×1