Scripts to generate video files and live streams for performance testing of PeerTube
Find a file
2023-03-08 05:30:17 +01:00
gen_pattern_720p_60s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
gen_pattern_1080p_60s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
gen_pattern_sine.sh Add beeps every 10 seconds in the pattern stream, when the time elapsed overlay hits the borders, to allow checking for audio/video sync 2020-12-04 23:21:56 +01:00
gen_random_720p_60s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
gen_random_1080p_60s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
gen_random_noise.sh Change the font used for the text overlays to one that is installed by default on Debian 10 2020-12-04 11:21:27 +01:00
LICENSE Add LICENSE 2020-12-03 15:05:03 +00:00
Mire_720p.png Add pattern images 2020-12-03 18:11:06 +01:00
Mire_1080p.png Add pattern images 2020-12-03 18:11:06 +01:00
README.md Added v4l script 2023-03-01 23:12:38 +00:00
stream_pattern_720p_4h.sh Add helper for 4h stream in 720p 2020-12-03 18:14:03 +01:00
stream_pattern_720p_300s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_pattern_720p_3600s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_pattern_1080p_300s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_pattern_1080p_3600s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_pattern_sine.sh Add beeps every 10 seconds in the pattern stream, when the time elapsed overlay hits the borders, to allow checking for audio/video sync 2020-12-04 23:21:56 +01:00
stream_random_720p_300s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_random_720p_3600s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_random_1080p_300s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_random_1080p_3600s.sh Add scripts and update readme 2020-12-03 16:46:57 +01:00
stream_random_noise.sh Change the font used for the text overlays to one that is installed by default on Debian 10 2020-12-04 11:21:27 +01:00
stream_v4l_device.sh WIP 2023-03-08 05:30:17 +01:00

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 audio/video streams. Tested with ffmpeg versions:
    • 4.1.6
    • 4.2.4
    • 4.3.5
  • bc to compute the encoding buffer size from the specified video bitrate

To install the dependencies on Debian 10 (Buster):
sudo apt install ffmpeg bc

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
  • stream_v4l_device.sh
    send a continuous live stream and save a copy to files, one every 10 minutes, with video from a V4L2 device, a timestamp overlay and sine wave audio or camera audio (see comments in the file)

Run the scripts with no parameter 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-defined 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