The on what we do in the .

一直對(duì)編輯視頻很有興趣,上大學(xué)的時(shí)候?qū)W了一些視頻剪輯的軟件,已經(jīng)好久沒用了,現(xiàn)在也都忘的差不多了。前段時(shí)間弄了個(gè)頭條號(hào),想發(fā)一些視頻,就又想做視頻這回事了,要不還真快忘記自己曾經(jīng)做過一些小視頻了(捂臉)。其實(shí)現(xiàn)在想要做的視頻,不需要做很多特效,也不需要做配字幕等這些內(nèi)容,所以不是很難,但是要做的量比較多,算起來要花費(fèi)的時(shí)間也不算少,但是又不想在這件事上浪費(fèi)太多的時(shí)間,嗯,這個(gè)時(shí)候懶的特質(zhì)就該展示它的作用了。既然自己不想做,那就只好想辦法讓機(jī)器做了,于是就發(fā)現(xiàn)還真不是我一個(gè)人這么懶(哈哈)。我用的是 mac,就以這個(gè)系統(tǒng)為例記錄一下這個(gè)過程,至于 怎么辦,自己試吧,因?yàn)槲覒械迷嚹莻€(gè)了。

既然是用 ,當(dāng)然第一步就是要下載 。使用 下載。

brew

下載好之后就可以開始了

-i ".mp4" -ss 2 -to 3 - copy - copy ".mp4"

-i ,-ss,-to 等等都是 的命令。這樣一條命令只能操作一次,如果想要剪輯多條,這樣的命令就要重復(fù)多次,顯然不能用剪一次換個(gè)參數(shù)再輸入一次這條命令,這樣效率太差了不是我們想要的,那么該用什么方法呢?多次執(zhí)行一個(gè)操作,我們第一個(gè)想到的就是循環(huán), 但如何在終端里循環(huán)呢,這又是個(gè)問題。首先想到既然要寫循環(huán),那么就需要使用一種語言來寫,面這種語言在運(yùn)行時(shí)可以控制 執(zhí)行循環(huán)里的命令。這時(shí)就想到用 來寫, 的教程可以參考菜鳥教程。

startTime=0
endTime=0
length=3697
i=0
while [ $endTime -le $length ]; do
?#statements
?i=$[$i+1]
?endTime=$[$startTime+280]
?ffmpeg -i /Users/dddd/Downloads/S01.E01.mp4 ?-ss $startTime -to $endTime -acodec copy -vcodec copy $i.mp4
?startTime=$[endTime]
?
?
done

這是我寫一個(gè)每隔 280s 切割一個(gè)視頻的腳本,一個(gè)多小時(shí)的視頻切成 14 個(gè)視頻也就只用了不到 5 分鐘,速度還是可以的,時(shí)間也很精確。對(duì)于視頻時(shí)間的問題,這幾天一直在遇到,在項(xiàng)目中也遇到了處理視頻的功能,有幾個(gè)功能需要根據(jù)一定的條件定位到相應(yīng)的時(shí)間點(diǎn)去播放,但是由于視頻關(guān)鍵幀的問題,定位的時(shí)候,它總是會(huì)尋找與當(dāng)前位置最近的關(guān)鍵幀,然后跳到關(guān)鍵幀的位置,這就會(huì)出現(xiàn)定位不準(zhǔn)的問題,如果用過格式工廠的朋友肯定也遇到過這樣的問題,目前對(duì)于截視頻找到了這種方法,但是對(duì)于在項(xiàng)目中定位不準(zhǔn)的問題還是沒能好的解決方法。在網(wǎng)上也找過一些資料,大多都是通過添加視頻關(guān)鍵幀的方法解決的,但這不是我想要的方法,還在尋找當(dāng)中。。。