peertube-performance-test-kit/README.md

1.8 KiB

PeerTube Performances Test Kit

Scripts to generate video files and live streams for performance testing of PeerTube

Dependencies

These scripts rely on ffmpeg to generate the videos files and RTMP streams. Tested with ffmpeg versions:

  • 4.1.6
  • 4.2.4

Mains scripts

There are 4 main scripts :

  • gen_pattern_sine.sh generate video file with static pattern, time overlay (seconds elapsed from start) and sine wave stereo audio
  • gen_random_noise.sh : generate video file with random video, time overlay (seconds elapsed from start and local timestamp) and sine wave stereo audio
  • stream_pattern_sine.sh : send live stream and save a copy to file with static pattern, time overlay (seconds from start) and sine wave audio
  • stream_random_noise.sh : send live stream and save a copy to file with random video, time overlay (seconds elapsed from start and local timestamp) and sine wave audio

Run the scripts with no paramters for help.

The "random_noise" scripts are designed to produce video streams that are very hard to encode. These are to test worst case scenarii

The "pattern_sine" scripts produce video streams that are lighter to process (use less CPU to encode on peertube side) and compress to a smaller size.

Helper scripts

The other scripts are helpers that are just sortcuts to call the main scripts with some pre-devfined parameters values. The names of these scripts should be self explanatory :

  • gen_pattern_1080p_60s.sh
  • gen_pattern_720p_60s.sh
  • gen_random_1080p_60s.sh
  • gen_random_720p_60s.sh
  • stream_pattern_1080p_300s.sh
  • stream_pattern_1080p_3600s.sh
  • stream_pattern_720p_300s.sh
  • stream_pattern_720p_3600s.sh
  • stream_random_1080p_300s.sh
  • stream_random_1080p_3600s.sh
  • stream_random_720p_300s.sh
  • stream_random_720p_3600s.sh