簡體   English   中英

PHP - 使用ffmpeg將圖像轉換為視頻

[英]PHP - Converting images to video using ffmpeg

我很擅長PHP,但對ffmpeg和exec很新。現在我已經通過ssh成功安裝了ffmpeg。我在這里提到了一些stackoverflow 並在下面的代碼中找到了使用幾個圖像制作視頻。

<?php

echo exec('ffmpeg -f image2 -i image%d.jpg video.mpg');

?>

我在同一個文件夾中有image1.jpg和image2.jpg。我運行這個PHP代碼但沒有發生任何事情...... video.mpg在哪里得到保存? 以及如何檢查exec函數是否成功運行或如何調試?任何幫助表示贊賞。

如果成功運行, video.mpg會保存在您當前的工作目錄中。 如果需要,您可以將文件名更改為絕對路徑。

要檢查exec()函數是否成功運行,您可以傳遞第三個參數以獲取退出狀態:

exec('ffmpeg -f image2 -i image%d.jpg video.mpg', $output, $exit_status);

如果成功, $exit_status將獲得0值,因此:

if ($exit_status === 0) {
    // ran fine
} else {
    // failed...
}

如果它很糟糕,你可能想要在$output上得到錯誤。 您可以將STDERR移動到STDOUT忽略原始STDOUT

exec('ffmpeg -f image2 -i image%d.jpg video.mpg 2>&1 >/dev/null', $output, $exit_status);

然后你可以轉儲$output來看看你在STDERR得到了什么:

if ($exit_status !== 0) {
    print implode("\n", $output);
}

如果video.mpg文件已經存在,命令將卡住,您可能希望將-y標志傳遞給ffmpeg以覆蓋任何現有文件:

exec('ffmpeg -y -f image2 -i image%d.jpg video.mpg 2>&1 >/dev/null', $output, $exit_status);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM