I've been doing this since 1982 so I think I have more than a few years ahead of you on low-level C/C++ and assembler for multiple CPU types including x86, ARM, MIPS, SPARC, IBM Power, MC68000, 6502, z80, etc, etc. AND since I work with encoding up to 4-way streams of 10,000 frames per second 4096x2160 FULLY ENCRYPTED video streams IN REAL TIME using arrays of GPU's ...SOOOOOO.......I think I know video/audio streaming technology (since I write my own codecs!) AND encryption inside AND out! We also don't just extend the keys on AES --- you have to encrypt each AES-256 encrypted block a second time with a DIFFERENT algorithm. We use CAAST-256 for encrypting each layer for input into the 2nd and 3rd layers of AES-256 encrypted blocks. CAAST was one of the Canadian-designed runner-ups for the AES standard so it is VERY SECURE!
Since MOST PEOPLE don't have access to multiple 24-card AMD S9150 array processors like I do, I can STILL do 24fps or 30 fps 1920x1080 realtime encrypted AES-256/CAAST-256 video streams using only AMD Radeon RX-480 series GPU graphics card which is less than $400 US (300 Euros!) With a bit of Assembler tweaking I've even got it up to 60 fps 1080p streaming with the odd dropped frame or two! You're at the mercy of GPU/CPU memory bandwidth and stream processor latency for 60 fps operation so I made it workable BEST for 24/25/30fps ENCRYPTED STREAM operation.
So yeah! I've got it on pretty good authority my code works VERY WELL !!!