使用ffmpeg視頻切片並加密


 

想達到的目的:將一個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文件可以通過大部分播放器直接播放

 

dplayer.zip

 

轉載於:https://www.cnblogs.com/codeAB/p/9184266.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM