使用ffmpeg視頻切片並加密

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

相關文章
相關標籤/搜索