2017-05-18 2 views
1

Ich mache ein Projekt, bei dem ein Stream in Echtzeit und auf sichere Weise an einen Server übertragen werden muss.FFmpeg stream encryption

Wie es in der Dokumentation zu finden ist es möglich, ‚‘ verschlüsselt ‚‘ ein Strom mit:

  1. srtp https://www.ffmpeg.org/ffmpeg-protocols.html#srtp

    Dies funktioniert gut, aber die Geschwindigkeit und Qualität ist nicht gut. (Verzögerung von 3 Sekunden). Ich wäre dankbar für Verbesserungen (siehe unten)

  2. tls Zertifikate (https://www.ffmpeg.org/ffmpeg-protocols.html#tls)

    mit Was genau tls tut? Verschlüsselt es sogar oder stellt es nur sicher, dass der Stream von der richtigen Quelle kommt?

Was kann ich sonst noch verwenden, um eine angemessene Qualität und Geschwindigkeit zu erreichen?


PS: Der Befehl für SRTP mit AES mit 3 Sekunden Verzögerung:

ffmpeg -r 24 -f x11grab -s 1280x1024 -i :0.0 -c:v libx264 -crf 35 -pix_fmt yuv420p -threads 4 -preset fast -tune fastdecode -bsf:v h264_mp4toannexb -movflags +faststart -f rtp_mpegts -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz "srtp://10.0.0.100:8888" 

I-Ausgang mit ffplay:

ffplay -srtp_in_suite AES_CM_128_HMAC_SHA1_80 -srtp_in_params zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz srtp://client:8888 -fast -fs 

Antwort

0

Die Unterschiede zwischen den beiden Protokollen sind sehr gering und technisch, aber sie sind unterschiedliche Standards. TLS verwendet stärkere Verschlüsselungsalgorithmen und kann an verschiedenen Ports arbeiten. Darüber hinaus funktioniert TLS Version 1.0 nicht mit SSL Version 3.0.

Netscape hat ursprünglich das SSL-Protokoll (Secure Sockets Layer) entwickelt, um Informationen privat zu übertragen, die Nachrichtenintegrität sicherzustellen und die Serveridentität zu gewährleisten. SSL arbeitet hauptsächlich mit der Verschlüsselung von Daten auf öffentlichen/privaten Schlüsseln. Es wird häufig in Webbrowsern verwendet, aber SSL kann auch mit E-Mail-Servern oder jeder Art von Client-Server-Transaktion verwendet werden. Einige Instant Messaging-Server verwenden beispielsweise SSL, um Konversationen zu schützen.

Die Internet Engineering Task Force (IETF) hat TLS (Transport Layer Security) als Nachfolger von SSL erstellt. Es wird meistens als Einstellung in E-Mail-Programmen verwendet, aber wie SSL kann TLS eine Rolle in jeder Client-Server-Transaktion spielen.

+0

Überprüfen Sie dies: https: //security.stackexchange.com/questions/705/what-are-the-differences-between-the-versions-of-tls –