- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我能够在 MediaCodec 和 MediaMuxer 的帮助下录制(编码)视频。接下来,我需要在 MediaCodec 和 MediaMuxer 的帮助下处理音频部分并将音频与视频混合。
我面临两个问题:
如何使用 MediaCodec 对音频进行编码。我需要编码音频和单独线程中的视频?
如何将音频和视频数据传递给 MediaMuxer(如writeSampleData() 方法一次只接受一种类型的数据)?
我提到了 MediaMuxerTest但它正在使用 MediaExtractor。我需要使用 MediaCodec,因为视频编码是使用 MediaCodec 完成的。如果我错了,请纠正我。
任何建议或忠告都将非常有帮助,因为没有适用于这些新 API 的适当文档。
注意:
最佳答案
不,您不一定需要单独的音频线程,只需使用两个单独的 MediaCodec 实例即可。
writeSampleData
的第一个参数是trackIndex
,它允许您指定每个数据包对应的轨道。 (通过运行 addTrack
两次,每个轨道一次,您将获得两个单独的轨道 ID。)
关于android - 如何使用 MediaCodec 和 MediaMuxer 录制视频和音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26628677/
我有一个视频文件 .mp4 - 只有视频轨道。 我正在使用 MediaExtractor 和 MediaMuxer 添加音频文件。这很好用。 我想在处理后的文件上添加另一个音轨。 所以我再次使用 Me
我正在尝试使用 MediaCodec、MediaExtractor 和 MediaMuxer 生成 mp4 文件。 EveryThing 似乎工作正常,但当我调用 MediaMuxer.stop 时出
好的,我已经查看了 Fadden's example实现 Android MediaMux。我不确定如何让我的场景进入 MP4 多路编解码器的表面输入。我正在研究一个音频处理器,它会占用音频和视频 I
我正在尝试使用 Android 的 MediaMuxer 和 MediaCodec 来制作 MP4 视频。 如果我通过调用 writeSampleData() 将帧从编解码器直接抽取到多路复用器,则一
我正在使用 mediacodec + mediamuxer 进行 android 视频录制,现在我可以录制视频并生成可以播放的 mp4 文件。问题是我发现录制的视频有时会占用大约一秒钟。所以我启动了
我目前有两个独立的媒体提取器和编解码器,用于将每个单独的样本分解为 ByteBuffer。然后我将每个样本存储到两个 short 数组中。然后我调用我的混合函数,它将两个样本组合成一个 short[]
我正在开发一个带有 mp3 音频文件和 mp4 视频文件(无声音)的 Android 应用。 现在我想混合它们并创建一个新的 mp4 视频文件(带声音)。从 Android 4.3 开始,Google
我正在使用 MediaCodec 对视频进行编码。帧通过相机预览回调传到 MediaCodec 实例(未使用 Surface)。我正在使用 JCodec muxing 库,我能够流式传输制作的视频(视
我正在尝试通过 Preview 获取视频原始数据,通过 AudioRecord 获取音频原始数据。然后我将它们发送到 MediaCodec(我将设置两个 Codec 实例)。之后我会将视频数据和音频数
我在 Android 上使用 MediaExtractor 来编辑 MP4 以获取音频和视频轨道,然后使用 MediaMuxer 创建一个新文件。它工作正常。我可以在手机(和其他播放器)上播放新的 M
我正在开发一个录制屏幕视频和音频的 Android 应用程序。 我录制了这两个文件:mp3 音频文件和 mp4 视频文件(无声音)。 现在我想混合它们并创建一个新的 mp4 视频文件(带声音)。从 A
我正在编写一个摄像机应用程序。当我打开我的捕捉 Activity 时,我想配置一个开始预览的相机捕捉 session ,当用户稍后按下录制按钮时,它应该开始使用 MediaCodec + MediaM
我正在寻找减少视频重量的有效方法(作为 File,用于上传),显而易见的答案是:让我们降低分辨率! (不需要全高清或 4K,简单的高清对我来说就足够了)我已经尝试了很多应该通过很多 API(需要 10
我真的希望有人能给我指点一段代码,演示如何使用 MediaMuxer 记录表面 View 和音频并输出 mp4 文件视频。 基本上,我想做的是记录表面 View 中发生的事情,并将其与听到的任何音频结
尝试将 HEVC 编码视频复用到 Samsung Galaxy S6 上的 MediaMuxer MPEG-4 容器。 MediaFormat(从 MediaCodec 获得): {height=10
我使用 MediaMuxer 和 MediaCodec 生成了一个 mp4 视频。 调用 mMediaMuxer.stop() 后视频可以播放了 但是,当用户在我获得调用 stop() 方法的更改之前
我有以下函数,它采用 WAV (PCM) 文件并使用 Android 的 MediaCode 和 MediaMuxer 类将其编码为 AAC 编码的 MP4 文件。这只是音频。该函数成功运行并输出一个
不断收到 Fatal Signal 11 崩溃。我已将其调试到以下代码行 int outBuffIdx = codec.dequeueOutputBuffer(null, 16000); 第一次通过这
我正在尝试使用 Android 4.3 中提供的 AudioRecord、MediaCodec 和 MediaMuxer 录制音频和视频但是,有时音频编码器线程停止并且不再编码。结果是一个损坏的 mp
我能够在 MediaCodec 和 MediaMuxer 的帮助下录制(编码)视频。接下来,我需要在 MediaCodec 和 MediaMuxer 的帮助下处理音频部分并将音频与视频混合。 我面临两
我是一名优秀的程序员,十分优秀!