From 5d2d5145b91c6854f280a9c33b3f9acbee25efd9 Mon Sep 17 00:00:00 2001
From: 0xboobface <0xboobface@gmail.com>
Date: Sun, 22 Dec 2019 11:14:33 +0100
Subject: [PATCH] Remove dependency to isoparser library
---
common/pom.xml | 10 ---
.../recorder/download/dash/MergerMuxer.java | 66 -------------------
2 files changed, 76 deletions(-)
delete mode 100644 common/src/main/java/ctbrec/recorder/download/dash/MergerMuxer.java
diff --git a/common/pom.xml b/common/pom.xml
index 7d33544e..5537b685 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -71,16 +71,6 @@
junit
test
-
- org.mp4parser
- isoparser
- 1.9.41
-
-
- org.mp4parser
- muxer
- 1.9.41
-
javax.xml.bind
jaxb-api
diff --git a/common/src/main/java/ctbrec/recorder/download/dash/MergerMuxer.java b/common/src/main/java/ctbrec/recorder/download/dash/MergerMuxer.java
deleted file mode 100644
index af01cb35..00000000
--- a/common/src/main/java/ctbrec/recorder/download/dash/MergerMuxer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package ctbrec.recorder.download.dash;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.Arrays;
-
-import org.mp4parser.Container;
-import org.mp4parser.muxer.Movie;
-import org.mp4parser.muxer.Track;
-import org.mp4parser.muxer.builder.DefaultMp4Builder;
-import org.mp4parser.muxer.container.mp4.MovieCreator;
-
-public class MergerMuxer {
- File segmentDir;
-
- public MergerMuxer(File segmentDir) throws IOException {
- this.segmentDir = segmentDir;
- String[] videoSegments = segmentDir.list((dir, name) -> name.startsWith("video_"));
- Arrays.sort(videoSegments);
- String[] audioSegments = segmentDir.list((dir, name) -> name.startsWith("audio_"));
- Arrays.sort(audioSegments);
-
- File mp4VideoTrack = new File(segmentDir, "video.mp4");
- mergeSegments(videoSegments, mp4VideoTrack);
- File mp4AudioTrack = new File(segmentDir, "audio.mp4");
- mergeSegments(audioSegments, mp4AudioTrack);
-
- mergeTracks(mp4VideoTrack, mp4AudioTrack, new File(segmentDir, "merged.mp4"));
- Files.delete(mp4VideoTrack.toPath());
- Files.delete(mp4AudioTrack.toPath());
- }
-
- private void mergeSegments(String[] segments, File toFile) throws IOException {
- try (FileOutputStream out = new FileOutputStream(toFile)) {
- for (String segment : segments) {
- try (FileInputStream in = new FileInputStream(new File(segmentDir, segment))) {
- byte[] buffer = new byte[1024];
- int len = -1;
- while ((len = in.read(buffer)) >= 0) {
- out.write(buffer, 0, len);
- }
- }
- }
- }
- }
-
- private void mergeTracks(File mp4VideoTrack, File mp4AudioTrack, File output) throws IOException {
- Movie videoMovie = MovieCreator.build(mp4VideoTrack.getCanonicalPath());
- Track videoTrack = videoMovie.getTracks().get(0);
- Movie audioMovie = MovieCreator.build(mp4AudioTrack.getCanonicalPath());
- Track audioTrack = audioMovie.getTracks().get(0);
-
- Movie merged = new Movie();
- merged.addTrack(videoTrack);
- merged.addTrack(audioTrack);
-
- try (FileOutputStream out = new FileOutputStream(output)) {
- DefaultMp4Builder builder = new DefaultMp4Builder();
- Container stdMp4 = builder.build(merged);
- stdMp4.writeContainer(out.getChannel());
- }
- }
-}