4

As the title implies, I am in need of some python (or maybe even C/C++, ctypes) library to compress 8-bit depth 512x512 images, encrypt them, and stream them to another location on the internet (local or global).

My requirements/limitations are as follows:

  • Due to some other 32-bit C libraries I am using, the library should be available in 32-bit python.
  • I would like to keep the eventual bitrate as low as possible, since I might need to send this data stream to multiple destinations.
  • The available data I have is a 512x512 numpy array containing the current frame.
  • I would like to have the option to encrypt my data stream, since the video stream might contain privacy-sensitive data.

I have tried installing aiortc, which is a python WebRTC implementation, but this did not install (some PyAv problem, guessing it is not compatile with 32-bit python).

Thanks in advance for your recommendations.

1 Answer 1

1

One way to do this is to use the LEADTOOLS Multimedia toolkit and its Streaming SDK. (Disclosure: I'm a LEADTOOLS employee).

The toolkit has Win32 C/C++ APIs, so you will most likely be able to use it with your current project. It includes documentation and demos that show how to implement the following features that should achieve your requirements:

  1. Generate video stream from image frames: C/C++ The GenAVI demo shipped with the toolkit does just that.
  2. Manipulate individual frames to implement encryption, decryption or any type of processing: LEAD Video Callback Filter.
  3. Perform lossless compression (can’t use lossy compression if you’re going to decrypt the data later on): Video codecs that support lossless compression like the LEAD Screen Capture Encoder.
  4. Streaming and receiving the video data: The Streaming SDK supports several protocols and technologies, the most suitable of which depends on your requirements and target recipients.

There’s a free evaluation edition you can try on this page. During evaluation, technical support through email and chat is also free, so you can discuss the best approach to use the toolkit with our support engineers before you decide whether to purchase the toolkit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.