FFmpeg 轉檔-.mts 轉 mp4

ffmpeg 是一套方便但不好用影片格式轉換程式,但~至少不用錢 (free software)
來自 ffmpeg.org
目前自己使用的狀況是可以將現有 .mts檔 轉成.mp4 之後,個人覺得影片品質並沒有損傷太大,但是檔案Size 可以有效縮減-剩下1/2~1/3。

上傳 youtube時,可以縮短時間,避免被上游(ex 學校/ISP...etc)限流!!!。另外就是增加硬碟空間的使用率。

1.可到http://ffmpeg.zeranoe.com/builds/ 下載
2.建議下載 Static Versions的程式,好處是可以直接複製ffmpeg.exe到任何位置都可以正常執行。

其實,不好用-是指 沒有GUI(Graphical User Interface),而是只能透過command Line執行。
所以,我寫了一個簡易批次檔,避免每次都下達參數

以下是我寫的簡易批次檔,可以將所有影片格式轉成mp4。
我設定轉出到 J:\課程資料\mp4 ,可自由修改自己喜歡的位置。

---
@echo off
set outdir=J:\課程資料\mp4

ffmpeg.exe -y -i %1 -filter:v yadif -acodec aac -ar 44100 -ab 192k -ac 2 -vcodec libx264 -crf 23 -preset ultrafast -async 512 -strict -2 -threads 1 %outdir%\%1.mp4
----

參數說明:

-y
是指覆蓋舊檔,如果有的話

-filter:v yadif
效果同 deinterlace,沒加的話,我的經驗是顏色會怪怪的

-acodec aac -ar 44100 -ab 192k -ac 2
聲音部份用 aac 編碼,採樣 44100 赫茲,聲音頻寬192k,2 聲道

-vcodec libx264
影像部份用 x264 編碼,

-preset ultrafast
使用快速組態
(編碼速度快,但檔檔size 偏大,可改用slow ,速度變慢,檔案會比較小)

-crf 20 是想要品質固定為優先。 (數字越小,影像畫質越好)

-async 512 是說影音部份的同步,每 512 個聲音採樣就對齊一次
(這行一定要加,沒加的話,轉檔後會出現影、音不同步)

-strict –2
有這個才能使用 aac 編碼,因為目前還在實驗中才會需要這個參數

-threads 1
這個參數的好處是 電腦還可以作別的事情。

在現在的電腦(2 core,4 threads)、作業系統為 win 時,指定只用一個 thread,故約佔用 25% 的 cpu 使用率。指定為 2 就是使用50% ,其餘類推。

如果指定為 0 ,則是要求CPU全速跑編碼,可以用更快的轉換速度取得檔案,但前提是你可以忍受電腦無法作其他事情。

參考來源:
1.http://ffmpeg.zeranoe.com/builds/
2.http://trac.ffmpeg.org/wiki/x264EncodingGuide#FAQ
3.http://www.dotblogs.com.tw/rickyteng/archive/2012/05/10/72091.aspx

照例,附上一張阿宅照片.. T.T

發佈留言

較新的 較舊