最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

(四)使用ffmpeg簡單裁剪素材,-ss、-t、-to參數(shù)的學(xué)習(xí)

2020-01-28 16:33 作者:思思陸思思  | 我要投稿

往期回顧,第三期轉(zhuǎn)碼完結(jié)篇。有不懂的都可以在動態(tài)評論問我。

這期就講講第一期那時提到的怎么多快好省地剪視頻。我們平時剪視頻通常用各種剪輯軟件,打開軟件、導(dǎo)入導(dǎo)出都要一些時間,要是遇上體積大的文件,配置低的電腦尤其花時間干等。而且,對于做視頻的朋友,大量的音視頻素材比如影視劇等如果自己不額外剪一剪,導(dǎo)入就要全部導(dǎo)入,以后還得伴隨工程文件保存以便工程加載,非常不便。后來up看了下面這篇專欄

開始學(xué)習(xí)ffmpeg剪輯,非常感謝這個大佬。所以寫這篇剪輯教程也是想更通俗地進(jìn)行講解。


先說點(diǎn)題外話。如果對ffmpeg的各種參數(shù)感興趣的話,可以用“ffmpeg -h”命令行查詢。如下:(具體就不截了)

ffmpeg -h 查看基本參數(shù)設(shè)置

ffmpeg -h long 查看更多的參數(shù)設(shè)置

ffmpeg -h full 查看全部的參數(shù)設(shè)置(包括全部容器格式和編解碼器明確的設(shè)置參數(shù),非常長)(好像在這個cmd窗口都看不完,推薦https://www.iteye.com/blog/keren-1773536)

ffmpeg -h type=name 查看全部的解碼器、編碼器、解封裝器、封裝器、濾鏡、比特流濾鏡參數(shù)設(shè)置



一、-ss、-t與-to參數(shù)的介紹

“-ss”,time offset,起始時間。我們通過“-ss”參數(shù)來設(shè)定要從媒體文件的哪個時間點(diǎn)開始進(jìn)行操作,而在這個時間點(diǎn)之前的部分就默認(rèn)舍棄不作輸出了。

例如,想要從視頻的2秒開始做什么處理,我們輸入“-ss 2”。如果想要很精確的時間也可以,比如“-ss 1:23.456”,表示設(shè)定從1分23秒456毫秒開始。


“-t”,duration,持續(xù)時間。通過“-t”參數(shù)來設(shè)定我們對音視頻等媒體文件的編輯處理要持續(xù)多長時間。最后看命令行具體內(nèi)容來看是否輸出這段時間所記載的部分。

與“-ss”一樣的道理,“-t 4”表示需要持續(xù)4秒進(jìn)行處理所輸入的文件,“-t 0:14.678”表示持續(xù)14秒678毫秒處理所輸入的文件。至于這個“處理”是什么編輯操作等,就要看其它具體的參數(shù)設(shè)置了,“-t”只是像提供一個“記錄時間”的秒表而已。


“-to”,stop,截止時間。通過“-to”參數(shù)來設(shè)定對媒體文件的編輯處理到什么時間點(diǎn)結(jié)束。需要這個用法的話,“-to”一定要寫在“-i”前面??!否則就和“-t“一樣是描述持續(xù)時間的了。

“-to”與“-t”類似,用法也是諸如“-to 5”、“-to 2:18.963”,表示到5秒、2分18秒963毫秒截止。我們也可以用“-ss”與“-to”來剪輯,這樣是設(shè)定好起點(diǎn)和終點(diǎn),“-to”的時間點(diǎn)減去“-ss”的就是最后輸出文件的時長。


因此,本文中我們運(yùn)用的就是“-ss”、“-t”或“-to”來進(jìn)行簡單剪輯。“-ss”與“-t”這樣是設(shè)定好起點(diǎn)和持續(xù)時間,“-t”所記錄的時間就是最后輸出文件的時長?!?ss”與“-to”是設(shè)定好起點(diǎn)與終點(diǎn),而不用想持續(xù)時間是多長。


二、簡單剪輯音視頻及字幕

(這里以視頻為例,音頻、字幕文件同理的)現(xiàn)在有個很明顯的問題:我怎么知道想剪的,比如精確到多少毫秒的時間點(diǎn)數(shù)據(jù)?

up推薦用potplayer播放器查看(官網(wǎng)下載http://potplayer.daum.net/?lang=zh_CN)(資源下載http://www.potplayercn.com),當(dāng)然一些播放器也都能做到查看當(dāng)前播放的精確時間點(diǎn)。

up就以potplayer為例,任意打開一個視頻,按鍵盤的“D”鍵定位到當(dāng)前播放的上一幀,“F”鍵定位當(dāng)前的下一幀(對音頻好像只有“D”鍵有用,不過感覺也行了)。左上角便有精確的當(dāng)前時間點(diǎn)數(shù)據(jù)。


剪輯的命令行如下:

ffmpeg -ss 0:14.000 -i .\in.mp3 -c copy .\out.mp3

ffmpeg -i .\in.flv -ss?1:23.456?-t 15?-c copy .\out.mp4

(從起點(diǎn)開始保留15秒,順便轉(zhuǎn)碼)

ffmpeg -ss 2 -to 0:16.123?-i .\in.ass -c copy .\out.ass

(設(shè)定剪輯的起點(diǎn)與終點(diǎn),保留中間14秒123毫秒)

上述要注意兩點(diǎn):如果只有“-ss”設(shè)定的起點(diǎn),那么意思是ffmpeg將剪去從最開頭0:00到起點(diǎn)0:14這14秒,相當(dāng)于剪去開頭,留下的進(jìn)行最后輸出(就是前面說的默認(rèn)舍棄的解釋)。

如果沒有“-c copy”也能剪,相當(dāng)于讓ffmpeg以它自己默認(rèn)方式重新編碼輸出,這固然費(fèi)力不討好了。當(dāng)然如果是想轉(zhuǎn)碼的話,也可以自行設(shè)定想要的編碼格式,剪輯和轉(zhuǎn)碼一起做。就只是剪輯的話,up建議大家加上“-c copy”。如下圖:

這表示從13秒開始,持續(xù)42秒,也就是到原本視頻的55秒截止,保留中間這段,其它不要。像這樣把“-t”寫在“-i”前面也是可以的。紅圈的speed表示運(yùn)行速度,一般像這種幾百的數(shù)就是1秒左右就完成剪輯和輸出了(就是“高效轉(zhuǎn)碼”以及記得“-c copy”的道理)。


up建議將“-ss”、“-t”、“-to”放在“-i”的前面,如“ffmpeg -ss 12 -to 27?-i ……”。這涉及到ffmpeg命令行工作原理理解的問題。將這些“剪輯參數(shù)”放在輸入文件前面的話意思是讓ffmpeg先對輸入文件進(jìn)行“時間定位”,再去做接下來的其它事(這樣剪輯省時但可能不夠精確)。“剪輯參數(shù)”放在“-i”后面也可以,相當(dāng)于讓ffmpeg做完其它事后,最后對輸出文件進(jìn)行“時間定位”之后輸出(這樣剪輯比較費(fèi)時但也許更精確)。

所以說,ffmpeg剪輯也不是沒有缺點(diǎn)。例如可能會出現(xiàn)開頭一點(diǎn)音畫缺失、剪輯是時間點(diǎn)還是不夠準(zhǔn)確的情況。這樣的話up建議將想剪的片段的起點(diǎn)往前5秒,終點(diǎn)往后5秒左右,這樣無論對平時觀看或者作素材用也影響不大。(另可參考https://blog.csdn.net/matrix_laboratory/article/details/53157383)



三、視頻畫面截圖、導(dǎo)出幀圖片

有時看影視劇,想把某些過癮的畫面存下來另作它用,或者有些需要“暫停成功”的畫面,自己很難去截到,我們就可以用ffmpeg來存圖,或者對已有圖片進(jìn)一步地裁剪。


很簡單,視頻畫面截圖或者導(dǎo)出幀圖片的命令行如下:

ffmpeg -ss 19 -to 21 -i .\in.mp4 .\%03d.png

表示導(dǎo)出從視頻的第19秒到21秒,這2秒內(nèi)的所有幀圖片。

這里解釋兩點(diǎn)?!皫笔恰皫省钡囊馑迹瑔挝皇恰皫?每秒”,每秒多少幀就是說每秒播放了多少張圖片(不懂可以自行去搜一搜“幀”)?!?03d”的意思是讓電腦自己以3位數(shù)字從小到大依次命名輸出的文件,例如001.png、002.png……

還有其它各種形式面對各種需求的視頻截圖命令行,這個感興趣自己探究吧,up就以后再說啦。(up覺得這條已經(jīng)很普適很夠用了)如下圖:

從視頻第13秒開始,導(dǎo)出之后3秒的所有幀圖片,一共75張

可以自己挑選最喜歡的截圖~



感謝你觀看到這里。

(四)使用ffmpeg簡單裁剪素材,-ss、-t、-to參數(shù)的學(xué)習(xí)的評論 (共 條)

分享到微博請遵守國家法律
定安县| 新建县| 宽城| 临邑县| 双辽市| 扎赉特旗| 专栏| 贵阳市| 甘德县| 兴业县| 依安县| 通城县| 桐庐县| 济宁市| 连云港市| 遵化市| 东兰县| 上虞市| 葵青区| 化州市| 木兰县| 萨迦县| 武宁县| 托克逊县| 辽阳县| 承德县| 大冶市| 福海县| 九江县| 永康市| 葫芦岛市| 凌云县| 鹤山市| 玛曲县| 东丰县| 闵行区| 太康县| 小金县| 弥渡县| 乌兰县| 驻马店市|