首先我们需要下载所需的工具(ffmpeg)
https://www.gyan.dev/ffmpeg/builds/
▶ 配置ffmpeg环境
右键桌面的计算机=>属性=>高级系统设置=>环境变量,在path下添加如下路径:
;D:\m3u8\ffmpeg\bin //注意:这里的路径是ffmpeg的路径
之后退出程序
▶ 分割视频
在视频存放的位置打开cmd(方便查找视频,其他位置也可),之后键入如下指令:
ffmpeg -i video.mp4 /mass/video.m3u8
其代表分别是调用ffmpeg.exe 使用-i 安装 将名为(video.mp4)的视频文件拆解为video.m3u8文件
输入完毕回车就可以开始拆解视频
▶ 拆解结果
▶ 将碎片ts转换为MP4
方法一:打开cmd输入如下指令(前提是在ts碎片的同一目录下,否则带上绝对路径)
copy /b *.ts a.ts
该语句意思为:使用copy指令 /b 将所有的ts后缀的文件合并为新的ts文件,并命名为a.ts
但是这样并不是完全结束,我们现在合成的碎片是一个完整的碎片,需要转格式为mp4(这里推荐使用:格式工厂,免费且好用),当然也可以去网站转换格式
注意:合并时尽量不要使用(.mp4)结尾,因为ts合并以后依旧是ts类型视频在转换格式的时候会出现各种问题,此问题应该在合成时期就应该避免
方法二:新建一个文件(例如:file.txt),将所有的ts名字以如下形式写入文件
file "a.ts" file "b.ts"
之后在cmd键入如下指令进行批量合成
ffmpeg -loglevel quiet -f concat -safe 0 -i file.txt -vcodec copy -acodec copy output.ts
方法三:法二可能有点麻烦,那就写一个bat脚本或者其他编程的脚本获取本地本目录下的所有ts名称并生成文件
auto_file.bat
@echo off setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir *.ts /b ') do ( echo file '%%i' >> files.txt ) pause
之后的步骤与方法二一样。
m3u8不能直接在电脑播放,需要借助一些网站或者工具播放,但是手机可以直接播放
为防止视频流也被下载,可以尝试使用AES-128