71 lines
4.7 KiB
Bash
Executable File
71 lines
4.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Quick test script for different encoding combinations
|
|
# Tests default settings and 2-3 other combinations
|
|
|
|
TEST_FILE="../tests/artifacts/testvid.webm"
|
|
RESULTS="../tests/logs/test_results.txt"
|
|
|
|
echo "══════════════════════════════════════════════════════════════" | tee "$RESULTS"
|
|
echo "GWENCODER PHASE 2 TEST RUNS" | tee -a "$RESULTS"
|
|
echo "══════════════════════════════════════════════════════════════" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
echo "Test file: $TEST_FILE" | tee -a "$RESULTS"
|
|
echo "Started: $(date)" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
|
|
# Test 1: Default settings (Fast mode)
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
echo "TEST 1: Default Settings (--fast mode)" | tee -a "$RESULTS"
|
|
echo "Settings: Custom quality preset, stream reordering enabled, CRF 28" | tee -a "$RESULTS"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
start1=$(date +%s)
|
|
./gwencoder --fast 2>&1 | tee ../tests/logs/test1_output.log | grep -E "(Encoding|CRF|preset|audio|Reordering|complete|size|Duration|Resolution)" | tee -a "$RESULTS"
|
|
end1=$(date +%s)
|
|
duration1=$((end1 - start1))
|
|
output1=$(ls -t testvid-AV1-Fast-GWELL.mkv 2>/dev/null | head -1)
|
|
size1=$(du -h "$output1" 2>/dev/null | cut -f1)
|
|
echo "Duration: ${duration1}s | Output: $output1 ($size1)" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
|
|
# Test 2: Web mode (different container, higher CRF)
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
echo "TEST 2: Web Mode (--web)" | tee -a "$RESULTS"
|
|
echo "Settings: WEBM container, CRF 35, stream reordering enabled" | tee -a "$RESULTS"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
start2=$(date +%s)
|
|
./gwencoder --web 2>&1 | tee ../tests/logs/test2_output.log | grep -E "(Encoding|CRF|preset|audio|Reordering|complete|size|Duration|Resolution)" | tee -a "$RESULTS"
|
|
end2=$(date +%s)
|
|
duration2=$((end2 - start2))
|
|
output2=$(ls -t testvid-AV1-Web-GWELL.webm 2>/dev/null | head -1)
|
|
size2=$(du -h "$output2" 2>/dev/null | cut -f1)
|
|
echo "Duration: ${duration2}s | Output: $output2 ($size2)" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
|
|
# Test 3: Tiny mode (maximum compression)
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
echo "TEST 3: Tiny Mode (--tiny)" | tee -a "$RESULTS"
|
|
echo "Settings: MP4 container, CRF 42, maximum compression" | tee -a "$RESULTS"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" | tee -a "$RESULTS"
|
|
start3=$(date +%s)
|
|
./gwencoder --tiny 2>&1 | tee ../tests/logs/test3_output.log | grep -E "(Encoding|CRF|preset|audio|Reordering|complete|size|Duration|Resolution)" | tee -a "$RESULTS"
|
|
end3=$(date +%s)
|
|
duration3=$((end3 - start3))
|
|
output3=$(ls -t testvid-AV1-Tiny-GWELL.mp4 2>/dev/null | head -1)
|
|
size3=$(du -h "$output3" 2>/dev/null | cut -f1)
|
|
echo "Duration: ${duration3}s | Output: $output3 ($size3)" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
|
|
# Summary
|
|
echo "══════════════════════════════════════════════════════════════" | tee -a "$RESULTS"
|
|
echo "TEST SUMMARY" | tee -a "$RESULTS"
|
|
echo "══════════════════════════════════════════════════════════════" | tee -a "$RESULTS"
|
|
echo "Test 1 (Fast): ${duration1}s | $size1" | tee -a "$RESULTS"
|
|
echo "Test 2 (Web): ${duration2}s | $size2" | tee -a "$RESULTS"
|
|
echo "Test 3 (Tiny): ${duration3}s | $size3" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
echo "Completed: $(date)" | tee -a "$RESULTS"
|
|
echo "" | tee -a "$RESULTS"
|
|
echo "Full results saved to: $RESULTS" | tee -a "$RESULTS"
|
|
|