2018年11月19日 星期一

Win 7 IE 點選excel 連結檔時預設使用Office Excel開啟


有民眾反應用IE 點選excel連結檔時 excel都會嵌在 IE裡,沒有預設使用Office Excel開啟


解決方式:可下載Microsoft的修正檔


2018年11月15日 星期四

[ffmpeg]如何將多筆mp3音樂檔轉成mp4影片檔上傳到Youtube?


身邊有一些音樂檔想放上雲端,隨時想聽就可以聽,
本來想用Google雲端備份,但Google雲端空間只有15G,
音樂檔太多很容易就塞滿了....又不想花錢買額外空間

後來腦筋就動到Youtube來啦~

不過...Yotube只可以上傳影片檔,聲音檔無法耶...怎麼辦?

只要將音樂檔 加上圖片做成影片檔,這樣不就可以上傳到Youtube了!

要怎麼把音樂檔合併圖片為影片檔呢?
網路上有一些Online Convert,只要上傳音樂檔案 + 圖片檔就可以幫你轉換成影片檔了,
還有整批批次幫你製作的功能咧~

不過...要我把一些私藏的音樂傳到別人的伺服器,感覺就像是把檔案送他一樣,這種事我無法接受...
( 雖然上傳到youtube也是有同樣的隱憂,但是至少人家是大公司,對於資料的保護上會比較完善。)

所以最好的方式是單機版的方式囉!
找了一下解決方案,很多單機版都是要錢錢的....恩...這年頭萬事都要省...

後來找到 FFmpeg
Wiki: FFmpeg 是一個自由軟體,可以執行音訊和視訊多種格式的錄影、轉檔、串流功能。

嗯!不錯耶,就用這個吧,只不過這須要以下指令的方式跑,感覺比較不"友善"一點
不過,沒關系,把要用的指令找出來後,以後就依樣畫葫蘆,也不會麻煩到哪裡。

因為是要備份音樂CD中的檔案,搭配 excel 可以簡單的做到多筆檔案的批次轉換的功能,也不用花時間自已寫一個小工具。

有須要的可以 下載我做的範例檔 批次mp3轉mp4範例.7z 來參考



照著以下步驟做就可以順利轉檔囉

(1)備好一張圖檔 (圖檔必須是2的倍數,不然轉檔會失敗唷!)
     範例中是 img.jpg

(2)要轉檔的音樂檔( 多筆的話請批次命名讓檔名是以序號結尾,方便excel公式套用)
     範例中用 music 01.mp3, music 02.mp3 二個檔案來示範
     如果檔名是不規則的,可以透過 dir指命把檔名匯出,指命如下
      dir *.mp3 /b > filename.txt

(3)開啟"產生指令.xls" 把所須的資訊填入
     如下黃色區塊,把你的圖檔、音樂檔及要輸出的檔名等資訊填一,
     最後在 I 欄 會依公式串出 所須的指令,再將這些指令複制起來


(4)用"筆記本"開啟 convert.bat 將步驟(3)的指令複制起來貼上後存檔



(5)在DOS 命令列上執行 convert.bat 開始進行轉檔

(6)轉檔結束後在目錄中會出現二個 mp4的檔案,打開來看看是不是成功轉檔啦~




這邊使用到的FFmpeg指令範例說明如下:

ffmpeg -loop 1 -i "img.jpg" -i "sound.mp3" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest "result.mp4"

使用到的指令參數說明如下:( 更多詳細的參數選項可參考ffmpeg官網文件 )

  • -i    輸入的檔名

          我們有 圖片檔 、音樂檔 這二個輸入 img.jpg,  sound.mp3

  • -loop 是否重覆,0/1 表示 否/是

         我們使用一張圖檔,所以設定 -loop 1,讓這張圖每分每秒都重複加上

  • -pix_fmts 顯示可用的像素格式 RGB, YUV ...等

         這邊我們使用的是 yuv420p

  • -shortest 當最短的輸入串流結束後立即完成編碼

         因為有設 -loop 1,會一直無限的循環,所以使用這個參數,當音樂檔串流結束,就完成編碼,否則會一直編碼下去,永遠都出不出啦..........

聲音相關參數

  • -b:a  設定每Channel的流量

          我們設定為 192kbps

  • -c:a  設定聲音編解碼器

          我們使用aac

影像相關參數

  • -c:v  設定影像影像編解碼器
          libx264 表示轉檔為 H.264 格式



  • -tune FFmpeg X264的參數,主要配合影像類型和視覺優化的參數,stillimage 表示靜態圖編碼時使用
補充:
     如果聲音檔太長,也可以用ffmpeg 剪短一點,語法範例如下:
ffmpeg -ss 3 -t 60 -i inputfile.mp3 -acodec copy outputfile.mp3

-ss : 表示從第幾秒開始
-t: 表示最終剪裁完後的長度(例如 60秒)