问题标签 [mp4parser]

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 回答
613 浏览

java - 如何在特定时间将多个音频文件合并到android中的视频文件?

我想做的是在我的android项目中的特定时间将多个音频文件合并到视频文件中。

例如,有两个音频文件:a1 长度为 5 秒,a2 长度为 5 秒,视频 V1 长度为 20 秒。所以我想在 00:01s 到 00:05s 的时间将音频 a1 合并到视频 V1,在 00:10s 到 00:15s 的时间将音频 a2 合并到视频 V1。这里的“合并”是指视频文件将在特定时间从音频文件 a1 和 a2 添加画外音,而不是附加。

在谷歌和 StackOverflow 上搜索后,我找到了 Mp4Parser 库,但不幸的是,我只能将完整的音频轨道合并到视频轨道。我的问题是如何在特定时间从多个音轨合并它?

这是我使用的代码:

任何帮助将不胜感激!非常感谢。

0 投票
1 回答
544 浏览

android - 我已经选择了一个视频和音频文件,现在我想将我选择的音频/声音添加到我的视频中

我已经选择了一个视频和音频文件,现在我想将我选择的音频添加到视频中

我想将 .mp4 中的输出文件保存在外部或内部存储目录中我在 Google 上搜索并发现 ffmpeg、mediaMuxer、mp4parser 但我无法获得正确的示例或解决方案。

0 投票
2 回答
1132 浏览

android - Android mp4parser 添加音频覆盖

我创建了一个应用程序,女巫合并视频并添加 mp3 音频覆盖。

合并视频我没有问题,但音频没有在输出视频中播放。

这是我的代码:

输出视频没有声音。输入 mp3 是通常的音乐曲目。

0 投票
1 回答
580 浏览

android - Android mp4parser - 从位图创建轨道

如何在 Android 上从图像(位图)中获取视频轨道?

我需要在我的视频结尾添加一张图片.. 5 秒

谢谢

0 投票
1 回答
365 浏览

java - mp4parser AppendTrack 错误 java.lang.NullPointerException

这是错误:

这是我的代码:

而且我找不到 Null Element 。

0 投票
1 回答
240 浏览

android - Android - 在没有 Maven 的情况下安装 Mp4Parser

它应该很简单,但是一天我找不到解决方案。我正在尝试遵循http://andrey.chernih.me/2014/06/28/video-recording-and-processing-in-android/中的示例(Muxing Audio)

所以我已经添加到我的项目的 libs 目录中

通过https://code.google.com/p/mp4parser/找到的 aspectjrt-1.8.6.jar 和 isoparser-1.0.6.jar (在没有 Maven 的情况下使用)

但是我不能在我的课堂上实现“AudioMuxer”。

我错过了什么?

谢谢。

0 投票
1 回答
1388 浏览

java - 复用 MP4 和 AAC(jcodec、MP4Parser)

我有一个用 jcodec 生成的 MP4 文件。

然后我有一个使用 Android 的 MediaCodec 生成的 AAC 文件。

我想将它们混合到一个文件中,因为我不想将我的 Android API 限制得太高,所以我选择了MP4Parser


这是我当前的代码:


代码在该行崩溃:

以此作为堆栈跟踪:

(在这一行的这个函数中发生了崩溃。)


所以我不太确定这意味着什么?jcodec 是否输出与 MP4Parser 不兼容的 MP4 文件(它适用于所有视频播放器)?

我应该研究什么来解决这个问题?

感谢任何建议。


编辑

以错误的方式进行,这有效

0 投票
0 回答
452 浏览

java - 使用 mp4parser 合并 mp4 文件

我需要将 2 个视频合并在一起,它们都是 mp4,所有其他参数都相同。问题是当我有一个大文件时我无法合并它我得到一个空指针异常。这是我认为我出错但无法解决问题的部分。

错误:

com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox.getContentSize(ESDescriptorBox.java:60) 在 com.googlecode.mp4parser.AbstractBox.getSize(AbstractBox.java) 的线程“AWT-EventQueue-0”java.lang.NullPointerException 中的异常:203) com.googlecode.mp4parser.BasicContainer.getContainerSize(BasicContainer.java:70) com.coremedia.iso.boxes.sampleentry.AudioSampleEntry.getSize(AudioSampleEntry.java:330) com.googlecode.mp4parser.BasicContainer。 getContainerSize(BasicContainer.java:70) 在 com.coremedia.iso.boxes.SampleDescriptionBox.getSize(SampleDescriptionBox.java:112) 在 com.googlecode.mp4parser.AbstractContainerBox.getHeader(AbstractContainerBox.java:67) 在 com.coremedia.iso .boxes.SampleDescriptionBox.getBox(SampleDescriptionBox.java:94) 在 com.googlecode.mp4parser.authoring。track.AppendTrack.mergeStsds(AppendTrack.java:81) 在 com.googlecode.mp4parser.authoring.tracks.AppendTrack.(AppendTrack.java:65) 在 Mp4.merging.merge(merging.java:90) 在 gui.maingui。 projectionRecStopBActionPerformed(maingui.java:1281) at gui.maingui.access$2000(maingui.java:60) at gui.maingui $18.actionPerformed(maingui.java:941) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022 ) 在 javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 在 javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 在 javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 在 javax .swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) 在 java.awt.Component.processMouseEvent(Component.java:6535) 在 javax.swing.JComponent.processMouseEvent(JComponent.java:3324) 在 java.awt.Component.processEvent(Component.java:6300) 在 java.awt.Container.processEvent(Container.java:2236) 在 java. awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4888) 在 java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) 在 java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) 在 java.awt.Container.dispatchEventImpl(Container.java: 2280) 在 java.awt.Window.dispatchEventImpl(Window.java:2750) 在 java.awt.Component.dispatchEvent(Component.java:4713) 在 java.awt.EventQueue。dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run( EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java: 86) 在 java.awt.EventQueue$4.run(EventQueue.java:731) 在 java.awt.EventQueue$4.run(EventQueue.java:729) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.security .ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 在 java. awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

有人能帮助我吗!

0 投票
0 回答
548 浏览

android - android Mp4Parser 合并问题

我需要合并音频(aac 格式)和视频(mp4 格式)。我为此使用 mp4parser 库。

但是当我生成的视频文件超过 5-6 分钟时,一些设备停止工作(这意味着 UI 被冻结,用户无能为力,但 Android 不显示任何消息,恢复应用程序的唯一方法是重启设备)。

正如您在代码片段中看到的那样,我已经记录了每一行,我发现问题出在我将结果文件写入磁盘的一行中。

我还在不同的设备上对其进行了测试。Moto G (1gen)、Moto G(2gen) (Android 5.0.2) 和 Nexus 5 (Android 5.1.1) 无法合并文件超过 5-6 分钟,但 Nexus 7 (Android 5.1.1) 可以合并文件超过 10 分钟。

那么有人可以向我解释一下这个问题或给出一些建议或例子。非常感谢。

0 投票
1 回答
1477 浏览

android - 在 Android 上合并单个视频轨道和多个音轨

这个想法

我正在为将一个视频轨道与一个(或可选的两个)音轨合并的电影编辑应用程序创建保存到设备功能。

首先,我使用 MP4Parser (链接) 将多个视频剪辑合并到一个视频轨道中。

然后,我想将多个音频剪辑合并到一个音轨中。这些剪辑不应附加,而应在特定时间合并到单个音轨中。例如,我们有两个音频剪辑(A1、A2)和一个 60 秒的视频轨道(V1)。这些音频剪辑可以重叠,或者在它们之间有白噪声。整个音频轨道的长度必须与视频轨道相匹配,最长可达 60 秒。最多可以有 100 个音频片段添加到音轨 1

  • V1 - 60.0 秒
  • A1 - 0.3 秒
  • A2 - 1.1 秒

最后,可能还有一个可选的第二个音轨,其中也包含一个音轨,适合 V1 视频轨。

概括

这就是它的样子:

视频轨道 1:[--------------------------------------------- ----------------------------------] 60 秒

音轨1:[-A1--A2---------------------------------------- ----------------------------------------] 60 秒

音轨 2:[--------------------------------------------- ----------------------------------] 60 秒

问题

我尝试通过将 x 秒的白噪声(空 wav 文件)附加到音轨来解决问题,以获得如上所述的全长音轨,但如果声音重叠,这显然不起作用。我还有什么其他方法可以解决这个问题?