想达到的目的:将一个mp4视频文件切割为多个ts片断,并在切割过程当中对每个片断使用 AES-128 加密,最后生成一个m3u8的视频索引文件;ide
电脑环境 Fedora,已经安装了最新的ffmpeg;加密
若是要加密,首先准备好一下两个东西:spa
加密用的 keycode
openssl rand 16 > enc.key ( 生成一个enc.key文件 )
另外一个是 iv视频
openssl rand -hex 16 ( 生成一段字符串,记下来)
新建一个文件 enc.keyinfo 内容格式以下:blog
Key URI # enc.key的路径,使用http形式 Path to key file # enc.key文件 IV # 上面生成的iv
几个例子:索引
http://localhost/video/enc.key enc.key 48c674428c1e719751565ad00fe24243
最后重点来了ssl
ffmpeg -y \ -i test.mp4 \ -hls_time 12 \ # 将test.mp4分割成每一个小段多少秒 -hls_key_info_file enc.keyinfo \ -hls_playlist_type vod \ # vod 是点播,表示PlayList不会变 -hls_segment_filename "file%d.ts" \ # 每一个小段的文件名 playlist.m3u8 # 生成的m3u8文件
生成的m3u8文件能够经过大部分播放器直接播放字符串