Move flv test data and expectations to a dedicated git repisitory.

This commit is contained in:
genteure 2022-06-07 19:50:34 +08:00
parent d915dbd138
commit 250a315233
59 changed files with 68 additions and 114172 deletions

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "webui-source"]
path = webui/source
url = https://github.com/BililiveRecorder/BililiveRecorder-WebUI.git
[submodule "test-data"]
path = test/data
url = https://github.com/BililiveRecorder/test-data.git

View File

@ -1 +0,0 @@
[{"Type":"String","Value":"test"},{"Type":"Object","Value":{"bool_true":{"Type":"Boolean","Value":true},"bool_false":{"Type":"Boolean","Value":false},"date1":{"Type":"Date","Value":"2021-11-12T11:11:31.972+00:00"},"date2":{"Type":"Date","Value":"2345-03-14T07:08:09.012+04:00"},"ecmaarray":{"Type":"EcmaArray","Value":{"element1":{"Type":"String","Value":"element1"},"element2":{"Type":"String","Value":"element2"},"element3":{"Type":"String","Value":"element3"}}},"longstring1":{"Type":"LongString","Value":"longstring1"},"longstring2":{"Type":"LongString","Value":"longstring2"},"null":{"Type":"Null"},"number1":{"Type":"Number","Value":0.0},"number2":{"Type":"Number","Value":197653.845},"number3":{"Type":"Number","Value":-95.7},"number4":{"Type":"Number","Value":5E-324},"strictarray":{"Type":"StrictArray","Value":[{"Type":"String","Value":"element1"},{"Type":"String","Value":"element2"},{"Type":"String","Value":"element3"}]},"string1":{"Type":"String","Value":"string1"},"string2":{"Type":"String","Value":"string2"},"undefined":{"Type":"Undefined"}}}]

View File

@ -1 +0,0 @@
[{"Type":"String","Value":"test"},{"Type":"Boolean","Value":true},{"Type":"Boolean","Value":false},{"Type":"Number","Value":0.0},{"Type":"Number","Value":-95.7}]

View File

@ -1,173 +0,0 @@
{
"TagCounts": [
78
],
"Comments": [
{
"Type": "DecodingHeader",
"Count": 1
}
],
"AlternativeHeaders": [
"170000000001640028FFE1001D67640028ACD940780227E59A808080A0000003002000000791E30632C001000468EF8FCBBABABABABABA",
"AF00119056E500FFFFFFFFFFFFFFFF",
"170000000001640028FFE1001D67640028ACD940780227E59A808080A0000003002000000791E30632C001000468EF8FCB",
"AF00119056E500AAAAAAAAAAAA",
"AF00119056E500"
]
}
<?xml version="1.0" encoding="utf-16"?>
<BililiveRecorderFlv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Tags>
<Tag Type="Script" Size="0" Timestamp="0">
<ScriptData>[{"Type":"String","Value":"onMetaData"},{"Type":"EcmaArray","Value":{"duration":{"Type":"Number","Value":1.0},"width":{"Type":"Number","Value":1920.0},"height":{"Type":"Number","Value":1080.0},"videodatarate":{"Type":"Number","Value":1464.84375},"framerate":{"Type":"Number","Value":30.0},"videocodecid":{"Type":"Number","Value":7.0},"audiodatarate":{"Type":"Number","Value":156.25},"audiosamplerate":{"Type":"Number","Value":48000.0},"audiosamplesize":{"Type":"Number","Value":16.0},"stereo":{"Type":"Boolean","Value":true},"audiocodecid":{"Type":"Number","Value":10.0},"encoder":{"Type":"String","Value":"Lavf58.29.100"},"filesize":{"Type":"Number","Value":524554.0}}}]</ScriptData>
</Tag>
<Tag Type="Video" Flag="Header Keyframe" Size="49" Timestamp="0">
<BinaryData>170000000001640028FFE1001D67640028ACD940780227E59A808080A0000003002000000791E30632C001000468EF8FCB</BinaryData>
</Tag>
<Tag Type="Audio" Flag="Header" Size="7" Timestamp="0">
<BinaryData>AF00119056E500</BinaryData>
</Tag>
<Tag Type="Video" Flag="Keyframe" Size="1993" Timestamp="0">
<Nalus StartPosition="9" FullSize="753" Type="Sei" />
<Nalus StartPosition="766" FullSize="29" Type="Sps" />
<Nalus StartPosition="799" FullSize="4" Type="Pps" />
<Nalus StartPosition="807" FullSize="753" Type="Sei" />
<Nalus StartPosition="1564" FullSize="429" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Video" Size="76" Timestamp="34">
<Nalus StartPosition="9" FullSize="67" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Video" Size="73" Timestamp="67">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="405" Timestamp="67" />
<Tag Type="Audio" Size="481" Timestamp="88" />
<Tag Type="Video" Size="73" Timestamp="100">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="444" Timestamp="110" />
<Tag Type="Audio" Size="431" Timestamp="131" />
<Tag Type="Video" Size="73" Timestamp="134">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="329" Timestamp="152" />
<Tag Type="Video" Size="77" Timestamp="167">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="336" Timestamp="174" />
<Tag Type="Audio" Size="339" Timestamp="195" />
<Tag Type="Video" Size="75" Timestamp="200">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="337" Timestamp="216" />
<Tag Type="Video" Size="73" Timestamp="234">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="355" Timestamp="238" />
<Tag Type="Audio" Size="409" Timestamp="259" />
<Tag Type="Video" Size="73" Timestamp="267">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="401" Timestamp="280" />
<Tag Type="Video" Size="77" Timestamp="300">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="409" Timestamp="302" />
<Tag Type="Audio" Size="411" Timestamp="323" />
<Tag Type="Video" Size="75" Timestamp="334">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="443" Timestamp="344" />
<Tag Type="Audio" Size="394" Timestamp="366" />
<Tag Type="Video" Size="73" Timestamp="367">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="425" Timestamp="387" />
<Tag Type="Video" Size="73" Timestamp="400">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="432" Timestamp="408" />
<Tag Type="Audio" Size="424" Timestamp="430" />
<Tag Type="Video" Size="77" Timestamp="434">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="415" Timestamp="451" />
<Tag Type="Video" Size="75" Timestamp="467">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="475" Timestamp="472" />
<Tag Type="Audio" Size="462" Timestamp="494" />
<Tag Type="Video" Size="73" Timestamp="500">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="415" Timestamp="515" />
<Tag Type="Video" Size="73" Timestamp="534">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="425" Timestamp="536" />
<Tag Type="Audio" Size="422" Timestamp="558" />
<Tag Type="Video" Size="77" Timestamp="567">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="418" Timestamp="579" />
<Tag Type="Video" Size="75" Timestamp="600">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="401" Timestamp="600" />
<Tag Type="Audio" Size="415" Timestamp="622" />
<Tag Type="Video" Size="73" Timestamp="634">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="419" Timestamp="643" />
<Tag Type="Audio" Size="412" Timestamp="664" />
<Tag Type="Video" Size="73" Timestamp="667">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="438" Timestamp="686" />
<Tag Type="Video" Size="77" Timestamp="700">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="426" Timestamp="707" />
<Tag Type="Audio" Size="425" Timestamp="728" />
<Tag Type="Video" Size="75" Timestamp="734">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="447" Timestamp="750" />
<Tag Type="Video" Size="73" Timestamp="767">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="404" Timestamp="771" />
<Tag Type="Audio" Size="442" Timestamp="792" />
<Tag Type="Video" Size="73" Timestamp="800">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="440" Timestamp="814" />
<Tag Type="Video" Size="77" Timestamp="834">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="439" Timestamp="835" />
<Tag Type="Audio" Size="425" Timestamp="856" />
<Tag Type="Video" Size="75" Timestamp="867">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="471" Timestamp="878" />
<Tag Type="Audio" Size="466" Timestamp="899" />
<Tag Type="Video" Size="73" Timestamp="900">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="447" Timestamp="920" />
<Tag Type="Video" Size="73" Timestamp="934">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="455" Timestamp="942" />
<Tag Type="Audio" Size="450" Timestamp="963" />
<Tag Type="Video" Size="77" Timestamp="967">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="409" Timestamp="984" />
<Tag Type="Video" Size="75" Timestamp="1000">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
</Tags>
</BililiveRecorderFlv>

View File

@ -1,799 +0,0 @@
{
"TagCounts": [
366
],
"Comments": [
{
"Type": "TimestampOffset",
"Count": 105
},
{
"Type": "RepeatingData",
"Count": 99
},
{
"Type": "TimestampJump",
"Count": 3
}
],
"AlternativeHeaders": []
}
<?xml version="1.0" encoding="utf-16"?>
<BililiveRecorderFlv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Tags>
<Tag Type="Script" Size="0" Timestamp="0">
<ScriptData>[{"Type":"String","Value":"onMetaData"},{"Type":"EcmaArray","Value":{"Rawdata":{"Type":"String","Value":""},"width":{"Type":"Number","Value":1280.0},"height":{"Type":"Number","Value":720.0},"displayWidth":{"Type":"Number","Value":1280.0},"displayHeight":{"Type":"Number","Value":720.0},"framerate":{"Type":"Number","Value":0.0},"fps":{"Type":"Number","Value":0.0},"videodatarate":{"Type":"Number","Value":0.0},"videocodecid":{"Type":"Number","Value":7.0},"audiodatarate":{"Type":"Number","Value":0.0},"audiocodecid":{"Type":"Number","Value":10.0},"profile":{"Type":"String","Value":""},"level":{"Type":"String","Value":""},"encoder":{"Type":"String","Value":"Agora.io Encoder"},"duration":{"Type":"Number","Value":5.497},"lasttimestamp":{"Type":"Number","Value":104385.0},"BililiveRecorder":{"Type":"Object","Value":{"starttime":{"Type":"Date","Value":"2021-03-02T15:44:01.993+00:00"},"version":{"Type":"String","Value":"1.2.2 815189c6"},"roomid":{"Type":"String","Value":"22811252"},"streamername":{"Type":"String","Value":"沁沁ye"}}}}}]</ScriptData>
</Tag>
<Tag Type="Video" Flag="Header Keyframe" Size="43" Timestamp="0">
<BinaryData>17000000000164001F030100176764001FACB402802DD0800000030080000018478C195001000468EF3CB0</BinaryData>
</Tag>
<Tag Type="Audio" Flag="Header" Size="4" Timestamp="0">
<BinaryData>AF001210</BinaryData>
</Tag>
<Tag Type="Video" Flag="Keyframe" Size="56420" Timestamp="16">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="311" Type="Sei" />
<Nalus StartPosition="359" FullSize="26991" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="27354" FullSize="29066" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="355" Timestamp="34" />
<Tag Type="Video" Size="4317" Timestamp="57">
<Nalus StartPosition="9" FullSize="2529" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2542" FullSize="1775" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="349" Timestamp="58" />
<Tag Type="Audio" Size="359" Timestamp="81" />
<Tag Type="Video" Size="3310" Timestamp="98">
<Nalus StartPosition="9" FullSize="1656" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1669" FullSize="1641" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="104" />
<Tag Type="Audio" Size="367" Timestamp="128" />
<Tag Type="Video" Size="5104" Timestamp="139">
<Nalus StartPosition="9" FullSize="2595" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2608" FullSize="2496" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="151" />
<Tag Type="Audio" Size="367" Timestamp="174" />
<Tag Type="Video" Size="7001" Timestamp="180">
<Nalus StartPosition="9" FullSize="3392" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3405" FullSize="3596" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="197" />
<Tag Type="Audio" Size="367" Timestamp="220" />
<Tag Type="Video" Size="6845" Timestamp="221">
<Nalus StartPosition="9" FullSize="3178" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3191" FullSize="3654" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="243" />
<Tag Type="Video" Size="6172" Timestamp="262">
<Nalus StartPosition="9" FullSize="2792" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2805" FullSize="3367" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="267" />
<Tag Type="Audio" Size="366" Timestamp="290" />
<Tag Type="Video" Size="15111" Timestamp="303">
<Nalus StartPosition="9" FullSize="6865" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="6878" FullSize="8233" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="313" />
<Tag Type="Audio" Size="366" Timestamp="337" />
<Tag Type="Video" Size="6450" Timestamp="344">
<Nalus StartPosition="9" FullSize="2921" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2934" FullSize="3516" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="360" />
<Tag Type="Audio" Size="366" Timestamp="383" />
<Tag Type="Video" Size="6559" Timestamp="385">
<Nalus StartPosition="9" FullSize="3038" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3051" FullSize="3508" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="407" />
<Tag Type="Video" Size="5506" Timestamp="427">
<Nalus StartPosition="9" FullSize="2270" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2283" FullSize="3223" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="429" />
<Tag Type="Audio" Size="367" Timestamp="452" />
<Tag Type="Video" Size="9519" Timestamp="468">
<Nalus StartPosition="9" FullSize="4392" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4405" FullSize="5114" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="475" />
<Tag Type="Audio" Size="367" Timestamp="499" />
<Tag Type="Video" Size="6342" Timestamp="509">
<Nalus StartPosition="9" FullSize="2772" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2785" FullSize="3557" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="522" />
<Tag Type="Audio" Size="367" Timestamp="545" />
<Tag Type="Video" Size="7511" Timestamp="550">
<Nalus StartPosition="9" FullSize="2816" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2829" FullSize="4682" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="569" />
<Tag Type="Video" Size="5982" Timestamp="591">
<Nalus StartPosition="9" FullSize="2634" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2647" FullSize="3335" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="592" />
<Tag Type="Audio" Size="366" Timestamp="615" />
<Tag Type="Video" Size="9695" Timestamp="632">
<Nalus StartPosition="9" FullSize="3582" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3595" FullSize="6100" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="639" />
<Tag Type="Audio" Size="367" Timestamp="661" />
<Tag Type="Video" Size="6498" Timestamp="674">
<Nalus StartPosition="9" FullSize="2383" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2396" FullSize="4102" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="684" />
<Tag Type="Audio" Size="367" Timestamp="708" />
<Tag Type="Video" Size="7173" Timestamp="715">
<Nalus StartPosition="9" FullSize="2905" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2918" FullSize="4255" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="731" />
<Tag Type="Audio" Size="367" Timestamp="754" />
<Tag Type="Video" Size="7071" Timestamp="756">
<Nalus StartPosition="9" FullSize="2572" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2585" FullSize="4486" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="778" />
<Tag Type="Video" Size="9392" Timestamp="798">
<Nalus StartPosition="9" FullSize="4140" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4153" FullSize="5239" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="801" />
<Tag Type="Audio" Size="366" Timestamp="824" />
<Tag Type="Video" Size="8711" Timestamp="839">
<Nalus StartPosition="9" FullSize="3020" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3033" FullSize="5678" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="848" />
<Tag Type="Audio" Size="366" Timestamp="870" />
<Tag Type="Video" Size="8222" Timestamp="880">
<Nalus StartPosition="9" FullSize="3105" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3118" FullSize="5104" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="893" />
<Tag Type="Audio" Size="366" Timestamp="917" />
<Tag Type="Video" Size="6221" Timestamp="921">
<Nalus StartPosition="9" FullSize="2249" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2262" FullSize="3959" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="940" />
<Tag Type="Video" Size="8474" Timestamp="962">
<Nalus StartPosition="9" FullSize="3685" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3698" FullSize="4776" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="963" />
<Tag Type="Audio" Size="367" Timestamp="987" />
<Tag Type="Video" Flag="Keyframe" Size="59596" Timestamp="1003">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="311" Type="Sei" />
<Nalus StartPosition="359" FullSize="27992" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="28355" FullSize="31241" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1010" />
<Tag Type="Audio" Size="367" Timestamp="1033" />
<Tag Type="Video" Size="1671" Timestamp="1044">
<Nalus StartPosition="9" FullSize="763" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="776" FullSize="895" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1057" />
<Tag Type="Audio" Size="367" Timestamp="1080" />
<Tag Type="Video" Size="4873" Timestamp="1085">
<Nalus StartPosition="9" FullSize="1882" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1895" FullSize="2978" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1102" />
<Tag Type="Audio" Size="367" Timestamp="1125" />
<Tag Type="Video" Size="1925" Timestamp="1126">
<Nalus StartPosition="9" FullSize="849" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="862" FullSize="1063" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1149" />
<Tag Type="Video" Size="7768" Timestamp="1167">
<Nalus StartPosition="9" FullSize="3154" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3167" FullSize="4601" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="1172" />
<Tag Type="Audio" Size="366" Timestamp="1195" />
<Tag Type="Video" Size="4085" Timestamp="1208">
<Nalus StartPosition="9" FullSize="1717" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1730" FullSize="2355" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="1219" />
<Tag Type="Audio" Size="367" Timestamp="1242" />
<Tag Type="Video" Size="5417" Timestamp="1249">
<Nalus StartPosition="9" FullSize="2090" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2103" FullSize="3314" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1265" />
<Tag Type="Audio" Size="407" Timestamp="1289" />
<Tag Type="Video" Size="5771" Timestamp="1290">
<Nalus StartPosition="9" FullSize="2346" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2359" FullSize="3412" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="1312" />
<Tag Type="Video" Size="6349" Timestamp="1331">
<Nalus StartPosition="9" FullSize="2800" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2813" FullSize="3536" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="371" Timestamp="1334" />
<Tag Type="Audio" Size="369" Timestamp="1358" />
<Tag Type="Video" Size="6533" Timestamp="1372">
<Nalus StartPosition="9" FullSize="2859" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2872" FullSize="3661" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="1381" />
<Tag Type="Audio" Size="367" Timestamp="1404" />
<Tag Type="Video" Size="7572" Timestamp="1413">
<Nalus StartPosition="9" FullSize="3458" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3471" FullSize="4101" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="366" Timestamp="1428" />
<Tag Type="Audio" Size="364" Timestamp="1451" />
<Tag Type="Video" Size="7694" Timestamp="1454">
<Nalus StartPosition="9" FullSize="3088" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3101" FullSize="4593" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="1474" />
<Tag Type="Video" Size="8066" Timestamp="1495">
<Nalus StartPosition="9" FullSize="3448" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3461" FullSize="4605" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="365" Timestamp="1498" />
<Tag Type="Audio" Size="366" Timestamp="1521" />
<Tag Type="Video" Size="6838" Timestamp="1536">
<Nalus StartPosition="9" FullSize="2790" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2803" FullSize="4035" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="362" Timestamp="1544" />
<Tag Type="Audio" Size="369" Timestamp="1567" />
<Tag Type="Video" Size="8172" Timestamp="1577">
<Nalus StartPosition="9" FullSize="3552" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3565" FullSize="4607" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="374" Timestamp="1590" />
<Tag Type="Audio" Size="371" Timestamp="1613" />
<Tag Type="Video" Size="7679" Timestamp="1618">
<Nalus StartPosition="9" FullSize="3022" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3035" FullSize="4644" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="378" Timestamp="1637" />
<Tag Type="Video" Size="7426" Timestamp="1659">
<Nalus StartPosition="9" FullSize="3006" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3019" FullSize="4407" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="375" Timestamp="1660" />
<Tag Type="Audio" Size="368" Timestamp="1683" />
<Tag Type="Video" Size="8168" Timestamp="1700">
<Nalus StartPosition="9" FullSize="3401" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3414" FullSize="4754" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="444" Timestamp="1707" />
<Tag Type="Audio" Size="390" Timestamp="1730" />
<Tag Type="Video" Size="11484" Timestamp="1741">
<Nalus StartPosition="9" FullSize="4996" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="5009" FullSize="6475" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="382" Timestamp="1753" />
<Tag Type="Audio" Size="374" Timestamp="1776" />
<Tag Type="Audio" Size="358" Timestamp="1799" />
<Tag Type="Audio" Size="356" Timestamp="1822" />
<Tag Type="Video" Size="6332" Timestamp="1823">
<Nalus StartPosition="9" FullSize="2859" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2872" FullSize="3460" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="354" Timestamp="1845" />
<Tag Type="Video" Size="9605" Timestamp="1864">
<Nalus StartPosition="9" FullSize="3933" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3946" FullSize="5659" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="343" Timestamp="1869" />
<Tag Type="Audio" Size="349" Timestamp="1892" />
<Tag Type="Video" Size="7782" Timestamp="1905">
<Nalus StartPosition="9" FullSize="3129" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3142" FullSize="4640" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="1915" />
<Tag Type="Audio" Size="358" Timestamp="1939" />
<Tag Type="Video" Size="11631" Timestamp="1946">
<Nalus StartPosition="9" FullSize="4735" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4748" FullSize="6883" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="373" Timestamp="1962" />
<Tag Type="Audio" Size="389" Timestamp="1985" />
<Tag Type="Video" Size="9002" Timestamp="1987">
<Nalus StartPosition="9" FullSize="3709" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3722" FullSize="5280" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="357" Timestamp="2008" />
<Tag Type="Video" Flag="Keyframe" Size="59870" Timestamp="2027">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="312" Type="Sei" />
<Nalus StartPosition="360" FullSize="28014" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="28378" FullSize="31492" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="2031" />
<Tag Type="Audio" Size="362" Timestamp="2054" />
<Tag Type="Video" Size="3255" Timestamp="2068">
<Nalus StartPosition="9" FullSize="1119" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1132" FullSize="2123" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="351" Timestamp="2078" />
<Tag Type="Audio" Size="361" Timestamp="2101" />
<Tag Type="Video" Size="4606" Timestamp="2109">
<Nalus StartPosition="9" FullSize="2102" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2115" FullSize="2491" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="359" Timestamp="2124" />
<Tag Type="Audio" Size="364" Timestamp="2148" />
<Tag Type="Video" Size="5902" Timestamp="2150">
<Nalus StartPosition="9" FullSize="2132" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2145" FullSize="3757" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="359" Timestamp="2171" />
<Tag Type="Video" Size="7691" Timestamp="2191">
<Nalus StartPosition="9" FullSize="3063" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3076" FullSize="4615" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="2194" />
<Tag Type="Audio" Size="374" Timestamp="2218" />
<Tag Type="Video" Size="6690" Timestamp="2232">
<Nalus StartPosition="9" FullSize="2975" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2988" FullSize="3702" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="461" Timestamp="2240" />
<Tag Type="Audio" Size="350" Timestamp="2263" />
<Tag Type="Video" Size="13542" Timestamp="2273">
<Nalus StartPosition="9" FullSize="5728" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="5741" FullSize="7801" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="343" Timestamp="2287" />
<Tag Type="Audio" Size="344" Timestamp="2310" />
<Tag Type="Video" Size="6924" Timestamp="2314">
<Nalus StartPosition="9" FullSize="2364" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2377" FullSize="4547" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="346" Timestamp="2333" />
<Tag Type="Video" Size="4267" Timestamp="2355">
<Nalus StartPosition="9" FullSize="1631" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1644" FullSize="2623" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="353" Timestamp="2357" />
<Tag Type="Audio" Size="355" Timestamp="2380" />
<Tag Type="Video" Size="10097" Timestamp="2396">
<Nalus StartPosition="9" FullSize="3331" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3344" FullSize="6753" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="368" Timestamp="2403" />
<Tag Type="Audio" Size="357" Timestamp="2427" />
<Tag Type="Video" Size="6511" Timestamp="2437">
<Nalus StartPosition="9" FullSize="2108" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2121" FullSize="4390" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="2450" />
<Tag Type="Audio" Size="357" Timestamp="2472" />
<Tag Type="Video" Size="6678" Timestamp="2478">
<Nalus StartPosition="9" FullSize="2527" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2540" FullSize="4138" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="386" Timestamp="2495" />
<Tag Type="Audio" Size="359" Timestamp="2519" />
<Tag Type="Video" Size="8690" Timestamp="2520">
<Nalus StartPosition="9" FullSize="3209" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3222" FullSize="5468" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="349" Timestamp="2542" />
<Tag Type="Video" Size="10571" Timestamp="2561">
<Nalus StartPosition="9" FullSize="3688" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3701" FullSize="6870" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="2565" />
<Tag Type="Audio" Size="365" Timestamp="2589" />
<Tag Type="Video" Size="7865" Timestamp="2602">
<Nalus StartPosition="9" FullSize="2915" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2928" FullSize="4937" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="358" Timestamp="2612" />
<Tag Type="Audio" Size="361" Timestamp="2635" />
<Tag Type="Video" Size="8787" Timestamp="2643">
<Nalus StartPosition="9" FullSize="3423" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3436" FullSize="5351" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="2659" />
<Tag Type="Audio" Size="364" Timestamp="2682" />
<Tag Type="Video" Size="7229" Timestamp="2684">
<Nalus StartPosition="9" FullSize="2449" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2462" FullSize="4767" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="387" Timestamp="2704" />
<Tag Type="Video" Size="9969" Timestamp="2725">
<Nalus StartPosition="9" FullSize="4047" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4060" FullSize="5909" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="351" Timestamp="2728" />
<Tag Type="Audio" Size="358" Timestamp="2751" />
<Tag Type="Video" Size="6532" Timestamp="2766">
<Nalus StartPosition="9" FullSize="2220" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2233" FullSize="4299" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="2774" />
<Tag Type="Audio" Size="366" Timestamp="2798" />
<Tag Type="Video" Size="8537" Timestamp="2807">
<Nalus StartPosition="9" FullSize="3024" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3037" FullSize="5500" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="2821" />
<Tag Type="Audio" Size="366" Timestamp="2844" />
<Tag Type="Video" Size="9856" Timestamp="2848">
<Nalus StartPosition="9" FullSize="3592" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3605" FullSize="6251" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="2868" />
<Tag Type="Video" Size="11562" Timestamp="2889">
<Nalus StartPosition="9" FullSize="4806" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4819" FullSize="6743" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="423" Timestamp="2891" />
<Tag Type="Audio" Size="419" Timestamp="2914" />
<Tag Type="Video" Size="8082" Timestamp="2930">
<Nalus StartPosition="9" FullSize="2387" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2400" FullSize="5682" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="346" Timestamp="2937" />
<Tag Type="Audio" Size="343" Timestamp="2960" />
<Tag Type="Video" Size="9546" Timestamp="2971">
<Nalus StartPosition="9" FullSize="3080" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3093" FullSize="6453" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="392" Timestamp="2983" />
<Tag Type="Audio" Size="357" Timestamp="3007" />
<Tag Type="Video" Flag="Keyframe" Size="53069" Timestamp="3030">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="313" Type="Sei" />
<Nalus StartPosition="361" FullSize="26132" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="26497" FullSize="26572" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="374" Timestamp="3035" />
<Tag Type="Audio" Size="385" Timestamp="3059" />
<Tag Type="Video" Size="2355" Timestamp="3072">
<Nalus StartPosition="9" FullSize="702" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="715" FullSize="1640" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="365" Timestamp="3082" />
<Tag Type="Audio" Size="358" Timestamp="3104" />
<Tag Type="Video" Size="6380" Timestamp="3113">
<Nalus StartPosition="9" FullSize="1701" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1714" FullSize="4666" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="359" Timestamp="3128" />
<Tag Type="Audio" Size="360" Timestamp="3151" />
<Tag Type="Video" Size="4556" Timestamp="3154">
<Nalus StartPosition="9" FullSize="1049" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1062" FullSize="3494" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="404" Timestamp="3174" />
<Tag Type="Video" Size="5809" Timestamp="3195">
<Nalus StartPosition="9" FullSize="1592" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1605" FullSize="4204" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="449" Timestamp="3198" />
<Tag Type="Audio" Size="346" Timestamp="3221" />
<Tag Type="Video" Size="7443" Timestamp="3236">
<Nalus StartPosition="9" FullSize="2280" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2293" FullSize="5150" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="347" Timestamp="3244" />
<Tag Type="Audio" Size="355" Timestamp="3268" />
<Tag Type="Video" Size="5643" Timestamp="3277">
<Nalus StartPosition="9" FullSize="1419" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1432" FullSize="4211" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="344" Timestamp="3291" />
<Tag Type="Audio" Size="359" Timestamp="3313" />
<Tag Type="Video" Size="6730" Timestamp="3318">
<Nalus StartPosition="9" FullSize="1614" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1627" FullSize="5103" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="363" Timestamp="3337" />
<Tag Type="Audio" Size="359" Timestamp="3360" />
<Tag Type="Video" Size="8052" Timestamp="3360">
<Nalus StartPosition="9" FullSize="2226" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2239" FullSize="5813" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="368" Timestamp="3383" />
<Tag Type="Video" Size="7129" Timestamp="3401">
<Nalus StartPosition="9" FullSize="1851" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1864" FullSize="5265" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="359" Timestamp="3407" />
<Tag Type="Audio" Size="360" Timestamp="3430" />
<Tag Type="Video" Size="9275" Timestamp="3442">
<Nalus StartPosition="9" FullSize="2804" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2817" FullSize="6458" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="354" Timestamp="3453" />
<Tag Type="Audio" Size="353" Timestamp="3477" />
<Tag Type="Video" Size="7875" Timestamp="3483">
<Nalus StartPosition="9" FullSize="1977" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1990" FullSize="5885" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="351" Timestamp="3500" />
<Tag Type="Audio" Size="382" Timestamp="3523" />
<Tag Type="Video" Size="7433" Timestamp="3524">
<Nalus StartPosition="9" FullSize="1904" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1917" FullSize="5516" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="461" Timestamp="3545" />
<Tag Type="Video" Size="8429" Timestamp="3565">
<Nalus StartPosition="9" FullSize="2252" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2265" FullSize="6164" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="347" Timestamp="3569" />
<Tag Type="Audio" Size="352" Timestamp="3592" />
<Tag Type="Video" Size="8903" Timestamp="3606">
<Nalus StartPosition="9" FullSize="1359" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1372" FullSize="7531" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="349" Timestamp="3615" />
<Tag Type="Audio" Size="354" Timestamp="3639" />
<Tag Type="Video" Size="6110" Timestamp="3647">
<Nalus StartPosition="9" FullSize="1518" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1531" FullSize="4579" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="354" Timestamp="3662" />
<Tag Type="Audio" Size="347" Timestamp="3685" />
<Tag Type="Video" Size="9755" Timestamp="3688">
<Nalus StartPosition="9" FullSize="2734" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2747" FullSize="7008" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="395" Timestamp="3709" />
<Tag Type="Audio" Size="361" Timestamp="3732" />
<Tag Type="Audio" Size="353" Timestamp="3755" />
<Tag Type="Video" Size="9423" Timestamp="3770">
<Nalus StartPosition="9" FullSize="3071" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3084" FullSize="6339" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="346" Timestamp="3778" />
<Tag Type="Audio" Size="356" Timestamp="3801" />
<Tag Type="Video" Size="8253" Timestamp="3811">
<Nalus StartPosition="9" FullSize="2160" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2173" FullSize="6080" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="3824" />
<Tag Type="Audio" Size="366" Timestamp="3848" />
<Tag Type="Video" Size="7571" Timestamp="3852">
<Nalus StartPosition="9" FullSize="2069" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2082" FullSize="5489" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="3871" />
<Tag Type="Video" Size="9624" Timestamp="3893">
<Nalus StartPosition="9" FullSize="2640" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2653" FullSize="6971" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="3894" />
<Tag Type="Audio" Size="391" Timestamp="3918" />
<Tag Type="Video" Size="11865" Timestamp="3934">
<Nalus StartPosition="9" FullSize="4421" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4434" FullSize="7431" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="409" Timestamp="3941" />
<Tag Type="Audio" Size="359" Timestamp="3964" />
<Tag Type="Video" Size="9372" Timestamp="3975">
<Nalus StartPosition="9" FullSize="2352" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2365" FullSize="7007" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="357" Timestamp="3988" />
<Tag Type="Audio" Size="356" Timestamp="4010" />
<Tag Type="Video" Size="9468" Timestamp="4016">
<Nalus StartPosition="9" FullSize="2198" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2211" FullSize="7257" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="354" Timestamp="4033" />
<Tag Type="Audio" Size="362" Timestamp="4057" />
<Tag Type="Video" Flag="Keyframe" Size="51327" Timestamp="4081">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="312" Type="Sei" />
<Nalus StartPosition="360" FullSize="26900" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="27264" FullSize="24063" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="4083" />
<Tag Type="Audio" Size="364" Timestamp="4106" />
<Tag Type="Video" Size="3990" Timestamp="4123">
<Nalus StartPosition="9" FullSize="1016" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1029" FullSize="2961" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="4129" />
<Tag Type="Audio" Size="413" Timestamp="4151" />
<Tag Type="Video" Size="4694" Timestamp="4164">
<Nalus StartPosition="9" FullSize="1335" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1348" FullSize="3346" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="462" Timestamp="4175" />
<Tag Type="Audio" Size="413" Timestamp="4198" />
<Tag Type="Video" Size="5702" Timestamp="4205">
<Nalus StartPosition="9" FullSize="2009" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2022" FullSize="3680" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="347" Timestamp="4221" />
<Tag Type="Audio" Size="351" Timestamp="4245" />
<Tag Type="Video" Size="5964" Timestamp="4246">
<Nalus StartPosition="9" FullSize="1593" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1606" FullSize="4358" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="348" Timestamp="4268" />
<Tag Type="Video" Size="6456" Timestamp="4287">
<Nalus StartPosition="9" FullSize="1952" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1965" FullSize="4491" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="346" Timestamp="4291" />
<Tag Type="Audio" Size="351" Timestamp="4315" />
<Tag Type="Video" Size="6168" Timestamp="4328">
<Nalus StartPosition="9" FullSize="2313" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2326" FullSize="3842" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="347" Timestamp="4338" />
<Tag Type="Audio" Size="355" Timestamp="4360" />
<Tag Type="Video" Size="6800" Timestamp="4369">
<Nalus StartPosition="9" FullSize="2885" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2898" FullSize="3902" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="376" Timestamp="4384" />
<Tag Type="Audio" Size="403" Timestamp="4407" />
<Tag Type="Audio" Size="400" Timestamp="4430" />
<Tag Type="Video" Size="9238" Timestamp="4452">
<Nalus StartPosition="9" FullSize="4307" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4320" FullSize="4918" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="392" Timestamp="4454" />
<Tag Type="Audio" Size="350" Timestamp="4477" />
<Tag Type="Audio" Size="342" Timestamp="4500" />
<Tag Type="Audio" Size="346" Timestamp="4524" />
<Tag Type="Video" Size="5489" Timestamp="4534">
<Nalus StartPosition="9" FullSize="2625" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2638" FullSize="2851" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="351" Timestamp="4547" />
<Tag Type="Audio" Size="357" Timestamp="4570" />
<Tag Type="Video" Size="6804" Timestamp="4576">
<Nalus StartPosition="9" FullSize="3336" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3349" FullSize="3455" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="346" Timestamp="4593" />
<Tag Type="Audio" Size="370" Timestamp="4616" />
<Tag Type="Video" Size="10349" Timestamp="4617">
<Nalus StartPosition="9" FullSize="4016" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4029" FullSize="6320" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="4639" />
<Tag Type="Video" Size="5122" Timestamp="4659">
<Nalus StartPosition="9" FullSize="2387" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2400" FullSize="2722" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="359" Timestamp="4663" />
<Tag Type="Audio" Size="403" Timestamp="4686" />
<Tag Type="Video" Size="10113" Timestamp="4700">
<Nalus StartPosition="9" FullSize="4151" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4164" FullSize="5949" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="356" Timestamp="4709" />
<Tag Type="Audio" Size="361" Timestamp="4733" />
<Tag Type="Video" Size="6825" Timestamp="4741">
<Nalus StartPosition="9" FullSize="3164" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3177" FullSize="3648" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="361" Timestamp="4756" />
<Tag Type="Audio" Size="408" Timestamp="4779" />
<Tag Type="Video" Size="8034" Timestamp="4782">
<Nalus StartPosition="9" FullSize="3138" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3151" FullSize="4883" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="349" Timestamp="4803" />
<Tag Type="Video" Size="10059" Timestamp="4823">
<Nalus StartPosition="9" FullSize="4125" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="4138" FullSize="5921" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="354" Timestamp="4825" />
<Tag Type="Audio" Size="354" Timestamp="4848" />
<Tag Type="Video" Size="7402" Timestamp="4864">
<Nalus StartPosition="9" FullSize="2854" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2867" FullSize="4535" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="417" Timestamp="4871" />
<Tag Type="Audio" Size="370" Timestamp="4895" />
<Tag Type="Video" Size="8063" Timestamp="4905">
<Nalus StartPosition="9" FullSize="3569" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3582" FullSize="4481" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="374" Timestamp="4918" />
<Tag Type="Audio" Size="349" Timestamp="4941" />
<Tag Type="Video" Size="9506" Timestamp="4946">
<Nalus StartPosition="9" FullSize="3126" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3139" FullSize="6367" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="355" Timestamp="4965" />
<Tag Type="Video" Size="6121" Timestamp="4987">
<Nalus StartPosition="9" FullSize="2174" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2187" FullSize="3934" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="364" Timestamp="4988" />
<Tag Type="Audio" Size="371" Timestamp="5011" />
<Tag Type="Video" Size="12465" Timestamp="5028">
<Nalus StartPosition="9" FullSize="5721" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="5734" FullSize="6731" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="353" Timestamp="5035" />
<Tag Type="Audio" Size="357" Timestamp="5057" />
<Tag Type="Video" Size="8465" Timestamp="5069">
<Nalus StartPosition="9" FullSize="2439" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2452" FullSize="6013" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="349" Timestamp="5080" />
<Tag Type="Audio" Size="365" Timestamp="5104" />
<Tag Type="Video" Size="8200" Timestamp="5110">
<Nalus StartPosition="9" FullSize="2487" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2500" FullSize="5700" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="426" Timestamp="5127" />
<Tag Type="Audio" Size="364" Timestamp="5150" />
<Tag Type="Video" Flag="Keyframe" Size="67443" Timestamp="5173">
<Nalus StartPosition="9" FullSize="23" Type="Sps" />
<Nalus StartPosition="36" FullSize="4" Type="Pps" />
<Nalus StartPosition="44" FullSize="313" Type="Sei" />
<Nalus StartPosition="361" FullSize="32873" Type="CodedSliceOfAnIdrPicture" />
<Nalus StartPosition="33238" FullSize="34205" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Audio" Size="340" Timestamp="5195" />
<Tag Type="Video" Size="629" Timestamp="5214">
<Nalus StartPosition="9" FullSize="313" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="326" FullSize="303" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="343" Timestamp="5219" />
<Tag Type="Audio" Size="351" Timestamp="5242" />
<Tag Type="Video" Size="2521" Timestamp="5255">
<Nalus StartPosition="9" FullSize="1030" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1043" FullSize="1478" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="369" Timestamp="5265" />
<Tag Type="Audio" Size="355" Timestamp="5288" />
<Tag Type="Video" Size="5598" Timestamp="5296">
<Nalus StartPosition="9" FullSize="2619" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2632" FullSize="2966" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="358" Timestamp="5311" />
<Tag Type="Audio" Size="350" Timestamp="5334" />
<Tag Type="Video" Size="3921" Timestamp="5337">
<Nalus StartPosition="9" FullSize="1554" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="1567" FullSize="2354" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="353" Timestamp="5357" />
<Tag Type="Video" Size="6232" Timestamp="5378">
<Nalus StartPosition="9" FullSize="2596" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2609" FullSize="3623" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="361" Timestamp="5381" />
<Tag Type="Audio" Size="364" Timestamp="5404" />
<Tag Type="Video" Size="5970" Timestamp="5419">
<Nalus StartPosition="9" FullSize="2710" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="2723" FullSize="3247" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="360" Timestamp="5427" />
<Tag Type="Audio" Size="361" Timestamp="5451" />
<Tag Type="Video" Size="6530" Timestamp="5460">
<Nalus StartPosition="9" FullSize="3153" Type="CodedSliceOfANonIdrPicture" />
<Nalus StartPosition="3166" FullSize="3364" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Size="367" Timestamp="5474" />
<Tag Type="Audio" Size="354" Timestamp="5497" />
</Tags>
</BililiveRecorderFlv>

View File

@ -0,0 +1,19 @@
Bad/p1-brec_legacy-20210309-double_audio_header.xml
Bad/p1-mock-20211120-metadata_with_null.xml
Bad/p1-mock-20211120-no_metadata.xml
Bad/p2-mock-20210310-same_header_audio.xml
Bad/p2-mock-20210310-same_header_both.xml
Bad/p2-mock-20210310-same_header_video.xml
Bad/p3-mock-20210310-change_header_audio.xml
Bad/p3-mock-20210310-change_header_both.xml
Bad/p3-mock-20210310-change_header_video.xml
Bad/p3-mock-20210310-multiple_headers.xml
Bad/p4-brec_legacy-20210309-pk_agora_ts_offset.xml
Bad/p4-brec_legacy-20210313-issue_171.xml
Bad/README.md
Flv/sample.flv
Good/obs-fps10.xml
Good/obs-fps2997.xml
Good/obs-fps30-end_with_keyframe.brec.xml
Good/obs-fps30.xml
Good/obs-fps60.xml

View File

@ -16,7 +16,7 @@ namespace BililiveRecorder.Flv.Tests.FlvTests
{
[Theory]
[Expectation("GroupingFromFlv")]
[SampleFileTestData("TestData/Flv", "*.flv")]
[SampleFileTestData("../data/flv/TestData/Flv", "*.flv")]
public async void GroupingShouldMatchExpection(string path)
{
var results = new List<PipelineAction>();

View File

@ -15,7 +15,7 @@ namespace BililiveRecorder.Flv.Tests.FlvTests
{
[Theory]
[Expectation("XmlOutput")]
[SampleFileTestData("TestData/Flv", "*.flv")]
[SampleFileTestData("../data/flv/TestData/Flv", "*.flv")]
public async Task ParserOutputIsCurrectAsync(string path)
{
var fullPath = SampleFileLoader.GetFullPath(path);

View File

@ -1,4 +1,3 @@
using System.Collections.Generic;
using System.IO;
using System.IO.Pipelines;
using System.Threading.Tasks;
@ -16,7 +15,7 @@ namespace BililiveRecorder.Flv.Tests.FlvTests
{
[Theory]
[Expectation("Output")]
[SampleFileTestData("TestData/Flv", "*.flv")]
[SampleFileTestData("../data/flv/TestData/Flv", "*.flv")]
public async Task ParserOutputIsCurrectAsync(string path)
{
var fullPath = SampleFileLoader.GetFullPath(path);

View File

@ -22,7 +22,7 @@ namespace BililiveRecorder.Flv.Tests.RuleTests
{
[Theory]
[Expectation("TestBadSamples")]
[SampleFileTestData("TestData/Bad", "*.xml")]
[SampleFileTestData("../data/flv/TestData/Bad", "*.xml")]
public async Task TestBadSamples(string path)
{

View File

@ -16,7 +16,7 @@ namespace BililiveRecorder.Flv.Tests.RuleTests
{
[Theory]
[Expectation("StandardTest")]
[SampleFileTestData("TestData/Good", "*.xml")]
[SampleFileTestData("../data/flv/TestData/Good", "*.xml")]
public async Task StrictTestsAsync(string path)
{
// Arrange
@ -51,7 +51,7 @@ namespace BililiveRecorder.Flv.Tests.RuleTests
[Theory]
[Expectation("WithOffsetTest")]
[SampleFileTestData("TestData/Good", "*.xml")]
[SampleFileTestData("../data/flv/TestData/Good", "*.xml")]
public async Task StrictWithArtificalOffsetTestsAsync(string path)
{
// Arrange

View File

@ -28,7 +28,7 @@ namespace BililiveRecorder.Flv.Tests
if (!Directory.Exists(this.FullPath))
throw new ArgumentException($"Could not find directory at path: {this.FullPath}");
return Patterns.SelectMany(x => Directory.GetFiles(this.FullPath, x)).Select(x => (new object[] { Path.GetFileName(x) }));
return this.Patterns.SelectMany(x => Directory.GetFiles(this.FullPath, x)).Select(x => (new object[] { Path.GetFileName(x) }));
}
}
}

View File

@ -0,0 +1,29 @@
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using VerifyTests;
using VerifyXunit;
using Xunit;
namespace BililiveRecorder.Flv.Tests
{
[UsesVerify]
public class TestData
{
[Fact]
public Task MeetsExpectations()
{
var baseDirectory = new DirectoryInfo(Path.Combine(AttributeReader.GetProjectDirectory(), "../data/flv/TestData"));
var allFiles = baseDirectory.EnumerateFiles("*", new EnumerationOptions()
{
RecurseSubdirectories = true
});
var relativePaths = allFiles.Select(x => Path.GetRelativePath(baseDirectory.FullName, x.FullName))
.Select(x => x.Replace('\\', '/'))
.OrderBy(x => x);
return Verifier.Verify(string.Join('\n', relativePaths));
}
}
}

View File

@ -1,41 +0,0 @@
# 有问题的测试样本
## 文件夹结构
每个样本文件夹内至少有 3 个文件
- `input.xml``input.xml.gz` - 样本数据
- `info.json` - 测试通过的标准
- `README.md` - 问题的具体说明和备注
## 文件夹命名方式
`问题程度-文件来源-日期-简单问题描述`
举例:
`p1-brec_std-20210121-double_audio_header`
### 问题程度
对某个测试样本的复杂程度和迷惑程度的主观评价,主要为了方便排序。大概的评分标准是:
- `p1` 一个很简单、无关紧要的小问题
- `p2` 一个或多个小问题
- `p3` 会影响播放的问题
- `p4` 比较复杂的问题
- `p5` 在没救了的边缘摩擦
### 问题来源
样本原文件的生成或录制工具,如录播姬(本项目)或 ffmpeg 等。
- `mock` 手动修改一个正常样本得到的问题样本
- `brec_std` 录播姬 1.3+ 标准模式
- `brec_raw` 录播姬 1.3+ 原始数据模式
- `brec_legacy` 录播姬 1.2 及以下版本
- `ffmpeg` ffmpeg
### 日期
`年年年年月月日日` 格式的日期。

View File

@ -1,168 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
文件连续出现多个不同的 Header
-->
<BililiveRecorderFlv xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Tags>
<Tag Type="Script" Flag="None" Size="293" Timestamp="0">
<ScriptData>[{"Type":"String","Value":"onMetaData"},{"Type":"EcmaArray","Value":{"duration":{"Type":"Number","Value":22.233},"width":{"Type":"Number","Value":1920.0},"height":{"Type":"Number","Value":1080.0},"videodatarate":{"Type":"Number","Value":1464.84375},"framerate":{"Type":"Number","Value":30.0},"videocodecid":{"Type":"Number","Value":7.0},"audiodatarate":{"Type":"Number","Value":156.25},"audiosamplerate":{"Type":"Number","Value":48000.0},"audiosamplesize":{"Type":"Number","Value":16.0},"stereo":{"Type":"Boolean","Value":true},"audiocodecid":{"Type":"Number","Value":10.0},"encoder":{"Type":"String","Value":"Lavf58.29.100"},"filesize":{"Type":"Number","Value":524554.0}}}]</ScriptData>
</Tag>
<Tag Type="Video" Flag="Header Keyframe" Size="49" Timestamp="0">
<BinaryData>170000000001640028FFE1001D67640028ACD940780227E59A808080A0000003002000000791E30632C001000468EF8FCBBABABABABABA</BinaryData>
</Tag>
<Tag Type="Audio" Flag="Header" Size="7" Timestamp="0">
<BinaryData>AF00119056E500FFFFFFFFFFFFFFFF</BinaryData>
</Tag>
<Tag Type="Video" Flag="Header Keyframe" Size="49" Timestamp="0">
<BinaryData>170000000001640028FFE1001D67640028ACD940780227E59A808080A0000003002000000791E30632C001000468EF8FCB</BinaryData>
</Tag>
<Tag Type="Audio" Flag="Header" Size="7" Timestamp="0">
<BinaryData>AF00119056E500AAAAAAAAAAAA</BinaryData>
</Tag>
<Tag Type="Audio" Flag="Header" Size="7" Timestamp="0">
<BinaryData>AF00119056E500</BinaryData>
</Tag>
<Tag Type="Video" Flag="Keyframe" Size="1993" Timestamp="0">
<Nalus StartPosition="9" FullSize="753" Type="Sei" />
<Nalus StartPosition="766" FullSize="29" Type="Sps" />
<Nalus StartPosition="799" FullSize="4" Type="Pps" />
<Nalus StartPosition="807" FullSize="753" Type="Sei" />
<Nalus StartPosition="1564" FullSize="429" Type="CodedSliceOfAnIdrPicture" />
</Tag>
<Tag Type="Video" Flag="None" Size="76" Timestamp="34">
<Nalus StartPosition="9" FullSize="67" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Video" Flag="None" Size="73" Timestamp="67">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="405" Timestamp="67" />
<Tag Type="Audio" Flag="None" Size="481" Timestamp="88" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="100">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="444" Timestamp="110" />
<Tag Type="Audio" Flag="None" Size="431" Timestamp="131" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="134">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="329" Timestamp="152" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="167">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="336" Timestamp="174" />
<Tag Type="Audio" Flag="None" Size="339" Timestamp="195" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="200">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="337" Timestamp="216" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="234">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="355" Timestamp="238" />
<Tag Type="Audio" Flag="None" Size="409" Timestamp="259" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="267">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="401" Timestamp="280" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="300">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="409" Timestamp="302" />
<Tag Type="Audio" Flag="None" Size="411" Timestamp="323" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="334">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="443" Timestamp="344" />
<Tag Type="Audio" Flag="None" Size="394" Timestamp="366" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="367">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="425" Timestamp="387" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="400">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="432" Timestamp="408" />
<Tag Type="Audio" Flag="None" Size="424" Timestamp="430" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="434">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="415" Timestamp="451" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="467">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="475" Timestamp="472" />
<Tag Type="Audio" Flag="None" Size="462" Timestamp="494" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="500">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="415" Timestamp="515" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="534">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="425" Timestamp="536" />
<Tag Type="Audio" Flag="None" Size="422" Timestamp="558" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="567">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="418" Timestamp="579" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="600">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="401" Timestamp="600" />
<Tag Type="Audio" Flag="None" Size="415" Timestamp="622" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="634">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="419" Timestamp="643" />
<Tag Type="Audio" Flag="None" Size="412" Timestamp="664" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="667">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="438" Timestamp="686" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="700">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="426" Timestamp="707" />
<Tag Type="Audio" Flag="None" Size="425" Timestamp="728" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="734">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="447" Timestamp="750" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="767">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="404" Timestamp="771" />
<Tag Type="Audio" Flag="None" Size="442" Timestamp="792" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="800">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="440" Timestamp="814" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="834">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="439" Timestamp="835" />
<Tag Type="Audio" Flag="None" Size="425" Timestamp="856" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="867">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="471" Timestamp="878" />
<Tag Type="Audio" Flag="None" Size="466" Timestamp="899" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="900">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="447" Timestamp="920" />
<Tag Type="Video" Flag="None" Size="73" Timestamp="934">
<Nalus StartPosition="9" FullSize="64" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="455" Timestamp="942" />
<Tag Type="Audio" Flag="None" Size="450" Timestamp="963" />
<Tag Type="Video" Flag="None" Size="77" Timestamp="967">
<Nalus StartPosition="9" FullSize="68" Type="CodedSliceOfANonIdrPicture" />
</Tag>
<Tag Type="Audio" Flag="None" Size="409" Timestamp="984" />
<Tag Type="Video" Flag="None" Size="75" Timestamp="1000">
<Nalus StartPosition="9" FullSize="66" Type="CodedSliceOfANonIdrPicture" />
</Tag>
</Tags>
</BililiveRecorderFlv>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,6 @@
using System;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using DiffEngine;
using VerifyTests;
@ -10,7 +12,13 @@ namespace BililiveRecorder.Flv.Tests
[ModuleInitializer]
public static void Init()
{
VerifierSettings.DerivePathInfo(Expectations.Initialize);
VerifierSettings.DerivePathInfo((string sourceFile, string projectDirectory, Type type, MethodInfo method) =>
{
if (type != typeof(PublicApi) && type != typeof(TestData))
projectDirectory = Path.Combine(projectDirectory, "..", "data", "flv");
return Expectations.Initialize(sourceFile, projectDirectory, type, method);
});
VerifierSettings.ModifySerialization(_ => _.IgnoreMembersWithType<Stream>());
DiffRunner.Disabled = false;
DiffTools.UseOrder(DiffTool.VisualStudioCode, DiffTool.Rider, DiffTool.WinMerge, DiffTool.VisualStudio);

1
test/data Submodule

@ -0,0 +1 @@
Subproject commit 6ae84c024d9d556774f9da4677503bbc9aa8315c