2012-07-10 97 views
0

我在ffmpeg中使用以下命令生成縮略圖。它工作完美。使用ffmpeg從flv視頻在給定時間生成圖像

ffmpeg -i videofile.flv -an -ss 01:00:00 -an -r 1 -vframes 1 -y ".$outputdir."/".$groupid."_".$i.".jpg 

但問題是,我有不同的尋求從那裏縮略圖必須生成而現在蔭使用其運行速度非常慢循環的視頻的時間。我發現原因是ffmpeg尋求每個命令給定的時間。我試圖分叉這個過程,但沒有效果。有沒有反正我可以優化命令,這樣可以避免重複的查找?

+0

你的問題我不清楚。你想從一個輸入獲得多個輸出圖像(帶有不同的'-ss'值)嗎?請注意,ffmpeg使用問題更適合於superuser.com,並且此問題可以在此處遷移。 – LordNeckbeard 2012-07-10 06:35:07

+0

是......正好對於不同的ss值 – thecodejack 2012-07-10 12:29:56

+0

所有輸入的「-ss」值是否相同,並且值是否一致(例如每隔60秒)? – LordNeckbeard 2012-07-10 18:02:13

回答

0

經過大量的研究,發現它不可能。 FFMPEG應該考慮爲此添加選項...它節省了大量的執行時間...

2

試試這個:

ffmpeg -ss 01:00:00 -i videofile.flv .... 

使用-ss作爲輸入選項往往是快,但可能不太準確。 FFmpeg將立即先尋找,然後開始以您想要的-ss值解碼;但是,使用-ss作爲輸出選項時,它可能不是精確的框架,它會在您的-ss值之前額外解碼所有內容。

+0

,但我知道這一個...我有一套-ss值,我想用在一個命令.. – thecodejack 2012-07-11 05:00:27

+0

@LordNeckbeard我didn' t知道它可能不太準確,我猜我嘗試過我很幸運...... – Fengari 2012-07-11 09:14:32

+0

@CodeJack在你最初發布的命令行中,-ss選項不會在ffmpeg.exe後發送IMEDIATELLY,它在-i之後。你必須把-ss作爲命令中的第一件事,它會更快。但正如你所看到的,它可能無法解碼你想拍攝快照的確切幀,它可能有點偏離,甚至會導致「壞屏幕截圖」。 – Fengari 2012-07-11 09:18:58