Test Transcoding Performance

Transcoding requires a great amount of processing power and even powerful CPUs will struggle to perform with high quality transcoding. We have a few sets of Transcoding Benchmarks already completed and outlined in our Manual which should give you a good idea of what your server can handle: Transcoder System Benchmarks 

If you would like to complete testing on your own server, you can follow these steps:

    1. You will first need to get a test file in the resolution of your choice you can use your own files, or you can download a 720p file using the following wget command:

wget https://mirror.mediacp.net/download/common/Jellyfish_720P.mp4

    2. Run the following FFMPEG command to transcode the test file in the same way our Nginx-Rtmp Services do:

/usr/local/mediacp/ffmpeg/bin/ffmpeg -re -stream_loop -1 -i Jellyfish_720P.mp4 -c:v libx264 -preset fast -b:a 96k -f null /dev/null

    3. You should then start to see an output similar to the following:

Output #0, null, to '/dev/null':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
encoder : Lavf60.20.100
Stream #0:0(und): Video: h264, yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbn (default)
Metadata:
creation_time : 2022-08-30T08:46:08.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc60.37.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1(und): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
creation_time : 2022-08-30T08:46:08.000000Z
handler_name : Stereo
vendor_id : [0][0][0][0]
encoder : Lavc60.37.100 pcm_s16le
frame= 221 fps= 25 q=29.0 size=N/A time=00:00:07.30 bitrate=N/A speed=0.811x

If you see speed of less than 1 that means the CPU cannot keep up with the transcoding. For example, time=0.644 is below real-time and shows FFMPEG is not able to transcode fast enough. Speed should always be 1.x or extremely close (i.e 0.98) or your will run into a variety of issues.

Just because you have a powerful CPU it doesn't mean that the CPU is great with video. CPU's are not designed for transcoding work, limit of encoding threads can slow down even when CPU usage isn't high, limited by cache, usage of each thread and many other variables. A way around this is having a dedicated or VPS with a GPU which will be far better at transcoding, however historically VPSs with GPUs have been cost prohibitive. 

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Troubleshooting Facebook Stream Targets (NGINX-RTMP)

Troubleshooting steps for facebook stream target disconnect. Check abuse log to ensure no...

Troubleshooting Facebook Stream Targets (NGINX-RTMP)

Troubleshooting steps for facebook stream target disconnect. Check abuse log to ensure no...

Upgrade MySQL database from 5.6 to 8.0

There is a significant performance advantage by upgrading the MySQL service running on the...

Stream Target is not working or stuck on Starting

If the status is stuck on Starting it likely means that Wowza is having difficulties connecting...

Do i need to reinstall Wowza Media Server?

Our installation software will install a fresh version of the very latest Wowza Media Server...