合併並轉換mp3為影片檔,並插入一個靜態的圖片,上傳到Youtube

合併並轉換mp3為影片檔,並插入一個靜態的圖片,上傳到Youtube

合併並轉換mp3為影片檔,並插入一個靜態的圖片,上傳到Youtube

Merging some mp3 files and converting it to a video with a static photo and uploading to youtube

  • 先下載ffmpeg,到下載首頁,選擇對應的作業系統,並進到下載頁面,例如筆者是用Windows,所以選擇Windows builds from gyan.dev
  • 有很多下載點,例如選擇第一個ffmpeg-git-full.7z
  • 下載後解壓縮,可以用WinRAR或是7-Zip,解壓縮之後不用安裝,把解壓縮出來的資料夾名稱改簡單一點,放到方便使用命令提示字元切換到的目錄下,例如C:\User\Downloads\ffmpeg
  • 把要合併及轉換的mp3檔案及圖片檔也放到C:\User\Downloads\ffmpeg\bin
  • 開啟命令提示字元,切換到C:\User\Downloads\ffmpeg\bin,切換的指令如圖所示,如果要退回上一層目錄可以用cd..,有些資料夾名稱太複雜,可以輸入資料夾的前幾個字後,按tab鍵就可以自動切換。
  • 首先要先製作一個文字檔,記載要合併的mp3檔案,把這個文字檔存成mylist.txt,一樣放到C:\User\Downloads\ffmpeg\bin。如果有很多mp3檔案,可以在mp3所在的目錄之下,輸入dir > mylist.txt,就可以把該資料夾的檔案名稱輸出成一個文字檔,需要用Excel資料剖析出需要的部分
  • 建議先用小檔案測試,確認全部步驟都可以順利執行。
  • 接著合併這些mp3檔案,指令如下,檔案名稱可以自己視情況修改,例如這裡就是合併成output.mp3這個檔案。這個方法是從這裡學來的。(如果出現Line 1: unknown keyword,很有可能是mylist.txt的編碼有問題,建議儲存成UTF-8跟ANSI都試試看。)
    ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3
    
  • 把要合併的圖檔一樣放到C:\User\Downloads\ffmpeg\bin,假設在這裡我們要合併cover.jpg圖檔,接著我們要把合併的mp3檔案連同圖片檔轉換成影片檔,指令如下,檔案名稱及格式可以自己視情況修改,這裡我們就是輸出成result.mp4。轉換速度大約是1秒處理60秒的內容,轉換後的大小跟原本的mp3檔差不多。這個方法是從這裡學來的。(如果是wav檔案,要先用ffmpeg -i output.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3轉換成mp3後再進行下一步。)
    ffmpeg -loop 1 -framerate 1 -i cover.jpg -i output.mp3 -c:v libx264 -preset veryslow -crf 0 -c:a copy -shortest result.mp4
    
  • 注意到使用上面的方法時,可能會出現height not divisible by 2的錯誤訊息,如果是這樣的話,就按照錯誤訊息的指示,把要插入的圖檔的高度修改成偶數就好。如果用Windows Media Player播放輸出的檔案時,看不到圖片,也可能是Windows Media Player本身的問題,不是沒有成功,可以將影片上傳到Youtube試試看可不可以正確顯示圖片。

No comments:

Post a Comment