工具目录下有3个文件
ffmpeg.exe: 主要用来 处理TS文件转为PM4文件用到,可以自行到相关网站下载 http://ffmpeg.org/
OnlineFilm.exe 主要执行程序
FilesDownLoad.dll 下载模块
新建
新建 TS文件的索引文件,*.M3u8,怎么获取,参照“Ts文件说明”。
M3U8文件如果是本地的文件,需要填写 通用地址。
修改
删除
直接删除这条记录,可以多选删除
统计
统计已经下载完成的记录数
下载
弹出下载的窗口,进行下载。每个资源文件都需要打开该界面进行下载。
打开该下载的文件夹
读取M3u8
批量读取文件
读取的批量文件为 DetailList.txt,并放置到 和工具一个目录下。
格式为:名称|地址URL),一行一条记录。
美女 | https://www.abc/xxx/index.m3u8
直播 | https://www.abc/yyy/index.m3u8
合并TS文件
如果多个TS文件,没有自动合并,可以使用该功能进行合并操作
TS文件转换为MP4文件,需要用到 ffmpeg.exe
1、TS 文件合并
private void Merge)
{
CmdHelper c = new CmdHelper);
//>copy/b f:\ts\*.ts f:\ts\temp\new.ts
string newpath = _entity.RootFilePath + "\\" + _entity.FileName + "\\";
string newpath1 = _entity.RootFilePath + "\\" + _entity.FileName + "\\tmp\\";
if !Directory.Existsnewpath1)) //判断是否存在
{
Directory.CreateDirectorynewpath1); //创建新路径
}
if File.Existsnewpath1 + _entity.FileName + ".ts"))
{
File.Deletenewpath1 + _entity.FileName + ".ts");
}
string cmd = @"copy/b " + newpath + "*.ts " + newpath1 + _entity.FileName + ".ts";
string s = c.RunCmdcmd);
// MessageBox.Show"合并完成");
}
/// <summary>
/// 执行CMD语句
/// </summary>
/// <param name="cmd">要执行的CMD命令</param>
public string RunCmdstring cmd)
{
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start);
proc.StandardInput.WriteLinecmd);
proc.StandardInput.WriteLine"exit");
string outStr = proc.StandardOutput.ReadToEnd);
proc.Close);
return outStr;
}
2、TS转MP4
string fullFileName = System.IO.Path.CombineApplication.StartupPath, "ffmpeg.exe");
/// <summary>
/// TS -->Mp4
/// </summary>
private void TsToMP4)
{
// ffmpeg -y -i F:\Ts\tmp.ts -c:v libx264 -c:a copy -bsf:a aac_adtstoasc F:\Ts\tmp.mp4
//ffmpeg -y -i in.ts -c:v libx264 -c:a copy -bsf:a aac_adtstoasc output.mp4
//ffmpeg -y -i F:\Ts\tmp.ts -c:v libx264 -c:a copy -bsf:a aac_adtstoasc F:\Ts\tmp.mp4
if !File.Exists_path))
{
return;
}
string Mp4File = System.IO.Path.GetDirectoryName_path) + "\\" +System.IO.Path.GetFileNameWithoutExtension_path) + ".mp4";
string para = string.Format"-y -i {0} -c:v libx264 -c:a copy -bsf:a aac_adtstoasc {1}", _path, Mp4File);
CmdHelper.RunMyProcesspara, fullFileName);
}
/// <summary>
///
/// </summary>
/// <param name="Parameters">执行参数</param>
/// <param name="FFmpegPath">ffmpeg.exe 路径</param>
public static void RunMyProcessstring Parameters, string FFmpegPath)
{
var p = new Process);
p.StartInfo.FileName = FFmpegPath;
p.StartInfo.Arguments = Parameters;
//是否使用操作系统shell启动
p.StartInfo.UseShellExecute = false;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
p.Start);
p.WaitForExit);
p.Close);
}
工具下载地址:https://download.csdn.net/download/yunfan555/10812630
欢迎交流。