This package provides Membrane Multimedia Framework element that can be used to encode video streams using IntelMediaSDK and x264.
Documentation is available at HexDocs
Follow the Intel's guide to get the runtime and development environment installed: https://github.com/Intel-Media-SDK/MediaSDK/wiki/Intel-media-stack-on-Ubuntu
Add the following line to your deps
in mix.exs
. Run mix deps.get
.
{:membrane_element_msdk_h264, "~> 0.1.0"}
sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev
Linux x86-64, tested and docs provided for Ubuntu.
Will work on all Intel processors with graphical chipsets - basically any Intel processor that is not 10 years old.
For details check: https://github.com/intel/media-driver#supported-platformsk
System: Ubuntu Intel i7-6650U CPU @ 2.20GHz (2 cores / 4 threads).
Sample: Big_Buck_Bunny_1080_10s_30MB.mp4 converted to raw format (890MB) (https://test-videos.co.uk/bigbuckbunny/mp4-h264)
Bitrate: 6000 Kbps.
Encoder | Time | CPU usage |
---|---|---|
simple_simple_3_encode_vmem | 5s | 70% |
Membrane MSDK | 5s | 300% |
Membrane FFMpeg | 20s | 400% (CPU is bottleneck) |
Copyright 2020, Software Mansion