标签 切片 下的文章

使用ffmpeg进行ts切片并AES-128加密

目录应包含文件

input.mp4
videokey.info
video.key

videokey.info文件内容示例

http://example.com/video.key
video.key

video.key文件内容示例

DMvkBs7vNlok1kj9

切片并加密

ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -hls_time 5 -hls_list_size 0 -hls_key_info_file videokey.info output.m3u8

-hls_time 设置每片的时长,默认值为2。单位为秒
-hls_list_size 设置播放列表保存的最多条目,设置为0会保存所有切片信息,默认值为5

由于解密的key文件都是公开的,所以并不能算上完全加密,用户只要把你的key+m3u8里的ts切片文件全部下载,用ffmpeg还是能解,这时就要考虑url的key防止用户直接下载和盗链。

用ffmpeg把mp4切片为ts并生成m3u8列表

for %%a in (*.mp4) do ffmpeg.exe -i %%~na.mp4 -c:v libx264 -c:a aac -strict -2 -hls_time 120 -hls_list_size 0 -hls_allow_cache 1 -f hls %%~na.m3u8

-hls_time n 每段的时长,默认值为2 单位为秒
-hls_list_size n 播放列表保存的最多条目,设置为0会保存所有切片信息,默认值为5
-hls_allow_cache n 高速缓存开关,1为开启。