问题标签 [mediamuxer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
429 浏览

android - 请求如何使用 Mediamuxer 在 Android 中混合分离的音频和视频的简单示例

我想编写一个简单的 Android 应用程序来将音频文件与视频文件中的视频轨道混合。

Mediamuxer 看起来是一个很好的解决方案,在googlesourcebigflakedeveloper.android.com上发布了一些看起来很有前景的示例,但我太新手了,无法理解如何使它们适应我的需求。几个星期以来,我一直在反对这一点。

假设外部存储上的两个文件有一些任意硬编码路径,是否有人有一个片段可以解决问题?我认为只要好好看看有用的东西就会教给我很多东西。

谢谢!

0 投票
0 回答
648 浏览

android - 定义 MediaCodec 编码器、MediaMuxer 或 virtualdisplay 的录制区域

我正在使用 MediaCodec、MediaMuxer 和 VirtualDisplay 在我的手机上记录事件,然后使用该数据创建一个 mp4 文件。

我希望用户能够定义应该记录屏幕的哪个部分,为此我可以为编码器设置 MediaFormat 的高度和宽度,但我似乎无法设置任何偏移量,所以我会始终从左上角记录。

有没有办法巧妙地做到这一点?

编辑:这是我用来设置内容以使内容更清晰的一些代码。

0 投票
2 回答
2814 浏览

android - Android:如何使用 MediaMuxer 与 video/mp4v-es 而不是 video/avc?

我希望能够在某些设备上使用 mp4v-es 而不是 avc。编码器使用 avc 运行良好,但是当我用 mp4v-es 替换它时,muxer 报告:

MediaMuxer 错误 "Failed to stop the muxer",视频无法播放。不同之处在于我向复用器添加了正确的轨道/格式,而没有收到任何错误:

与avc相比,处理mp4v-es有什么区别吗?一提,我只是跳过“bufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG”,因为它不需要avc。谢谢。

0 投票
0 回答
1456 浏览

android - 利用 MediaCodec API 21 录制视频和音频

一段时间以来,我一直在使用 MediaCodec 和 MediaMuxer 来从虚拟显示器进行录制。我得到这个工作得很好。现在我想从麦克风录制声音并将其添加到视频中。我找到了许多完全符合我要求的示例,但是所有这些示例都使用了 MediaCodec 已弃用的部分。我真的很困惑如何重构到新的 api。

首先,我有一个线程从这样的 AudioRecord 读取字节。

这不会起作用,因为 dequeueInputBuffer 不能被称为异步......那么我需要做什么才能在这里获得正确的 inputBufferIndex 呢?

然后我有我的 AudioEncoder 使用的回调,它应该从 AudioRecord 接收数据:

我应该在这里接收 inputData 并以某种方式发送到 onOutputBufferAvailable 吗?

这部分应该将数据传递给复用器

我是否正在考虑同时使用 audioTrackIndex 和 videoTrackIndex 将数据传送到多路复用器中?

0 投票
1 回答
1821 浏览

android - Android,将音轨添加到 Muxer

我正在尝试将音频添加到由以下开源项目创建的视频中

具体到https://github.com/madisp/trails/blob/master/app/src/main/java/com/madisp/trails/CaptureService.java

我需要从 MIC 获取音频并将其作为音轨写入编码文件。目前用 Muxer 编码的文件只有视频轨道。

我可以从 MIC 获取音频,没有任何问题

但我不知道如何将其合并到(https://github.com/madisp/trails/blob/master/app/src/main/java/com/madisp/trails/CaptureService.java

是的,明白我实际上是在要求您编写代码,但我没有这方面的专业知识

任何帮助表示赞赏

谢谢

0 投票
0 回答
2002 浏览

android - 视频音频复用问题(java.lang.IllegalStateException:无法停止复用器)

我正在制作一个应用程序来录制视频,而不使用默认的录像机。为了制作视频,我使用了 MediaMuxer。音频和视频录制在不同的线程上完成。

当我停止录制时,应用程序随机崩溃,并且日志显示

java.lang.IllegalStateException:无法停止多路复用器

当我尝试在不添加音轨的情况下录制视频时,它工作正常,但是当音频和视频轨道都添加到多路复用器时,它会出现这个问题。

我指的是用于视频录制的grafika cameracaptureactivity

我无法确定问题是由于线程还是某些同步问题引起的。有人可以帮我解决这个问题。

0 投票
0 回答
185 浏览

android - 使用 MediaCodec 和 MediaMuxer 编码/解码视频文件时如何解决问题

我有一个关于将视频编码/解码为新视频的问题,新视频具有用于 Android 平台的 MediaCodec 和 MediaMuxer 的新宽度和高度。

输入视频的大小为 1920x1080,我想将此视频编码为大小为 176x144、480x360、1280x720 的新视频......但是当我打开文件输出大小为 480x360 时,它不喜欢输入视频。它可以播放,但它看起来像破碎的显示。输出尺寸为 176x144,1280x720 ...看起来不错,输入视频相同。我在 Nexus 4(Android 版本 4.4.4)上进行测试。

我在 这里运行了 CTS 测试,结果类似于上面的结果。

谁能帮我理解这里的原因?

谢谢!

0 投票
0 回答
622 浏览

android - 如何在 Android 5.0 上使用 MediaMuxer 将视频文件保存到辅助 SD 卡?

我面临一个大问题。我使用 MediaMuxer 创建一个 mp4 文件。这是 MediaMuxer 的构造函数:

例如:

问题是:主存储(内部存储)一切正常,但我无法将输出视频保存到辅助 SD 卡(外部)。我的应用程序在 Lollipop 设备 (5.0) 中运行。我阅读了很多关于在 Lollipop 上使用 SD 卡的主题(例如:如何使用为 Android 5.0 (Lollipop) 提供的新 SD 卡访问 API?)。他们都在谈论使用新的 Intent ACTION_OPEN_DOCUMENT_TREE 来选择输出目录。

关于这个意图的结果:

但我不知道如何将pickDir 用于MediaMuxer。有谁能够帮我?非常感谢!

0 投票
1 回答
1279 浏览

android - 如何在 Android Lollipop 设备的辅助 SD 卡中创建新文件?

在我的应用程序中,我使用 MediaMuxer 创建一个视频文件。MediaMuxer 的构造函数需要输出文件的绝对路径。主存储一切正常,但辅助存储应用程序不起作用。正如我所检查的,在 Lollipop 中,用户必须使用新的 Intent ACTION_OPEN_DOCUMENT_TREE 选择外部存储中的输出目录(如何使用为 Android 5.0(Lollipop)提供的新 SD 卡访问 API?)但是根据这个 Intent 的结果,我们得到 DocumentFile。我不知道如何使用 MediaMuxer 和这个 DocumentFile 创建新的视频文件。有人能帮我吗?

0 投票
2 回答
4029 浏览

android - 从 GLSurfaceView 录制视频和音频并将其导出为 .mp4

我是OpenGL的新手。我想从 GLSurfaceView 录制视频和音频并将其导出为 .mp4(或其他格式)。我有一个GlsurfaceView工具Renderer

我尝试在bigflake.comEncodeAndMuxTest.javagoogle/grafikaRecordFBOActivity.java使用fadden 示例,但没有成功,因为我不知道如何实现它。

是否有记录 GLSurfaceView 的示例或“操作方法”?