问题标签 [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.
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 库,但不幸的是,我只能将完整的音频轨道合并到视频轨道。我的问题是如何在特定时间从多个音轨合并它?
这是我使用的代码:
任何帮助将不胜感激!非常感谢。
android - 我已经选择了一个视频和音频文件,现在我想将我选择的音频/声音添加到我的视频中
我已经选择了一个视频和音频文件,现在我想将我选择的音频添加到视频中
我想将 .mp4 中的输出文件保存在外部或内部存储目录中我在 Google 上搜索并发现 ffmpeg、mediaMuxer、mp4parser 但我无法获得正确的示例或解决方案。
android - Android mp4parser 添加音频覆盖
我创建了一个应用程序,女巫合并视频并添加 mp3 音频覆盖。
合并视频我没有问题,但音频没有在输出视频中播放。
这是我的代码:
输出视频没有声音。输入 mp3 是通常的音乐曲目。
android - Android mp4parser - 从位图创建轨道
如何在 Android 上从图像(位图)中获取视频轨道?
我需要在我的视频结尾添加一张图片.. 5 秒
谢谢
java - mp4parser AppendTrack 错误 java.lang.NullPointerException
这是错误:
这是我的代码:
而且我找不到 Null Element 。
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”。
我错过了什么?
谢谢。
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)
有人能帮助我吗!
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 分钟。
那么有人可以向我解释一下这个问题或给出一些建议或例子。非常感谢。
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 文件)附加到音轨来解决问题,以获得如上所述的全长音轨,但如果声音重叠,这显然不起作用。我还有什么其他方法可以解决这个问题?