【发布时间】:2017-10-18 01:22:42
【问题描述】:
我正在做一个项目,其中必须以安全的方式将流实时传输到服务器。
正如在文档中可以找到的那样,可以使用以下方法对流进行“加密”:
-
srtphttps://www.ffmpeg.org/ffmpeg-protocols.html#srtp
这工作正常,但速度和质量不是那么好。 (延迟 3 秒)。我会很感激改进(见下文)
-
tls 使用证书 (https://www.ffmpeg.org/ffmpeg-protocols.html#tls)
tls 究竟是什么?它甚至是加密还是只是为了验证流来自正确的来源?
我还能用什么来获得足够的质量和速度?
PS:带有 AES 的 SRTP 命令延迟 3 秒:
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"
我用ffplay输出:
ffplay -srtp_in_suite AES_CM_128_HMAC_SHA1_80 -srtp_in_params zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz srtp://client:8888 -fast -fs
【问题讨论】:
标签: video encryption ffmpeg stream video-streaming