消除-to 10

消除-to 10

ffmpeg -y -ss 0 -to 10 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg在 macOS 上測試了一個 ffmpeg 命令來產生縮圖,它運作良好,而在 ubuntu 18.04.2(AWS EC2) 上,對於 ffmpeg,它給出了相同命令的錯誤。

錯誤 :

Option to (record or transcode stop time) cannot be applied to input url abc.mp4 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for input file abc.mp4.
Error opening input files: Invalid argument

我正在使用AWS EC2(ubuntu 18.04.2),使用sudo apt install ffmpeg。如果我必須以不同的方式安裝它,或者如果我在這裡遺漏了一些東西,有人可以幫我解決這個問題嗎?提前致謝。

答案1

消除-to 10

  • 您輸出的是單幀,因此不需要使用 聲明持續時間停止時間-to。單一影像沒有持續時間,因此-to無論如何都會被忽略。
  • -ss(開始時間偏移)的值為0不執行任何操作,因此您也可以將其刪除。

例子:

    ffmpeg -y -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg

與上面相同,但在 30 秒時獲取螢幕截圖:

    ffmpeg -y -ss 30 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg

取得 22 小時 15 分 5 秒的螢幕截圖,但輸出品質較低:

    ffmpeg -y -ss 22:15:05 -i acb.mp4 -q:v 5 -frames:v 1 abc.jpeg

如果需要,您可以使用別名-q:v來代替。-qscale:v

為什麼它可以在 macOS 而不是 Ubuntu 上運行

-to選項以前只是一個輸出選項。它已更新為也可用作輸入檔(之前已聲明-i)。您使用的 FFmpeg 3.4.6 太舊,無法用作-to輸入選項。 macOS 上的 FFmpeg 版本足夠新,可以用作-to輸入選項。但如前所述,輸出單一影像時-to不執行任何操作並被忽略。

另請參閱

相關內容