想達到的目的:將一個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文件能夠經過大部分播放器直接播放字符串