Encryption FFMPEG加密
我正在做一个加密项目 视频和我有一些关于程序的问题 我使用一个命令将Encryption FFMPEG加密,encryption,ffmpeg,openssl,aes,http-live-streaming,Encryption,Ffmpeg,Openssl,Aes,Http Live Streaming,我正在做一个加密项目 视频和我有一些关于程序的问题 我使用一个命令将mp4转换为HLS,段持续时间约为10秒 首先,我需要用数据库中的密钥加密这些视频。然而, 我不知道加密是否使用ffmpeg 第二,如果加密可以在没有ffmpeg的情况下工作,那么我应该怎么做?我在谷歌上搜索过,它包括类似openssl/aes的东西,但是 没有详细的步骤供我遵循,即使是ffmpeg链接: 谁能帮帮我,教我如何加密视频?谢谢你。是的,你可以用ffmpeg来做。您需要将密钥从数据库写入文件,比如说video.ke
mp4
转换为HLS
,段持续时间约为10秒
首先,我需要用数据库中的密钥加密这些视频。然而,
我不知道加密是否使用ffmpeg
第二,如果加密可以在没有ffmpeg的情况下工作,那么我应该怎么做?我在谷歌上搜索过,它包括类似openssl/aes的东西,但是
没有详细的步骤供我遵循,即使是ffmpeg链接:
谁能帮帮我,教我如何加密视频?谢谢你。是的,你可以用
ffmpeg
来做。您需要将密钥从数据库写入文件,比如说video.key
您需要第二个文件,我们将其命名为key\u info
,这是密钥信息文件。其格式如下:
key URI
key file path
IV (optional)
例如:
您告诉ffmpeg
使用hls\u key\u info
参数对您的片段进行加密:
ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -hls_time 10 -hls_key_info_file key_info playlist.m3u8
这将在CBC模式下使用AES-128加密您的片段,并将相关标签添加到播放列表中:
#EXT-X-KEY:METHOD=AES-128,URI="http://example.com/video.key"
如果需要,您还可以使用openssl
手动加密这些段。下面是一个示例脚本,其中每个IV都等于段索引:
#/bin/bash
ts_dir=/path/to/ts/
key\u file=video.key
openssl rand 16>$key_文件
enc_key=$(hextump-v-e'16/1“%02x”'$key_文件)
pushd$ts_dir
ts|u cnt=$(ls*.ts | wc-l)
((ts_cnt--))
i=0
对于以美元表示的i(seq-f“%01g”0$t);做
iv=$(打印文件“%032x”$i)
ts_文件=段-$i.ts
echo[$i]$ts\u文件
openssl aes-128-cbc-e-in$ts_文件-out加密${ts_文件}-nosalt-iv$iv-K$enc_密钥
完成
邻苯二胺
运行该命令后,出现以下错误:无法识别的选项“hls\u密钥\u信息\u文件”。拆分参数列表时出错:选项不是found@rickyma924您可能正在使用过时版本的ffmpeg
。从源代码构建它或获取一个。这里是到hls
文档的链接:@chovy这是加密而不是解密。但是,是的,您可以加密或解密实时AES-128 HLS流。@chovy None,您只需将其指向m3u8
,它就会自动使用EXT-X-KEY
中的信息。@Whome是的,它只是原始密钥,而不是DRM。
#EXT-X-KEY:METHOD=AES-128,URI="http://example.com/video.key"