如果已取的到影片,想截取特定幾分幾秒後開始的聲音為mp3,可以使用 ffmepg 指令:
ffmpeg -ss 07:43 -t 60 -i 來源檔名 輸出檔名.mp3
ffmpeg 在 windows / mac OS / linux 平台都可以下載和執行。
指令說明: -ss 是開始時間 -t 要是截取多長
如果macOS 沒有上面的指令,請使用 brew install ffmpeg
從youtube 下載的 mp3 有些來源就怪怪的,像是有一小段的空白,或片尾加入宣傳訂閱的聲音,有了這個指令就可以去掉不想要的片段。
只是預設沒有多下額外的參數,會「重新編碼」速度上會慢一點,但還勉強可以接受,不會等太久。
我們想要取影片中的一小段時… 可以利用ffmpeg下個指令就好了
ffmpeg -ss 00:20:48.500 -t 00:01:00 -i INPUT.mp4 OUTPUT.mp4
- -ss 是指影片的第幾分幾秒開始剪
- -t 是指要剪多少時間, 如果不使用就會直接到檔案最後。
- -acodec copy -vcodec copy 這個參數不是預設值,沒有下的話會變成預設的編碼,會很慢。
較佳解法:
ffmpeg -ss 開始時間 -t 長度 -i 原來檔案.mp4 -acodec copy -vcodec copy 輸出檔案.mp4
服用了參數 -acodec copy -vcodec copy ,剪接即使是 2~3小時的mp3,幾乎都是一秒內搞定。如果來源檔是mp3就不用加上面這個參數,反正一下子就處理完了,是為了要處理超長的影片才需要使用。
範例1:直接全部內容轉mp3
ffmpeg -i video.mp4 audio.mp3
範例2:mp3第10秒起,剪下6秒
ffmpeg -ss 10 -i input.mp3 -t 6 output.mp3
範例3:mp3去掉前30秒
ffmpeg -ss 30 -i inputfile.mp3 outputfile.mp3
-ss 是指影片的第幾分幾秒開始剪
-t 是指要剪多少時間
要去掉尾部的秒數,直接使用 -t 參數。
例如我有一部影片檔案大小 4.7GB 要分割成 2個小檔案,所以分別執行下面二行指令即可完成任務:
- 前1小時,切成一個獨立檔案: ffmpeg -t 01:00:00 -i 蟻人1.Ant.Man.\(2015\).mp4 -acodec copy -vcodec copy output1.mp4
- 第2個小時到最後,切成一個獨立檔案:
ffmpeg -ss 01:00:00 -i 蟻人1.Ant.Man.\(2015\).mp4 -acodec copy -vcodec copy output2.mp4
詳細的剪接說明:
https://max-everyday.com/2017/08/youtube-mp3/