Replace CreationTime class with Mp4TimestampData class

PiperOrigin-RevId: 540257484
This commit is contained in:
sheenachhabra 2023-06-14 14:57:27 +01:00 committed by Ian Baker
parent 248d1d99ec
commit d0eda433ea
124 changed files with 405 additions and 331 deletions

View File

@ -1,91 +0,0 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.media3.container;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.Nullable;
import androidx.media3.common.Metadata;
import androidx.media3.common.util.UnstableApi;
import com.google.common.primitives.Longs;
/** Stores creation time. */
@UnstableApi
public final class CreationTime implements Metadata.Entry {
public final long timestampMs;
/**
* Creates an instance.
*
* @param timestampMs The creation time UTC in milliseconds since the Unix epoch.
*/
public CreationTime(long timestampMs) {
this.timestampMs = timestampMs;
}
private CreationTime(Parcel in) {
this.timestampMs = in.readLong();
}
@Override
public boolean equals(@Nullable Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof CreationTime)) {
return false;
}
return timestampMs == ((CreationTime) obj).timestampMs;
}
@Override
public int hashCode() {
return Longs.hashCode(timestampMs);
}
@Override
public String toString() {
long unsetCreationTime = -2_082_844_800_000L;
return "Creation time: " + (timestampMs == unsetCreationTime ? "unset" : timestampMs);
}
// Parcelable implementation.
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(timestampMs);
}
public static final Parcelable.Creator<CreationTime> CREATOR =
new Parcelable.Creator<CreationTime>() {
@Override
public CreationTime createFromParcel(Parcel in) {
return new CreationTime(in);
}
@Override
public CreationTime[] newArray(int size) {
return new CreationTime[size];
}
};
}

View File

@ -0,0 +1,136 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.media3.container;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.Nullable;
import androidx.media3.common.C;
import androidx.media3.common.Metadata;
import androidx.media3.common.util.UnstableApi;
import com.google.common.primitives.Longs;
/** Stores MP4 timestamp data. */
@UnstableApi
public final class Mp4TimestampData implements Metadata.Entry {
/** Represents an unset or unknown timescale. */
public static final int TIMESCALE_UNSET = -1;
/** The creation timestamp. */
public final long creationTimestampSeconds;
/** The modification timestamp. */
public final long modificationTimestampSeconds;
/** The timescale of the movie. */
public final long timescale;
/**
* Creates an instance.
*
* @param creationTimestampSeconds The creation time UTC in seconds since midnight, January 1,
* 1904. The {@link #modificationTimestampSeconds} is set to {@link C#TIME_UNSET} and {@link
* #timescale} is set to {@link Mp4TimestampData#TIMESCALE_UNSET}.
*/
public Mp4TimestampData(long creationTimestampSeconds) {
this.creationTimestampSeconds = creationTimestampSeconds;
this.modificationTimestampSeconds = C.TIME_UNSET;
this.timescale = TIMESCALE_UNSET;
}
/**
* Creates an instance.
*
* @param creationTimestampSeconds The creation time UTC in seconds since midnight, January 1,
* 1904.
* @param modificationTimestampSeconds The modification time UTC in seconds since midnight,
* January 1, 1904.
* @param timescale The timescale of the movie.
*/
public Mp4TimestampData(
long creationTimestampSeconds, long modificationTimestampSeconds, long timescale) {
this.creationTimestampSeconds = creationTimestampSeconds;
this.modificationTimestampSeconds = modificationTimestampSeconds;
this.timescale = timescale;
}
private Mp4TimestampData(Parcel in) {
this.creationTimestampSeconds = in.readLong();
this.modificationTimestampSeconds = in.readLong();
this.timescale = in.readLong();
}
@Override
public boolean equals(@Nullable Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Mp4TimestampData)) {
return false;
}
Mp4TimestampData other = (Mp4TimestampData) obj;
return creationTimestampSeconds == other.creationTimestampSeconds
&& modificationTimestampSeconds == other.modificationTimestampSeconds
&& timescale == other.timescale;
}
@Override
public int hashCode() {
int result = 17;
result = 31 * result + Longs.hashCode(creationTimestampSeconds);
result = 31 * result + Longs.hashCode(modificationTimestampSeconds);
result = 31 * result + Longs.hashCode(timescale);
return result;
}
@Override
public String toString() {
return "Mp4Timestamp: creation time="
+ creationTimestampSeconds
+ ", modification time="
+ modificationTimestampSeconds
+ ", timescale="
+ timescale;
}
// Parcelable implementation.
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(creationTimestampSeconds);
dest.writeLong(modificationTimestampSeconds);
dest.writeLong(timescale);
}
public static final Parcelable.Creator<Mp4TimestampData> CREATOR =
new Parcelable.Creator<Mp4TimestampData>() {
@Override
public Mp4TimestampData createFromParcel(Parcel in) {
return new Mp4TimestampData(in);
}
@Override
public Mp4TimestampData[] newArray(int size) {
return new Mp4TimestampData[size];
}
};
}

View File

@ -0,0 +1,43 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.media3.container;
import androidx.media3.common.util.UnstableApi;
/** Utilities for MP4 container. */
@UnstableApi
public final class Mp4Util {
private static final int UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS =
((1970 - 1904) * 365 + 17 /* leap year */) * (24 * 60 * 60);
private Mp4Util() {}
/**
* Returns an MP4 timestamp (in seconds since midnight, January 1, 1904) from a Unix epoch
* timestamp (in milliseconds since midnight, January 1, 1970).
*/
public static long unixTimeToMp4TimeSeconds(long unixTimestampMs) {
return (unixTimestampMs / 1000L + UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS);
}
/**
* Returns a Unix epoch timestamp (in milliseconds since midnight, January 1, 1970) from an MP4
* timestamp (in seconds since midnight, January 1, 1904).
*/
public static long mp4TimeToUnixTimeMs(long mp4TimestampSeconds) {
return (mp4TimestampSeconds - UNIX_EPOCH_TO_MP4_TIME_DELTA_SECONDS) * 1000L;
}
}

View File

@ -27,8 +27,8 @@ import androidx.media3.common.C;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.common.MimeTypes; import androidx.media3.common.MimeTypes;
import androidx.media3.common.util.Util; import androidx.media3.common.util.Util;
import androidx.media3.container.CreationTime;
import androidx.media3.container.MdtaMetadataEntry; import androidx.media3.container.MdtaMetadataEntry;
import androidx.media3.container.Mp4TimestampData;
import androidx.media3.exoplayer.source.TrackGroupArray; import androidx.media3.exoplayer.source.TrackGroupArray;
import androidx.media3.extractor.metadata.mp4.MotionPhotoMetadata; import androidx.media3.extractor.metadata.mp4.MotionPhotoMetadata;
import androidx.media3.extractor.metadata.mp4.SlowMotionData; import androidx.media3.extractor.metadata.mp4.SlowMotionData;
@ -176,7 +176,11 @@ public class MetadataRetrieverTest {
new SlowMotionData.Segment( new SlowMotionData.Segment(
/* startTimeMs= */ 1255, /* endTimeMs= */ 1970, /* speedDivisor= */ 8)); /* startTimeMs= */ 1255, /* endTimeMs= */ 1970, /* speedDivisor= */ 8));
SlowMotionData expectedSlowMotionData = new SlowMotionData(segments); SlowMotionData expectedSlowMotionData = new SlowMotionData(segments);
CreationTime expectedCreationTime = new CreationTime(/* timestampMs= */ 1604060090000L); Mp4TimestampData expectedMp4TimestampData =
new Mp4TimestampData(
/* creationTimestampSeconds= */ 3_686_904_890L,
/* modificationTimestampSeconds= */ 3_686_904_890L,
/* timescale= */ 1000);
MdtaMetadataEntry expectedMdtaEntry = MdtaMetadataEntry expectedMdtaEntry =
new MdtaMetadataEntry( new MdtaMetadataEntry(
KEY_ANDROID_CAPTURE_FPS, KEY_ANDROID_CAPTURE_FPS,
@ -198,7 +202,7 @@ public class MetadataRetrieverTest {
.isEqualTo(expectedTemporalLayersCountMetdata); .isEqualTo(expectedTemporalLayersCountMetdata);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(2)).isEqualTo(expectedSmtaEntry); assertThat(trackGroups.get(0).getFormat(0).metadata.get(2)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(3)).isEqualTo(expectedSlowMotionData); assertThat(trackGroups.get(0).getFormat(0).metadata.get(3)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(0).getFormat(0).metadata.get(4)).isEqualTo(expectedCreationTime); assertThat(trackGroups.get(0).getFormat(0).metadata.get(4)).isEqualTo(expectedMp4TimestampData);
// Video // Video
assertThat(trackGroups.get(1).getFormat(0).metadata.length()).isEqualTo(6); assertThat(trackGroups.get(1).getFormat(0).metadata.length()).isEqualTo(6);
@ -209,7 +213,7 @@ public class MetadataRetrieverTest {
assertThat(trackGroups.get(1).getFormat(0).metadata.get(2)).isEqualTo(expectedMdtaEntry); assertThat(trackGroups.get(1).getFormat(0).metadata.get(2)).isEqualTo(expectedMdtaEntry);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(3)).isEqualTo(expectedSmtaEntry); assertThat(trackGroups.get(1).getFormat(0).metadata.get(3)).isEqualTo(expectedSmtaEntry);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(4)).isEqualTo(expectedSlowMotionData); assertThat(trackGroups.get(1).getFormat(0).metadata.get(4)).isEqualTo(expectedSlowMotionData);
assertThat(trackGroups.get(1).getFormat(0).metadata.get(5)).isEqualTo(expectedCreationTime); assertThat(trackGroups.get(1).getFormat(0).metadata.get(5)).isEqualTo(expectedMp4TimestampData);
} }
@Test @Test

View File

@ -33,8 +33,8 @@ import androidx.media3.common.util.CodecSpecificDataUtil;
import androidx.media3.common.util.Log; import androidx.media3.common.util.Log;
import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.ParsableByteArray;
import androidx.media3.common.util.Util; import androidx.media3.common.util.Util;
import androidx.media3.container.CreationTime;
import androidx.media3.container.Mp4LocationData; import androidx.media3.container.Mp4LocationData;
import androidx.media3.container.Mp4TimestampData;
import androidx.media3.extractor.AacUtil; import androidx.media3.extractor.AacUtil;
import androidx.media3.extractor.Ac3Util; import androidx.media3.extractor.Ac3Util;
import androidx.media3.extractor.Ac4Util; import androidx.media3.extractor.Ac4Util;
@ -80,19 +80,6 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
} }
} }
/** Stores data retrieved from the mvhd atom. */
public static final class MvhdInfo {
/** The metadata. */
public final Metadata metadata;
/** The movie timescale. */
public final long timescale;
public MvhdInfo(Metadata metadata, long timescale) {
this.metadata = metadata;
this.timescale = timescale;
}
}
private static final String TAG = "AtomParsers"; private static final String TAG = "AtomParsers";
@SuppressWarnings("ConstantCaseForConstants") @SuppressWarnings("ConstantCaseForConstants")
@ -220,32 +207,27 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
} }
/** /**
* Parses a mvhd atom (defined in ISO/IEC 14496-12), returning the timescale for the movie. * Parses an mvhd atom (defined in ISO/IEC 14496-12).
* *
* @param mvhd Contents of the mvhd atom to be parsed. * @param mvhd Contents of the mvhd atom to be parsed.
* @return An object containing the parsed data. * @return An object containing the parsed data.
*/ */
public static MvhdInfo parseMvhd(ParsableByteArray mvhd) { public static Mp4TimestampData parseMvhd(ParsableByteArray mvhd) {
mvhd.setPosition(Atom.HEADER_SIZE); mvhd.setPosition(Atom.HEADER_SIZE);
int fullAtom = mvhd.readInt(); int fullAtom = mvhd.readInt();
int version = Atom.parseFullAtomVersion(fullAtom); int version = Atom.parseFullAtomVersion(fullAtom);
long creationTimestampSeconds; long creationTimestampSeconds;
long modificationTimestampSeconds;
if (version == 0) { if (version == 0) {
creationTimestampSeconds = mvhd.readUnsignedInt(); creationTimestampSeconds = mvhd.readUnsignedInt();
mvhd.skipBytes(4); // modification_time modificationTimestampSeconds = mvhd.readUnsignedInt();
} else { } else {
creationTimestampSeconds = mvhd.readLong(); creationTimestampSeconds = mvhd.readLong();
mvhd.skipBytes(8); // modification_time modificationTimestampSeconds = mvhd.readLong();
} }
// Convert creation time from MP4 format to Unix epoch timestamp in Ms.
// Time delta between January 1, 1904 (MP4 format) and January 1, 1970 (Unix epoch).
// Includes leap year.
int timeDeltaSeconds = (66 * 365 + 17) * (24 * 60 * 60);
long unixTimestampMs = (creationTimestampSeconds - timeDeltaSeconds) * 1000;
long timescale = mvhd.readUnsignedInt(); long timescale = mvhd.readUnsignedInt();
return new MvhdInfo(new Metadata(new CreationTime(unixTimestampMs)), timescale); return new Mp4TimestampData(creationTimestampSeconds, modificationTimestampSeconds, timescale);
} }
/** /**

View File

@ -513,7 +513,8 @@ public final class Mp4Extractor implements Extractor, SeekMap {
} }
Metadata mvhdMetadata = Metadata mvhdMetadata =
AtomParsers.parseMvhd(checkNotNull(moov.getLeafAtomOfType(Atom.TYPE_mvhd)).data).metadata; new Metadata(
AtomParsers.parseMvhd(checkNotNull(moov.getLeafAtomOfType(Atom.TYPE_mvhd)).data));
boolean ignoreEditLists = (flags & FLAG_WORKAROUND_IGNORE_EDIT_LISTS) != 0; boolean ignoreEditLists = (flags & FLAG_WORKAROUND_IGNORE_EDIT_LISTS) != 0;
List<TrackSampleTable> trackSampleTables = List<TrackSampleTable> trackSampleTables =

View File

@ -76,14 +76,14 @@ import java.util.Locale;
public static ByteBuffer tkhd( public static ByteBuffer tkhd(
int trackId, int trackId,
int trackDurationVu, int trackDurationVu,
long modificationDateUnixMs, int modificationTimestampSeconds,
int orientation, int orientation,
Format format) { Format format) {
ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE);
contents.putInt(0x00000007); // version and flags; allow presentation, etc. contents.putInt(0x00000007); // version and flags; allow presentation, etc.
contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time contents.putInt(modificationTimestampSeconds); // creation_time
contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time contents.putInt(modificationTimestampSeconds); // modification_time
contents.putInt(trackId); contents.putInt(trackId);
contents.putInt(0); // reserved contents.putInt(0); // reserved
@ -115,12 +115,12 @@ import java.util.Locale;
* <p>This is the movie header for the entire MP4 file. * <p>This is the movie header for the entire MP4 file.
*/ */
public static ByteBuffer mvhd( public static ByteBuffer mvhd(
int nextEmptyTrackId, long modificationDateUnixMs, long videoDurationUs) { int nextEmptyTrackId, int modificationTimestampSeconds, long videoDurationUs) {
ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE);
contents.putInt(0); // version and flags contents.putInt(0); // version and flags
contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time contents.putInt(modificationTimestampSeconds); // creation_time
contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time contents.putInt(modificationTimestampSeconds); // modification_time
contents.putInt((int) MVHD_TIMEBASE); // The per-track timescales might be different. contents.putInt((int) MVHD_TIMEBASE); // The per-track timescales might be different.
contents.putInt( contents.putInt(
(int) Mp4Utils.vuFromUs(videoDurationUs, MVHD_TIMEBASE)); // Duration of the entire video. (int) Mp4Utils.vuFromUs(videoDurationUs, MVHD_TIMEBASE)); // Duration of the entire video.
@ -158,13 +158,13 @@ import java.util.Locale;
public static ByteBuffer mdhd( public static ByteBuffer mdhd(
long trackDurationVu, long trackDurationVu,
int videoUnitTimebase, int videoUnitTimebase,
long modificationDateUnixMs, int modificationTimestampSeconds,
@Nullable String languageCode) { @Nullable String languageCode) {
ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE); ByteBuffer contents = ByteBuffer.allocate(Mp4Utils.MAX_FIXED_LEAF_BOX_SIZE);
contents.putInt(0x0); // version and flags contents.putInt(0x0); // version and flags
contents.putInt(toMp4Time(modificationDateUnixMs)); // creation_time contents.putInt(modificationTimestampSeconds); // creation_time
contents.putInt(toMp4Time(modificationDateUnixMs)); // modification_time contents.putInt(modificationTimestampSeconds); // modification_time
contents.putInt(videoUnitTimebase); contents.putInt(videoUnitTimebase);
@ -1101,16 +1101,6 @@ import java.util.Locale;
return BoxUtils.wrapIntoBox("esds", contents); return BoxUtils.wrapIntoBox("esds", contents);
} }
/** Convert Unix epoch timestamps to the format used by MP4 files. */
private static int toMp4Time(long unixTimeMs) {
// Time delta between January 1, 1904 (MP4 format) and January 1, 1970 (Unix epoch).
// Includes leap year.
long timeDeltaSeconds = (66 * 365 + 17) * (24 * 60 * 60);
// The returned value is a positive (when read as unsigned) integer.
return (int) (unixTimeMs / 1000L + timeDeltaSeconds);
}
/** Packs a three-letter language code into a short, packing 3x5 bits. */ /** Packs a three-letter language code into a short, packing 3x5 bits. */
private static short languageCodeFromString(@Nullable String code) { private static short languageCodeFromString(@Nullable String code) {
if (code == null) { if (code == null) {

View File

@ -15,8 +15,10 @@
*/ */
package androidx.media3.muxer; package androidx.media3.muxer;
import static androidx.media3.common.util.Assertions.checkArgument;
import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkState;
import androidx.media3.container.Mp4Util;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@ -27,13 +29,14 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
public int orientation; public int orientation;
public @MonotonicNonNull Mp4Location location; public @MonotonicNonNull Mp4Location location;
public Map<String, Object> metadataPairs; public Map<String, Object> metadataPairs;
public long modificationDateUnixMs; public int modificationTimestampSeconds;
public @MonotonicNonNull ByteBuffer xmpData; public @MonotonicNonNull ByteBuffer xmpData;
public MetadataCollector() { public MetadataCollector() {
orientation = 0; orientation = 0;
metadataPairs = new LinkedHashMap<>(); metadataPairs = new LinkedHashMap<>();
modificationDateUnixMs = System.currentTimeMillis(); modificationTimestampSeconds =
(int) Mp4Util.unixTimeToMp4TimeSeconds(System.currentTimeMillis());
} }
public void addXmp(ByteBuffer xmpData) { public void addXmp(ByteBuffer xmpData) {
@ -57,7 +60,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
metadataPairs.put(key, value); metadataPairs.put(key, value);
} }
public void setModificationTime(long modificationDateUnixMs) { public void setModificationTime(long unixTimestampMs) {
this.modificationDateUnixMs = modificationDateUnixMs; long maxUnsignedInt = 4294967295L;
long timestampSeconds = Mp4Util.unixTimeToMp4TimeSeconds(unixTimestampMs);
checkArgument(timestampSeconds <= maxUnsignedInt, "Only 32-bit long timestamp supported");
this.modificationTimestampSeconds = (int) timestampSeconds;
} }
} }

View File

@ -144,14 +144,14 @@ import org.checkerframework.checker.nullness.qual.PolyNull;
// Using the time base of the entire file, not that of the track; otherwise, // Using the time base of the entire file, not that of the track; otherwise,
// Quicktime will stretch the audio accordingly, see b/158120042. // Quicktime will stretch the audio accordingly, see b/158120042.
(int) Mp4Utils.vuFromUs(trackDurationUs, MVHD_TIMEBASE), (int) Mp4Utils.vuFromUs(trackDurationUs, MVHD_TIMEBASE),
metadataCollector.modificationDateUnixMs, metadataCollector.modificationTimestampSeconds,
metadataCollector.orientation, metadataCollector.orientation,
format), format),
Boxes.mdia( Boxes.mdia(
Boxes.mdhd( Boxes.mdhd(
trackDurationInTrackUnitsVu, trackDurationInTrackUnitsVu,
track.videoUnitTimebase(), track.videoUnitTimebase(),
metadataCollector.modificationDateUnixMs, metadataCollector.modificationTimestampSeconds,
languageCode), languageCode),
Boxes.hdlr(handlerType, handlerName), Boxes.hdlr(handlerType, handlerName),
Boxes.minf(mhdBox, Boxes.dinf(Boxes.dref(Boxes.localUrl())), stblBox))); Boxes.minf(mhdBox, Boxes.dinf(Boxes.dref(Boxes.localUrl())), stblBox)));
@ -163,7 +163,7 @@ import org.checkerframework.checker.nullness.qual.PolyNull;
} }
ByteBuffer mvhdBox = ByteBuffer mvhdBox =
Boxes.mvhd(nextTrackId, metadataCollector.modificationDateUnixMs, videoDurationUs); Boxes.mvhd(nextTrackId, metadataCollector.modificationTimestampSeconds, videoDurationUs);
ByteBuffer udtaBox = Boxes.udta(metadataCollector.location); ByteBuffer udtaBox = Boxes.udta(metadataCollector.location);
ByteBuffer metaBox = ByteBuffer metaBox =
metadataCollector.metadataPairs.isEmpty() metadataCollector.metadataPairs.isEmpty()

View File

@ -63,7 +63,7 @@ public class BoxesTest {
Boxes.tkhd( Boxes.tkhd(
/* trackId= */ 1, /* trackId= */ 1,
/* trackDurationVu= */ 5_000_000, /* trackDurationVu= */ 5_000_000,
/* modificationDateUnixMs= */ 1_000_000_000, /* modificationTimestampSeconds= */ 1_000_000_000,
/* orientation= */ 90, /* orientation= */ 90,
videoFormat); videoFormat);
@ -80,7 +80,7 @@ public class BoxesTest {
Boxes.tkhd( Boxes.tkhd(
/* trackId= */ 1, /* trackId= */ 1,
/* trackDurationVu= */ 5_000_000, /* trackDurationVu= */ 5_000_000,
/* modificationDateUnixMs= */ 1_000_000_000, /* modificationTimestampSeconds= */ 1_000_000_000,
/* orientation= */ 90, /* orientation= */ 90,
audioFormat); audioFormat);
@ -94,7 +94,7 @@ public class BoxesTest {
ByteBuffer mvhdBox = ByteBuffer mvhdBox =
Boxes.mvhd( Boxes.mvhd(
/* nextEmptyTrackId= */ 3, /* nextEmptyTrackId= */ 3,
/* modificationDateUnixMs= */ 1_000_000_000, /* modificationTimestampSeconds= */ 1_000_000_000,
/* videoDurationUs= */ 5_000_000); /* videoDurationUs= */ 5_000_000);
DumpableMp4Box dumpableBox = new DumpableMp4Box(mvhdBox); DumpableMp4Box dumpableBox = new DumpableMp4Box(mvhdBox);
@ -107,7 +107,7 @@ public class BoxesTest {
Boxes.mdhd( Boxes.mdhd(
/* trackDurationVu= */ 5_000_000, /* trackDurationVu= */ 5_000_000,
VU_TIMEBASE, VU_TIMEBASE,
/* modificationDateUnixMs= */ 1_000_000_000, /* modificationTimestampSeconds= */ 1_000_000_000,
/* languageCode= */ "und"); /* languageCode= */ "und");
DumpableMp4Box dumpableBox = new DumpableMp4Box(mdhdBox); DumpableMp4Box dumpableBox = new DumpableMp4Box(mdhdBox);

View File

@ -17,7 +17,7 @@ track 0:
width = 180 width = 180
height = 120 height = 120
pixelWidthHeightRatio = 0.5 pixelWidthHeightRatio = 0.5
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 32, hash 1F3D6E87 data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180 width = 180
height = 120 height = 120
pixelWidthHeightRatio = 0.5 pixelWidthHeightRatio = 0.5
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 32, hash 1F3D6E87 data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180 width = 180
height = 120 height = 120
pixelWidthHeightRatio = 0.5 pixelWidthHeightRatio = 0.5
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 32, hash 1F3D6E87 data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 180 width = 180
height = 120 height = 120
pixelWidthHeightRatio = 0.5 pixelWidthHeightRatio = 0.5
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 32, hash 1F3D6E87 data = length 32, hash 1F3D6E87
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 1635264810000] metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 1635264810000] metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 1635264810000] metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 1635264810000] metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 1635264810000] metadata = entries=[Mp4Timestamp: creation time=3718109610, modification time=3718109610, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B

View File

@ -18,7 +18,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1581574441000] metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -18,7 +18,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1581574441000] metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600]
sample 0: sample 0:
time = 96000 time = 96000
flags = 1 flags = 1

View File

@ -18,7 +18,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1581574441000] metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600]
sample 0: sample 0:
time = 192000 time = 192000
flags = 1 flags = 1

View File

@ -18,7 +18,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1581574441000] metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600]
sample 0: sample 0:
time = 256000 time = 256000
flags = 536870913 flags = 536870913

View File

@ -18,7 +18,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1581574441000] metadata = entries=[Mp4Timestamp: creation time=3664419241, modification time=3664419241, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1578288075000] metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1578288075000] metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1578288075000] metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1578288075000] metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1578288075000] metadata = entries=[Mp4Timestamp: creation time=3661132875, modification time=3661132875, timescale=600]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 22, hash 4CF81805 data = length 22, hash 4CF81805
data = length 9, hash FBAFBA1C data = length 9, hash FBAFBA1C

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 22, hash 4CF81805 data = length 22, hash 4CF81805
data = length 9, hash FBAFBA1C data = length 9, hash FBAFBA1C

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 22, hash 4CF81805 data = length 22, hash 4CF81805
data = length 9, hash FBAFBA1C data = length 9, hash FBAFBA1C

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 22, hash 4CF81805 data = length 22, hash 4CF81805
data = length 9, hash FBAFBA1C data = length 9, hash FBAFBA1C

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Creation time: unset] metadata = entries=[mdta: key=major_brand, value=mp42, mdta: key=minor_version, value=0, mdta: key=compatible_brands, value=isommp42, mdta: key=com.android.capture.fps, value=240.0, mdta: key=com.android.version, value=10, mdta: key=encoder, value=Lavf58.29.100, Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 22, hash 4CF81805 data = length 22, hash 4CF81805
data = length 9, hash FBAFBA1C data = length 9, hash FBAFBA1C

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1633006610000] metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1633006610000] metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000]
sample 0: sample 0:
time = 106666 time = 106666
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1633006610000] metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000]
sample 0: sample 0:
time = 213333 time = 213333
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1633006610000] metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000]
sample 0: sample 0:
time = 320000 time = 320000
flags = 1 flags = 1

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1633006610000] metadata = entries=[Mp4Timestamp: creation time=3715851410, modification time=3715851410, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579241726000] metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579241726000] metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000]
sample 0: sample 0:
time = 576000 time = 576000
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579241726000] metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000]
sample 0: sample 0:
time = 1152000 time = 1152000
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579241726000] metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000]
sample 0: sample 0:
time = 1696000 time = 1696000
flags = 536870913 flags = 536870913

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579241726000] metadata = entries=[Mp4Timestamp: creation time=3662086526, modification time=3662086526, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579242140000] metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579242140000] metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000]
sample 0: sample 0:
time = 672000 time = 672000
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579242140000] metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000]
sample 0: sample 0:
time = 1344000 time = 1344000
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579242140000] metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000]
sample 0: sample 0:
time = 2016000 time = 2016000
flags = 536870913 flags = 536870913

View File

@ -17,7 +17,7 @@ track 0:
channelCount = 6 channelCount = 6
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[Creation time: 1579242140000] metadata = entries=[Mp4Timestamp: creation time=3662086940, modification time=3662086940, timescale=48000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[Creation time: 1464714095000] metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[Creation time: 1464714095000] metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[Creation time: 1464714095000] metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[Creation time: 1464714095000] metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 29.970028 frameRate = 29.970028
metadata = entries=[Creation time: 1464714095000] metadata = entries=[Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Creation time: 1464714095000] metadata = entries=[TSSE: description=null: values=[Lavf56.1.0], Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=1000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -18,7 +18,7 @@ track 0:
encoderDelay = 3072 encoderDelay = 3072
encoderPadding = 255 encoderPadding = 255
language = und language = und
metadata = entries=[Creation time: 1619054108000] metadata = entries=[Mp4Timestamp: creation time=3701898908, modification time=3701898908, timescale=48000]
initializationData: initializationData:
data = length 26, hash 4E58F6C7 data = length 26, hash 4E58F6C7
sample 0: sample 0:

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 19, hash 86852AE2 data = length 19, hash 86852AE2
data = length 8, hash 72CBCBF5 data = length 8, hash 72CBCBF5

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 19, hash 86852AE2 data = length 19, hash 86852AE2
data = length 8, hash 72CBCBF5 data = length 8, hash 72CBCBF5

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 19, hash 86852AE2 data = length 19, hash 86852AE2
data = length 8, hash 72CBCBF5 data = length 8, hash 72CBCBF5

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 19, hash 86852AE2 data = length 19, hash 86852AE2
data = length 8, hash 72CBCBF5 data = length 8, hash 72CBCBF5

View File

@ -16,7 +16,7 @@ track 0:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 19, hash 86852AE2 data = length 19, hash 86852AE2
data = length 8, hash 72CBCBF5 data = length 8, hash 72CBCBF5

View File

@ -23,7 +23,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 7 colorTransfer = 7
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 526, hash 7B3FC433 data = length 526, hash 7B3FC433
sample 0: sample 0:
@ -75,7 +75,7 @@ track 1:
sampleRate = 44100 sampleRate = 44100
encoderPadding = 2204 encoderPadding = 2204
language = und language = und
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 2, hash 5FF data = length 2, hash 5FF
sample 0: sample 0:

View File

@ -23,7 +23,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 7 colorTransfer = 7
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 526, hash 7B3FC433 data = length 526, hash 7B3FC433
sample 0: sample 0:
@ -75,7 +75,7 @@ track 1:
sampleRate = 44100 sampleRate = 44100
encoderPadding = 2204 encoderPadding = 2204
language = und language = und
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 2, hash 5FF data = length 2, hash 5FF
sample 0: sample 0:

View File

@ -23,7 +23,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 7 colorTransfer = 7
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 526, hash 7B3FC433 data = length 526, hash 7B3FC433
sample 0: sample 0:
@ -75,7 +75,7 @@ track 1:
sampleRate = 44100 sampleRate = 44100
encoderPadding = 2204 encoderPadding = 2204
language = und language = und
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 2, hash 5FF data = length 2, hash 5FF
sample 0: sample 0:

View File

@ -23,7 +23,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 7 colorTransfer = 7
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 526, hash 7B3FC433 data = length 526, hash 7B3FC433
sample 0: sample 0:
@ -75,7 +75,7 @@ track 1:
sampleRate = 44100 sampleRate = 44100
encoderPadding = 2204 encoderPadding = 2204
language = und language = und
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 2, hash 5FF data = length 2, hash 5FF
sample 0: sample 0:

View File

@ -23,7 +23,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 7 colorTransfer = 7
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 526, hash 7B3FC433 data = length 526, hash 7B3FC433
sample 0: sample 0:
@ -75,7 +75,7 @@ track 1:
sampleRate = 44100 sampleRate = 44100
encoderPadding = 2204 encoderPadding = 2204
language = und language = und
metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Creation time: 1621959711000] metadata = entries=[mdta: key=com.apple.quicktime.location.accuracy.horizontal, value=3.754789, mdta: key=com.apple.quicktime.location.ISO6709, value=+37.7450-122.4301+066.374/, mdta: key=com.apple.quicktime.make, value=Apple, mdta: key=com.apple.quicktime.model, value=iPhone 12 Pro Max, mdta: key=com.apple.quicktime.software, value=14.5.1, mdta: key=com.apple.quicktime.creationdate, value=2021-05-25T09:21:51-0700, Mp4Timestamp: creation time=3704804511, modification time=3704804511, timescale=600]
initializationData: initializationData:
data = length 2, hash 5FF data = length 2, hash 5FF
sample 0: sample 0:

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35 hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -275,7 +275,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 16, hash CAA21BBF data = length 16, hash CAA21BBF
sample 0: sample 0:

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35 hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -275,7 +275,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 16, hash CAA21BBF data = length 16, hash CAA21BBF
sample 0: sample 0:

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35 hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -275,7 +275,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 16, hash CAA21BBF data = length 16, hash CAA21BBF
sample 0: sample 0:

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35 hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -275,7 +275,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 16, hash CAA21BBF data = length 16, hash CAA21BBF
sample 0: sample 0:

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35 hdrStaticInfo = length 25, hash 423AFC35
metadata = entries=[Creation time: unset] metadata = entries=[Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -275,7 +275,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Creation time: unset] metadata = entries=[TSSE: description=null: values=[Lavf58.76.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
initializationData: initializationData:
data = length 16, hash CAA21BBF data = length 16, hash CAA21BBF
sample 0: sample 0:

View File

@ -1,2 +1,2 @@
tkhd (92 bytes): tkhd (92 bytes):
Data = length 84, hash 2AEDD676 Data = length 84, hash 8F9E5354

View File

@ -13,7 +13,7 @@ track 0:
id = 1 id = 1
sampleMimeType = application/meta sampleMimeType = application/meta
maxInputSize = 161 maxInputSize = 161
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
sample 0: sample 0:
time = 0 time = 0
flags = 1 flags = 1
@ -39,7 +39,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = ``` language = ```
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 2, hash 560 data = length 2, hash 560
sample 0: sample 0:
@ -70,7 +70,7 @@ track 2:
colorRange = 1 colorRange = 1
colorTransfer = 3 colorTransfer = 3
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 85, hash 6F3CAA16 data = length 85, hash 6F3CAA16
sample 0: sample 0:

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 99, hash 99842E5A data = length 99, hash 99842E5A
sample 0: sample 0:
@ -546,7 +546,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = ``` language = ```
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 2, hash 560 data = length 2, hash 560
sample 0: sample 0:

View File

@ -1,2 +1,2 @@
mdhd (32 bytes): mdhd (32 bytes):
Data = length 24, hash E3506098 Data = length 24, hash D0792E76

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 5000000] metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 5000000] metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 5000000] metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 5000000] metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682
@ -50,7 +50,7 @@ track 1:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[mdta: key=com.android.capture.fps, value=120.0, Creation time: 5000000] metadata = entries=[mdta: key=com.android.capture.fps, value=120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[xyz: latitude=33.0, longitude=-120.0, Creation time: 5000000] metadata = entries=[xyz: latitude=33.0, longitude=-120.0, Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -21,7 +21,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 5000000] metadata = entries=[Mp4Timestamp: creation time=2082849800, modification time=2082849800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682
@ -50,7 +50,7 @@ track 1:
colorRange = 1 colorRange = 1
colorTransfer = -1 colorTransfer = -1
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 28, hash 410B510 data = length 28, hash 410B510
data = length 9, hash FBADD682 data = length 9, hash FBADD682

View File

@ -1,2 +1,2 @@
mvhd (108 bytes): mvhd (108 bytes):
Data = length 100, hash E35D7A28 Data = length 100, hash 22E47B06

View File

@ -22,7 +22,7 @@ track 0:
colorRange = 2 colorRange = 2
colorTransfer = 6 colorTransfer = 6
hdrStaticInfo = length 0, hash 0 hdrStaticInfo = length 0, hash 0
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 99, hash 99842E5A data = length 99, hash 99842E5A
sample 0: sample 0:
@ -414,7 +414,7 @@ track 1:
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
language = ``` language = ```
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 2, hash 560 data = length 2, hash 560
sample 0: sample 0:

View File

@ -17,7 +17,7 @@ track 0:
width = 1080 width = 1080
height = 720 height = 720
frameRate = 32.113037 frameRate = 32.113037
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 29, hash 4746B5D9 data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B data = length 10, hash 7A0D0F2B
@ -153,7 +153,7 @@ track 1:
channelCount = 1 channelCount = 1
sampleRate = 44100 sampleRate = 44100
language = und language = und
metadata = entries=[Creation time: 500000000] metadata = entries=[Mp4Timestamp: creation time=2083344800, modification time=2083344800, timescale=10000]
initializationData: initializationData:
data = length 2, hash 5F7 data = length 2, hash 5F7
sample 0: sample 0:

Some files were not shown because too many files have changed in this diff Show More