一般使用 ffmpeg 程式時,當執行 ffmpeg 之後,程式不管轉檔是否完成都會繼續往下執行,如果需要使用轉檔完成的檔案進行後續處理就會發生錯誤。
這時只要根據下面程式思路修改即可
參考
結合這兩個程式思路,自行修改為下列程式
1 2 3 4 5 6 7 8 9 10 |
<?php $cmdMP3 = ' ffmpeg -i '. $_FILES['SoundFile']['tmp_name'] .' -acodec mp3 -b:a 196k -vn -y "'. $_FILES['SoundFile']['tmp_name'] .'.mp3" '; $handle = shell_exec($cmdMP3); // 迴圈等待轉檔處理完成 while($handle == true) { break; } // ffmpeg 轉檔處理完成才會往下執行 |
推薦在聲音轉檔才使用,影片因為轉檔時間需要更久,應該會遇到 HTTP Server Timeout 逾時的問題。
--
2,002 total views, 1 views today