Tag: mp4

如何在Android中复用mp3和mp4文件

问题陈述:我正在设计一个Android应用程序,我必须从用户的图库中获取图像,将它们组合成一个video文件并添加背景音乐。 我使用jcodec库使用我的图像资源创建mp4video文件(我知道如何从图库中获取图像并在ImageViews中显示它们并从中创建位图)。 我有一个mp4文件。 现在,我想用mp3文件在其中添加背景音乐。 请有人帮我这个吗? 我无法使用jcodec或至少添加它我不知道该怎么做。 我可以使用任何可以完成这项工作的库,但它应该是Java,因为我不想使用ndk。 我尝试使用ffmpeg和opencv for java但它增加了我的应用程序的大小超过15MB并且jcodec已经完成了制作mp4文件的一半工作。 我可以给你我用来制作mp4文件的代码。 提前致谢。

如何使用JCodec将一系列图像转换为video?

我正在尝试使用JCodec将一系列图像转换为Java SE桌面应用程序内的video。 我尝试过的几种方法都导致了Windows Media Player无法播放的video。 我不清楚这是编解码器问题(可疑)还是我没有正确创建video。 当我尝试在Windows Media Player中播放video时,我得到: Windows Media Player无法播放该文件。 播放器可能不支持该文件类型,或者可能不支持用于压缩文件的编解码器。 这是我最近一直在使用的拼凑样本。 我真的不明白video格式的内部,所以我甚至不完全确定一些代码在做什么。 import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import javax.imageio.ImageIO; import org.jcodec.codecs.h264.H264Encoder; import org.jcodec.codecs.h264.H264Utils; import org.jcodec.common.NIOUtils; import org.jcodec.common.SeekableByteChannel; import org.jcodec.common.model.ColorSpace; import org.jcodec.common.model.Picture; import org.jcodec.containers.mp4.Brand; import org.jcodec.containers.mp4.MP4Packet; import org.jcodec.containers.mp4.TrackType; import org.jcodec.containers.mp4.muxer.FramesMP4MuxerTrack; import org.jcodec.containers.mp4.muxer.MP4Muxer; import org.jcodec.scale.AWTUtil; import org.jcodec.scale.RgbToYuv420; […]

JavaFX中不支持MP4吗?

所以我最近开始使用JavaFX尝试将video和音频插入到我的java程序中。 音频工作得很好,但出于某种原因,每次我尝试播放video文件时,都会返回MEDIA_UNSUPPORTEDexception。 我已经阅读并看到video文件需要是MP4(它是),所以我尝试将其转换为其他类型,然后使用几个不同的转换器将其重新转换为MP4(H.264和AAC)没有什么变化。 这是我正在使用的代码: import java.net.URL; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javafx.application.Platform; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.embed.swing.JFXPanel; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.VBox; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.util.Duration; public class CallVideo extends JFrame{ public static final String VID_URL = “file:/C:/Users/Public/Videos/Videos/testCon.mp4”; //http://static.clipcanvas.com/sample/clipcanvas_14348_H264_320x180.mp4 private JFXPanel panel; public CallVideo(String url) […]

MP4Parser改变了video方向

我试图使用MP4Parser(或任何其他方法,如果你知道其中一个)将当前正在使用TrackHeaderBox旋转的video旋转成肖像,但是根本无法获得改变的方向,任何人都可以在此之前使用它来发现我可能犯的错误? 任何帮助都会有很长的路要走 IsoFile out = new DefaultMp4Builder().build(result); // test double[] m = null; m = new double[] { 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0 }; TrackBox tb = out.getMovieBox().getBoxes(TrackBox.class).get(0); TrackHeaderBox box = tb.getTrackHeaderBox(); box.setMatrix(m);

是否有用于提取MP4元数据的JAVA API

我想具体说明我的要求。 我不是要求修改任何MP4文件,只是提取宽度和高度以及比特率和编码等元数据,这不在MP3标签中。 我已经测试了Xuggle,但是我需要有一个不使用JNI或任何本机代码的库。 我已经研究过MP4Parser和Apache Tika,他们都不提取元数据,只是标记信息或改变文件。 有这样的java lib吗?

是否有用于mp4文件的Java API?

可以使用这个mp3 SPI支持处理Mp3文件,但我找不到与mp4文件类似的东西。 任何帮助,将不胜感激。 –update 我想要做的是获取文件的大小,就像使用此代码处理wave文件一样: AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file); AudioFormat format = audioInputStream.getFormat(); long audioFileLength = file.length(); int frameSize = format.getFrameSize(); float frameRate = format.getFrameRate(); float durationInSeconds = (audioFileLength / (frameSize * frameRate)); – 回答 以下是使用@mdma(IBM工具包)提示的答案代码: /** * Use IBMPlayerForMpeg4SDK to get mp4 file duration. * * @return the mp4File duration in milliseconds. */ public […]