RunPod üzerinde GPU-accelerated FFmpeg concurrent stream testleri için hazırlanmış script'ler.
gpu-test.sh- Ana test script'i (CPU test'ten modifiye edilmiş)setup-runpod.sh- RunPod ortamını hazırlamak için setup script'i
- Public test videolar (BigBuckBunny, ElephantsDream vb.)
- FFmpeg synthetic sources (testsrc2, smptebars, mandelbrot)
- 100+ concurrent stream desteği
- Kamera dosyası gerekliliğini ortadan kaldırır
- NVIDIA H.264/H.265 hardware encoding
- GPU kullanım monitoring
- NVENC session tracking
- CPU vs GPU karşılaştırması
CONCURRENT_TESTS=(2 5 10 20 30 50 75 100 125 150)
GPU_ENCODER="h264_nvenc" # veya hevc_nvenc
GPU_PRESET="p1" # p1 (en hızlı) - p7 (en kaliteli)
GPU_CQ="30" # Kalite (23-51, düşük = yüksek kalite)# RunPod container'ında çalıştır
./setup-runpod.shchmod +x gpu-test.sh
./gpu-test.sh# GPU kullanımını izle
watch -n 1 nvidia-smi
# Detaylı GPU monitoring
nvtop- CPU: Yüksek CPU kullanımı, sınırlı concurrent stream
- GPU: Düşük CPU kullanımı, yüksek concurrent stream kapasitesi
- Memory: GPU memory kullanımı vs RAM kullanımı
- Speed: Encoding hızı karşılaştırması
- GPU utilization (%)
- GPU memory usage (MB)
- NVENC encoder sessions
- CPU usage (karşılaştırma için)
- Speed ratio
- FPS performance
- Success rate
- Consumer GPU: Maksimum 2-3 concurrent session
- Quadro/Tesla: Daha yüksek session limits
- Bu limitler concurrent stream sayısını etkileyebilir
- Multiple GPU kullanımı
- Mixed encoding (CPU + GPU)
- Session pooling stratejileri
Test sonuçları test_results/gpu_concurrent_results.csv dosyasında saklanır:
# Sonuçları görüntüle
cat test_results/gpu_concurrent_results.csv | column -t -s,
# GPU memory kullanım grafiği için
grep -v test_id test_results/gpu_concurrent_results.csv | \
awk -F, '{print $2 "," $8}' | sort -nBu yapı ile gerçek kameralar olmadan 100+ concurrent stream testi yapabilir ve CPU vs GPU performans karşılaştırması elde edebilirsiniz.