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:
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)
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
Überprüfen Sie dies: https: //security.stackexchange.com/questions/705/what-are-the-differences-between-the-versions-of-tls –