We have implemented very fast MXF converter which is working on NVIDIA GPU. This is high performance JPEG2000 encoder and decoder. It could be used for fast JPEG2000 decompression and further video processing. Our MXF converter can process input MXF files or streams on GPU and then transform them into MP4 or alike. MXF converter could be a part of video transcoding pipeline.
Features of MXF Converter on CUDA
One can convert MXF files to different video or audio formats at the same time. Just choose output format from profile drop-down for each file respectively and then hit convert image button to finish all file conversions.
How to convert MXF files with FFmpeg?
Apart from our sample application from Fastvideo SDK which is intended for MXF encoding or decoding on GPU, we've also implemented a solution for FFmpeg to be able to convert and to transcode MXF files or streams with FFmpeg.
In general, if we need to convert MXF files with FFmpeg, we have to create a codec which is capable of JPEG2000 decoding and to compile FFmpeg with source codes of that codec. Currently JPEG2000 decoding at FFmpeg is done via OpenJPEG library, which is sofisticated, but quite slow, because J2K algorithm is complicated and CPU-based processing just can't give good performance even at multithreading, and this is vitally important for realtime applications.
Slow performance of FFmpeg with OpenJPEG was the reason why we've implemented FFmpeg J2K codec for MXF encoding or decoding on CUDA. That solution is fully based on our JPEG2000 decoder from Fastvideo SDK and is fast at J2K decoding.
Current version of our FFmpeg J2K codec (which is called Fastvideo_J2K) is working with MXF files to accomplish J2K decoding or transcoding on GPU. We've implemented on CUDA just J2K decoding part, all the rest is done by FFmpeg.