我一直试图通过ffmpeg创建加密流,我在这个库中找到了srtp支持(ffmpeg文档).不幸的是,似乎加密根本不起作用.我使用以下命令发送流:
ffmpeg -re -i "output.mpg" -vcodec libx264 -f flv "srtp://192.168.0.100:7777?srtp_out_suite=AES_CM_128_HMAC_SHA1_80&srtp_out_params=00108310518720928b30d38f41149351559761969b71d79f8218a39259a7"
Run Code Online (Sandbox Code Playgroud)
这个用于流接收:
ffplay "srtp://192.168.0.100:7777?srtp_in_suite=AES_CM_128_HMAC_SHA1_80&srtp_in_params=00108310518720928b30d38f41149351559761969b71d79f8218a39259a7"
Run Code Online (Sandbox Code Playgroud)
他们工作得很好.但是,如果我将ffplay的命令改为这个:
ffplay udp://192.168.0.100:7777
Run Code Online (Sandbox Code Playgroud)
它也有效,我可以观看视频.那么,这意味着对srtp的加密不起作用?
提前致谢.
ffmpeg -re -i ...命令的输出是:
Input #0, mpeg, from 'outpu.mpg':
Duration: 00:03:20.01, start: 0.529089, bitrate: 475 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x288 [SAR 1:1 DAR 11:
9], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 64 kb/s
[libx264 @ 023633e0] using SAR=1/1
[libx264 @ 023633e0] using cpu capabilities: …Run Code Online (Sandbox Code Playgroud)