咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

Android 操作Mp4文件库

1. 文件操作

【mp4parser】 这个库提供了用于读取、写入和创建MP4文件的Java API,包含三个组件:

  1. isoparser
  2. muxer
  3. streaming

我用了muxer,将H264文件和AAC文件合并为MP4文件。

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.mp4parser/muxer -->
<dependency>
<groupId>org.mp4parser</groupId>
<artifactId>muxer</artifactId>
<version>1.9.41</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(h264Path));
AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl(aacPath));
Movie movie = new Movie();
movie.addTrack(h264Track);
movie.addTrack(aacTrack);
Container mp4file = new DefaultMp4Builder().build(movie);

FileChannel fc = new FileOutputStream(new File(outPath)).getChannel();
mp4file.writeContainer(fc);
fc.close();

2. 流式合并

  • 【MediaMuxer】

    Android 4.3 提供的一套用于将视频(H.264、H.263)和音频(AAC、ARM-NB、ARM-WB)合成的为mp4格式的一套简单好用的API

  • C++开源库 【mp4v2】 ,网上多数人用的是【2.0.0版本】

    mp4v2为操作mp4文件提供了一套强大的API。mp4v2提供了一套基于ISO/IEC 14496-1:2001标准的mp4格式文件的创建和修改的API,这个媒体容器被广泛的使用,具有很好的兼容性。

    不过对于我们Android开发来说有点麻烦,还需要自己做NDK编译和二次封装。