gpt4 book ai didi

encryption - FFMPEG 加密

转载 作者:行者123 更新时间:2023-12-04 13:38:13 32 4
gpt4 key购买 nike

我正在做一个加密项目
视频,我对这个程序有几个问题。

我用命令转码mp4HLSts段持续时间约为 10 秒。

首先,我需要使用数据库中的 key 加密这些视频。然而,
我不知道是否使用 ffmpeg 进行加密。

其次,如果没有ffmpeg也可以加密,那我该怎么办呢?我在谷歌搜索过,其中包括类似 openssl/aes 但
我没有详细的步骤可以遵循,即使是 ffmpeg 链接:
http://www.ffmpeg.org/ffmpeg-all.html#srtp

谁能帮我教我如何加密视频?谢谢你。

最佳答案

是的,您可以使用 ffmpeg .您需要将数据库中的 key 写入文件,例如 video.key .

您需要第二个文件,我们将其命名为 key_info这是关键信息文件。它具有以下格式:

key URI
key file path
IV (optional)

例如:
http://example.com/video.key
video.key

你告诉 ffmpeg使用 hls_key_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_file=video.key
openssl rand 16 > $key_file
enc_key=$(hexdump -v -e '16/1 "%02x"' $key_file)

pushd $ts_dir

ts_cnt=$(ls *.ts | wc -l)
((ts_cnt--))

i=0
for i in $(seq -f "%01g" 0 $ts_cnt); do
iv=$(printf '%032x' $i)
ts_file=segment-$i.ts

echo [$i] $ts_file

openssl aes-128-cbc -e -in $ts_file -out encrypted_${ts_file} -nosalt -iv $iv -K $enc_key
done

popd

关于encryption - FFMPEG 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32734578/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com