비디오 청크를 생성할 때 ffmpeg 출력을 암호화하는 방법은 무엇입니까?

비디오 청크를 생성할 때 ffmpeg 출력을 암호화하는 방법은 무엇입니까?

다음을 사용하여 비디오 스트림을 openssl암호화 할 수 있습니다.ffmpeg

 ffmpeg -i  video1.mp4-video1.mp4.mp4 -f ogg -  | 
 openssl enc -des3 > outptu.ogg.des3

명령으로 제공된 청크(예: 지정된 기간)를 생성할 때 ffmpeg 출력을 암호화하는 데 사용하는 전략은 무엇입니까?

ffmpeg -f video4linux2 -s vga -i /dev/video0 -f segment -segment_time 1\
-strftime 1 '%Y-%m-%d_%H-%M-%S.ts'

%Y-%m-%d_%H-%M-%S.ts.des3대신 내가 필요해%Y-%m-%d_%H-%M-%S.ts

나는 명명된 파이프를 사용하는 것을 좋아하지만 이는 ffmpeg에 의해 생성된 각 청크의 머리글과 바닥글을 감지해야 함을 의미합니다.

가장 간단한 해결책은 백그라운드 스크립트를 실행하여 새로 감지된 파일을 자동으로 암호화하는 것입니다.

답변1

작업에 잘못된 도구를 사용하고 있습니다. 출력을 OpenSSL로 파이핑하는 대신 암호화된 파일 시스템에 있는 파일에 출력을 씁니다. 암호화된 파일 시스템은 무작위 액세스를 위해 설계되었지만 파일 암호화 도구는 openssl enc거의 그렇지 않습니다.

게다가 openssl enc이것은 나쁜 암호화폐이므로 절대 사용해서는 안 됩니다. DES3을 사용하고 있으며 일부 표준에서는 DES3가 여전히 법적으로 허용되지만 AES는 사용하지 않는 것이 좋습니다. 무엇보다도, 비밀번호에서 키가 파생되는 방식이 openssl끔찍합니다. 올바른 키를 사용하지 않습니다.버튼 스트레치 기능, 따라서 무차별 암호 해독이 쉽습니다. 명령줄 도구를 사용한 암호화는 openssl올바르게 수행하기 어렵고 작업에 가장 적합한 도구가 아닙니다. 존재하는 것을 잊어버리고 openssl전체 디스크 암호화를 위한 LUKS, 홈 디렉터리 암호화를 위한 Ecryptfs, 파일별 암호화를 위한 gpg 또는 7z와 같은 작업에 적합한 도구를 사용하세요. 심지어인코딩된 파일 시스템결함이 있기는 하지만 암호화된 디렉토리를 마운트하는 것이 openssl.

관련 정보