using JT1078.Protocol;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Xunit;
using JT1078.Protocol.Extensions;
namespace JT1078.Hls.Test
{
public class M3U8_Test
{
///
/// 生成m3u8索引文件
///
[Fact]
public void Test4()
{
try
{
var hls_file_directory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "H264", "terminalno");
if (!File.Exists(hls_file_directory)) Directory.CreateDirectory(hls_file_directory);
var m3u8_filename = Path.Combine(hls_file_directory, "live.m3u8");
TSEncoder tSEncoder = new TSEncoder();
var m3u8Manage = new M3U8FileManage(new Options.M3U8Option { HlsFileDirectory = hls_file_directory, M3U8FileName = m3u8_filename }, tSEncoder);
var lines = File.ReadAllLines(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "H264", "JT1078_3.txt"));
foreach (var line in lines)
{
var data = line.Split(',');
var bytes = data[6].ToHexBytes();
JT1078Package package = JT1078Serializer.Deserialize(bytes);
JT1078Package fullpackage = JT1078Serializer.Merge(package);
if (fullpackage != null)
{
m3u8Manage.CreateTsData(fullpackage);
}
}
}
catch (Exception ex)
{
//Assert.Throws(() => { });
}
}
}
}