📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
reelsolusturmascripti.demodesign.com.tr
/
system
/
ajax
📝
video-sesini-srt-yap.php
← Geri Dön
<?php include '../../config.php'; include '../inc/sitedata.php'; $referer = $_SERVER['HTTP_REFERER']; if ($referer == "") { echo "<script>location='home.php'; </script>"; die; } $dataidprocess = $_GET['dataidprocess']; //İÇERİK VERİLERİ $queryCheck = mysqli_query($connect, "SELECT * FROM icerikler WHERE id = '$dataidprocess'"); $fetchCheck = mysqli_fetch_array($queryCheck); $sesdosya = $fetchCheck['sesdosyasi']; $hangitemplate = $fetchCheck['iceriktemplate']; $icerikOzet = $fetchCheck['icerikozet']; $apiKey = $chagptapikey; $filePath = '../../sounds/'.$sesdosya.''; $model = 'whisper-1'; $responseFormat = 'verbose_json'; // Initialize a cURL session $ch = curl_init(); // Set the URL and other appropriate options curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/audio/transcriptions'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer $apiKey", 'Content-Type: multipart/form-data' ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Set the form data $postFields = [ 'file' => new CURLFile($filePath), 'model' => $model, 'response_format' => $responseFormat, 'word_timestamps' => 'true', 'timestamp_granularities[]' => 'word', 'language' => 'tr' ]; curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); // Execute the request and fetch the response $response = curl_exec($ch); // Check for errors if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); } else { // Decode the JSON response $responseData = json_decode($response, true); // Check if "words" key exists and extract it if (isset($responseData['words'])) { $words = $responseData['words']; $wordTimeStamp = json_encode($words); } else { $wordTimeStamp = "--"; } } // Close the cURL session curl_close($ch); //SRT OLUŞAN DOSYAYI VERİTABANINA KAYDET $updateSrtDosya = mysqli_query($connect, "UPDATE icerikler SET soundsrtmetin = '$wordTimeStamp' WHERE id = '$dataidprocess'"); if($updateSrtDosya){ //DOSYA İSİM OLUŞTURMA // Türkçe karakterleri dönüştürmek function seoFriendlyUrl($str) { // Türkçe karakterleri dönüştürmek $turkce = array('ş', 'Ş', 'ı', 'İ', 'ç', 'Ç', 'ü', 'Ü', 'ö', 'Ö', 'ğ', 'Ğ'); $duzgun = array('s', 'S', 'i', 'I', 'c', 'C', 'u', 'U', 'o', 'O', 'g', 'G'); $str = str_replace($turkce, $duzgun, $str); // Büyük harfleri küçük harfe dönüştürmek $str = strtolower($str); // Geçersiz karakterleri kaldırmak $str = preg_replace('/[^a-z0-9\s-]/', '', $str); // Boşlukları tire ile değiştirmek $str = preg_replace('/[\s-]+/', '-', $str); // Tekrarlayan tireleri tek bir tireye indirmek $str = preg_replace('/-+/', '-', $str); // Başta ve sonda olan tireleri kaldırmak $str = trim($str, '-'); return $str; } $seoUrl = seoFriendlyUrl($icerikOzet); $randido = rand(11111111,99999999); $seoUrl = "$seoUrl-$randido"; //OLUŞAN MP3 DOSYASINI TEMPLATE ÜZERİNE GÖMELİM $divdiv = "$seoUrl.mp4"; $videoPath = '../videos/'.$hangitemplate.''; $newAudioPath = '../../sounds/'.$sesdosya.''; $outputPath = '../../downloaded/'.$seoUrl.'.mp4'; $removeAudioCmd = "ffmpeg -i $videoPath -c copy -an temp_$seoUrl.mp4 2>&1"; $addNewAudioCmd = "ffmpeg -i temp_video_no_audio.mp4 -i $newAudioPath -c:v copy -c:a aac -strict experimental $outputPath 2>&1"; exec($removeAudioCmd, $output, $returnVar); if ($returnVar !== 0) { echo "<font class='text-danger'>Video sesini kaldırma işlemi başarısız oldu.</font><br> Hata mesajı:\n"; echo implode("\n", $output); exit(1); } exec($addNewAudioCmd, $output, $returnVar); if ($returnVar !== 0) { echo "<font class='text-danger'>Yeni sesi ekleme işlemi başarısız oldu.</font><br> Hata mesajı:\n"; echo implode("\n", $output); exit(1); } unlink('temp_'.$seoUrl.'.mp4'); //VERİTABANI GÖMME $updateOutPutFile = mysqli_query($connect, "UPDATE icerikler SET outputfile = '$divdiv' WHERE id = '$dataidprocess'"); if($updateOutPutFile){ $queryDurumUpX = mysqli_query($connect, "UPDATE icerikler SET durum = 2 WHERE id = '$dataidprocess'"); echo' '; }else{ echo "<font class='text-danger'>Update işlemi yapılamadı, adım : 2 - updateOutPutFile</font><br>"; } //OLUŞAN MP3 DOSYASINI TEMPLATE ÜZERİNE GÖMELİM }else{ echo '<font class="text-danger"> .srt uzantılı dosya oluşturulurken hata meydana geldi.#'.$responseFormat.' Lütfen api kontrolü yapın veya sistem administrator ile iletişime geçin.'; } ?>
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula