使用ffmpeg視訊切片並加密
阿新 • • 發佈:2020-09-14
想達到的目的:將一個mp4視訊檔案切割為多個ts片段,並在切割過程中對每一個片段使用 AES-128 加密,最後生成一個m3u8的視訊索引檔案;
電腦環境 Fedora,已經安裝了最新的ffmpeg;
如果要加密,首先準備好一下兩個東西:
加密用的 key
openssl rand 16 > enc.key ( 生成一個enc.key檔案 )
另一個是 iv
openssl rand -hex 16 ( 生成一段字串,記下來)
新建一個檔案 enc.keyinfo 內容格式如下:
Key URI # enc.key的路徑,使用http形式 Path to key file # enc.key檔案 IV # 上面生成的iv
幾個例子:
http://localhost/video/enc.key enc.key 48c674428c1e719751565ad00fe24243
最後重點來了
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檔案可以通過大部分播放器直接播放
轉載於:https://www.cnblogs.com/codeAB/p/9184266.html