3v4l.org

run code in 500+ PHP versions simultaneously
<?php <?php class StreamEncoder { // دالة لإطلاق بث القناة الجديدة public function startChannel($channelName, $videoInput, $audioInput, $udpIP, $udpPort) { $ffmpegCmd = "ffmpeg"; // 1. مدخلات الكابتشر (V4L2) $inputs = "-f v4l2 -i $videoInput -f alsa -i $audioInput"; // 2. فلاتر معالجة الصورة في الوقت الفعلي (تعديل الإضاءة والتشبع) $filters = "-vf \"eq=brightness=0.05:saturation=1.2\""; // 3. التشفير العتادي القوي باستخدام كارت Nvidia مع تحديد معدل البت $videoEncoding = "-c:v h264_nvenc -preset p4 -profile:v high -b:v 3000k -maxrate 3500k -bufsize 6000k"; $audioEncoding = "-c:a aac -b:a 128k -ar 48000"; // 4. الإخراج وتوجيه حزم UDP للشبكة بحجم ثابت مناسب للبث $output = "-f mpegts \"udp://$udpIP:$udpPort?pkt_size=1316\""; // تجميع السطر النهائي للأمر مع تفعيل التسريع العتادي (hwaccel) $fullCommand = "$ffmpegCmd -hwaccel cuda $inputs $filters $videoEncoding $audioEncoding $output"; // تنفيذ الأمر في الخلفية (Background Process) للحفاظ على استمرار عمل الواجهة $pid = $this->executeInBackground($fullCommand); return $pid; } // دالة تشغيل الأوامر في الخلفية واستخراج رقم العملية (PID) لمراقبتها private function executeInBackground($command) { $output = array(); // هذا السطر مخصص لبيئة لينكس لتشغيل العملية وفصلها عن مسار الواجهة exec(sprintf("%s > /dev/null 2>&1 & echo $!", $command), $output); return $output[0]; // إرجاع الـ PID } } // تجربة إنشاء وتشغيل قناة $encoder = new StreamEncoder(); $pid = $encoder->startChannel( "Channel_Movie_01", "/dev/video0", // مسار جهاز الفيديو "hw:0", // مسار جهاز الصوت "239.255.12.42", // عنوان البث (Multicast IP) "1234" // منفذ البث (Port) ); echo "تم إطلاق القناة بنجاح تحت عملية رقم: " . $pid; ?>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.100.0080.00416.97
8.5.90.0100.00916.89
8.5.80.0100.00816.70
8.5.70.0100.00816.93
8.5.60.0100.00716.87
8.5.50.0100.00616.63
8.5.40.0080.00116.62
8.5.30.0080.00716.51
8.5.20.0050.00416.47
8.5.10.0090.00916.70
8.5.00.0100.00716.63
8.4.250.0140.00819.48
8.4.240.0060.00419.67
8.4.230.0040.00619.54
8.4.220.0090.00819.66
8.4.210.0150.00519.52
8.4.200.0110.00819.75
8.4.190.0140.00419.74
8.4.180.0070.00519.79
8.4.170.0100.01119.83
8.4.160.0090.00719.78
8.4.150.0180.00419.88
8.4.140.0050.00817.79
8.4.130.0090.00917.78
8.4.120.0120.00717.84
8.4.110.0100.01217.96
8.4.100.0080.00417.91
8.4.90.0060.00318.03
8.4.80.0060.00317.80
8.4.70.0080.00617.86
8.4.60.0040.00517.96
8.4.50.0050.00317.96
8.4.40.0100.00617.93
8.4.30.0040.00617.85
8.4.20.0090.00617.83
8.4.10.0050.00417.88
8.3.330.0150.00418.36
8.3.320.0110.00718.36
8.3.310.0070.00518.38
8.3.300.0090.01018.30
8.3.290.0100.01018.43
8.3.280.0080.01118.39
8.3.270.0070.01316.82
8.3.260.0090.00316.82
8.3.250.0040.00416.82
8.3.240.0060.00816.82
8.3.230.0050.00316.74
8.3.220.0030.00516.82
8.3.210.0060.00216.81
8.3.200.0050.00416.80
8.3.190.0050.00416.95
8.3.180.0020.00816.81
8.3.170.0050.00416.81
8.3.160.0110.00716.80
8.3.150.0050.01016.81
8.3.140.0070.00916.78
8.3.130.0090.00916.81
8.3.120.0070.00416.81
8.3.110.0090.00916.73
8.3.100.0070.00316.80
8.3.90.0090.00616.81
8.3.80.0090.01016.81
8.3.70.0050.00416.79
8.3.60.0110.00816.80
8.3.50.0080.00616.79
8.3.40.0110.00818.09
8.3.30.0070.00918.09
8.3.20.0120.00718.04
8.3.10.0090.00718.04
8.3.00.0070.00518.04
8.2.330.0080.00218.00
8.2.320.0050.00618.09
8.2.310.0050.00418.07

preferences:
41.88 ms | 793 KiB | 4 Q