是否有可用的开源MP4 muxer / writer java项目(用java编写的源代码,没有本机代码)?
我有H.264& AAC原始/基本流存储单独的文件。我想要复用它们并获得包含Audio& amp;的.mp4视频文件。视频。
提前感谢您的宝贵建议。
答案 0 :(得分:3)
使用isoparser库,据我所知,这是唯一可以复用AAC和H264的纯Java工具。它还为您描述的用例提供了an example。
完全披露:我是图书馆的创建者。
AACTrackImpl audio= new AACTrackImpl(new FileInputStream("sample.aac").getChannel());
H264TrackImpl video = new H264TrackImpl(new FileInputStream("sample.h264"));
Movie m = new Movie();
m.addTrack(video);
m.addTrack(audio);
IsoFile out = new DefaultMp4Builder().build(m);
FileOutputStream fos = new FileOutputStream(new File("output.mp4"));
out.getBox(fos.getChannel());
fos.close();
答案 1 :(得分:0)
来自isoparser的上一个示例无法使用最新来源进行编译。 我使用以下代码将原始h264(来自android MediaCodec)混合到.mp4容器
H264TrackImpl video;
try {
video = new H264TrackImpl(new FileDataSourceImpl("/home/aod/tmp/rec_1392309584754.h264"), "eng", 9, 1);
Movie m = new Movie();
m.addTrack(video);
BasicContainer out = (BasicContainer) new DefaultMp4Builder().build(m);
FileOutputStream fos = new FileOutputStream(new File("/home/aod/tmp/output.mp4"));
out.writeContainer(fos.getChannel());
fos.flush();
fos.close();
} catch ( IOException e) {
e.printStackTrace();
}