Skip to content

Latest commit

 

History

History
executable file
·
48 lines (33 loc) · 1.56 KB

README.md

File metadata and controls

executable file
·
48 lines (33 loc) · 1.56 KB

Script Generator for Testing FFMpeg Library Using Novelty Search

This program generates command lines that target FFMpeg Library. It uses the novelty search to generate efficiently test data passed as parameters to the command lines. Example of command line:

ffmpeg -y -i inputVideo1.avi -r 2000 -b 100000k -bt 100000 -vcodec libx264 -pass 6566541 -minrate 414241441 -maxrate 400065412 -bufsize 10k -keyint_min 250000 -sc_threshold 100000 -i_qfactor 10 -threads 10 -an output.mp4

The generated command lines are saved within a script file (Shell). Since we are using novelty search, we have generated 10000 configurations.

First to run our stress tool execute :

mvn install 

The generated file will be generated at :

/target/ffmpeg/ffmpegScript.sh

We did target 3 configurations for using FFMpeg

public interface examplesInterface {

public String ffmpegVideoEncoding_AVI2MP4(int r, int b, int bt, int pass,int minrate, int maxrate, int bufsize, int keyint_min,int sc_threshold, float i_qfactor, int threads) ;

public String ffmpegVideoEncoding_AVI2FLV(int b, int ar, int ab, int h,int w, int r, int vframes, int threads,int t, int g) ;

public String ffmpegAudioEncoding_WAV2M4A(int h, int w, int qa, int ba, int pass, int ac, int threads);

}

We used 2 video files and 1 audio file as samples to encode in this project. You can find them at:

/target/ffmpeg/

Finally, to excute the output file (ffmpegScript):

chmod +x ffmpegScript.sh
./ffmpegScript.sh