Ubuntu
如何在ffmpeg的輸出文件名中包含輸入文件名
我想從影片中提取幀作為圖像,並且我希望將每個圖像命名為. 我怎樣才能做到這一點?
*InputFileName*_*number*.bmp
我嘗試了以下命令:
ffmpeg -i clip.mp4 fr1/$filename%d.jpg -hide_banner
但它沒有按我的意願工作。例如,
clip_1.bmp
我想得到 ,但我得到的是1.bmp
。我正在嘗試將它與 GNU 並行使用來提取多個影片的圖像,而且我對這兩者都是新手,所以我想要一些動態文件命名之王
input
->input_number.bmp
。
$filename
作為 shell 變數處理。關於什麼
ffmpeg -i clip.mp4 fr1/clip_%d.jpg -hide_banner
或者
$mp4filename=clip ffmpeg -i ${mp4filename}.mp4 fr1/${mp4filename}_%d.jpg -hide_banner
?
**更新:**要與 gnu 並行使用,您可以使用並行
-i
選項:-i
通常該命令在其命令行末尾傳遞參數。使用此選項,命令中的任何“{}”實例都將替換為參數。
生成的命令行可能很簡單
parallel -i ffmpeg -i {} fr1/{}_%d.jpg -hide_banner -- *.mp4
如果您可以使用輸出文件中的副檔名。
請注意,您實際上可能不想在傳統硬碟上並行執行它,因為並發 i/o 會減慢它的速度。
**編輯:**修復了@DonHolgo 指出的變數引用。