2012-11-23 52 views
1

我使用ffmpeg和php將視頻文件轉換爲.flv。 這裏是我的代碼使用ffmpeg和php轉換視頻時間減少了

$cmd = $this->ffmpeg . ' -i ' . $filein . ' -sameq -ar 22050 -b 2048k -f ' . $parameters['convert'] . ' ' . $fileout; 

$parameters['convert'] = flv

它的許多文件偉大的工作,但是當我上傳和~80MB and ~9minutes .mp4 file,它是成功地轉換爲FLV,但時間減少到2秒。什麼可能是問題和可能的解決方案。

上傳限制設置爲200MB

+1

不要使用'-sameq'。請參閱['sameq'並不意味着「相同的質量」](http://superuser.com/a/478550/110524)。請直接嘗試ffmpeg,幷包含完整的控制檯輸出。 – LordNeckbeard

+0

我已經嘗試刪除'-sameq'。我知道這意味着相同的量化器 – Ravi

+0

這比包含ffmpeg控制檯輸出重要。 – LordNeckbeard

回答

1

如果你想保持 「同等質量」(-sameq意思是 「同一量化」)使用方法:

的ffmpeg -i leaving.mp4 -C副本-copyts leaving.flv

(-copyts 「複製時間戳」 是有助於保持音頻/視頻格式轉換時同步)

你應該從不轉換格式時使用-sameq。 (你將從mp4轉到flv。)如果你將mp2下采樣到mp2或類似的,你可能想複製量化器,你會使用-sameq。至於更改時間,無論何時轉換採樣率,都會產生程序計算長度錯誤的風險。例如,ffmpeg並不總是正確計算48k mp3的長度。嘗試將44.1k mp3上傳到48k,然後檢查ffmpeg和Windows Media Player中每個文件的長度。對於同一個文件,您可能會得到4種不同的長度。

+0

謝謝......這個問題已經由@ LordNeckbeard的解決方案解決了,這個解決方案非常類似。我接受這一點是爲了讓其他用戶知道在上述情況下適合我的是什麼。 +1用於轉化建議。 – Ravi