FFMPEG-Verschlüsselung
Ich bin dabei ein Projekt mit Verschlüsselung
video und ich habe ein paar Fragen für die Vorgehensweise.
Verwendete ich einen Befehl Umcodieren mp4
zu HLS
mit einem ts
segment Dauer von ~10 Sekunden.
Erste, die ich brauche, um zu verschlüsseln, diese videos mit einem Schlüssel aus der Datenbank. Allerdings
Ich habe keine Idee für die Verschlüsselung an, ob die Arbeit mit ffmpeg oder nicht.
Zweitens, wenn die Verschlüsselung kann auch ohne ffmpeg, also, was soll ich tun? Ich habe in google gesucht, das beinhaltet so etwas wie openssl /aes aber
es gibt keine detaillierte Schritt für mich, zu Folgen, auch die ffmpeg-link:
http://www.ffmpeg.org/ffmpeg-all.html#srtp
Könnte jemand geben Sie mir eine hand, mir beizubringen, wie zu verschlüsseln ein video? Vielen Dank an Euch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können es tun, mit
ffmpeg
. Sie müssen schreiben Sie den Schlüssel aus der Datenbank in eine Datei, sagen wir malvideo.key
.Brauchen Sie eine zweite Datei, nennen wir es
key_info
die das zentrale info-Datei. Es hat das folgende format:ZB:
Sagen Sie
ffmpeg
verwenden Sie zum verschlüsseln der Segmente mit denhls_key_info
argument:Diese verschlüsselt Ihre Segmente mit AES-128 im CBC-Modus und fügen Sie die entsprechenden tags, um Ihre Wiedergabeliste:
Können Sie auch manuell verschlüsseln die Segmente, wenn Sie wollen, mit
openssl
. Hier ist ein Beispiel script, wo jeder IV ist gleich der segment-index:ffmpeg
. Bauen Sie es aus Quell-oder schnappen Sie sich ein Paket/static build. Hier ist ein link zu derhls
Dokumentation: ffmpeg.org/ffmpeg-formats.html#Options-2ffmpeg
stellen Sie sicher, dass Sie mit der richtigenwhich ffmpeg
.ffmpeg -version
und poste das Ergebnis.which
zu machen, ob Sie das richtige.git
version oder dierelease
. Versuchen Sie, diegit
../ffmpeg -i ...
m3u8
und verwenden dieEXT-X-KEY
Informationen automatisch.openssl rand 16 > $key_file
. Es kann alles sein, solange es ist 16 bytes lang.