Пример #1
0
        public void Test1()
        {
            //00 00 00 6c--box size
            //6d 76 68 64--box type mvhd
            //00--version
            //00 00 00--flags
            //d9 3e 0b 8e--creation time
            //d9 3e 0b 8e--modification time
            //00 01 5f 90--time scale
            //00 09 c7 e4 --duration
            //00 01 00 00--rate
            //01 00--volume
            //00 00 00 00 00 00 00 00 00 00--保留位 10位
            //00 01 00 00 00 00 00 00 00 00 00 00--matrix 视频变换矩阵36 -12
            //00 00 00 00 00 01 00 00 00 00 00 00--matrix 视频变换矩阵36 -24
            //00 00 00 00 00 00 00 00 40 00 00 00--matrix 视频变换矩阵36 -36
            //00 00 00 00 00 00 00 00--pre - defined 24 - 8
            //00 00 00 00 00 00 00 00--pre - defined 24 - 16
            //00 00 00 00 00 00 00 00--pre - defined 24 - 24
            //00 00 00 03--next track id
            MovieHeaderBox movieHeaderBox = new MovieHeaderBox(version: 0);

            movieHeaderBox.CreationTime     = 0xd93e0b8e;
            movieHeaderBox.ModificationTime = 0xd93e0b8e;
            movieHeaderBox.Timescale        = 0x00015f90;
            movieHeaderBox.Duration         = 0x0009c7e4;
            movieHeaderBox.NextTrackID      = 3;
            FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[0x6c]);

            movieHeaderBox.ToBuffer(ref writer);
            var hex = writer.FlushAndGetArray().ToHexString();

            Assert.Equal("00 00 00 6c 6d 76 68 64 00 00 00 00 d9 3e 0b 8e d9 3e 0b 8e 00 01 5f 90 00 09 c7 e4 00 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03".Replace(" ", "").ToUpper(), hex);
        }
Пример #2
0
        public void moov_mvhd_test()
        {
            MovieHeaderBox movieHeaderBox = new MovieHeaderBox(0);

            movieHeaderBox.CreationTime     = 0;
            movieHeaderBox.ModificationTime = 0;
            movieHeaderBox.Timescale        = 1000;
            movieHeaderBox.Duration         = 0;
            movieHeaderBox.NextTrackID      = 2;
            FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[10240]);

            movieHeaderBox.ToBuffer(ref writer);
            var hex = writer.FlushAndGetArray().ToHexString();

            Assert.Equal("0000006c6d766864000000000000000000000000000003e8000000000001000001000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002".ToUpper(), hex);
        }