Java h264转mp4
1、pom
<dependency>
<groupId>com.googlecode.mp4parser</groupId>
<artifactId>isoparser</artifactId>
<version>1.1.22</version>
</dependency>
2、code
import cn.hutool.core.lang.UUID; import com.coremedia.iso.boxes.Container; import com.googlecode.mp4parser.FileDataSourceImpl; import com.googlecode.mp4parser.authoring.Movie; import com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder; import com.googlecode.mp4parser.authoring.tracks.h264.H264TrackImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.io.File; import java.io.FileOutputStream; import java.nio.channels.FileChannel; @Component @Slf4j public class H264Job { @PostConstruct public void done() { try { String fromPath = "E://abc/1.h264"; String uuid = UUID.randomUUID().toString().replace("-", ""); String toPath = "E://abc/" + uuid + ".mp4"; H264TrackImpl h264TrackImpl = new H264TrackImpl(new FileDataSourceImpl(fromPath)); Movie movie = new Movie(); movie.addTrack(h264TrackImpl); Container mp4f = new DefaultMp4Builder().build(movie); FileChannel fChannel = new FileOutputStream(new File(toPath)).getChannel(); mp4f.writeContainer(fChannel); fChannel.close(); log.info("h264 change to mp4 done => {}", toPath); } catch (Exception e) { log.error("h264 job", e); } } }
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号